<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_common.h, branch v1.7.2</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>Removed single char contains()</title>
<updated>2017-02-13T08:20:45+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-02-13T08:19:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=67d513aa73cabff710e50680ec8ef25804b9fe09'/>
<id>67d513aa73cabff710e50680ec8ef25804b9fe09</id>
<content type='text'>
- had incorrect prototype anyway
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- had incorrect prototype anyway
</pre>
</div>
</content>
</entry>
<entry>
<title>Moved some std includes out from catch_common.h</title>
<updated>2017-02-12T11:17:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-02-12T11:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9012f9596405c979aed23d43269033c37d6595d1'/>
<id>9012f9596405c979aed23d43269033c37d6595d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added std:: qualification to some functions from C stdlib</title>
<updated>2017-02-11T22:20:09+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-26T18:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d0620c3495ad36df1918fbf720ea0946099620e1'/>
<id>d0620c3495ad36df1918fbf720ea0946099620e1</id>
<content type='text'>
This should solve #543, once Clara changes are in as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should solve #543, once Clara changes are in as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dev-performance-round2'</title>
<updated>2017-01-30T12:02:48+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-30T12:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=615aa071a8f741862c325e0aab47345cc5388169'/>
<id>615aa071a8f741862c325e0aab47345cc5388169</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "use sizeof(expr) for unevaluated syntax check"</title>
<updated>2017-01-30T10:56:29+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-30T10:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=15816c5760cd6752d9d74759773044c638096422'/>
<id>15816c5760cd6752d9d74759773044c638096422</id>
<content type='text'>
Using sizeof(expr) can trigger a compile-time error,
"lambda expressions are not allowed in an unevaluated context", when passing
expression containing lambda, like a std algorithm. This error is considered
a standard defect, as it is meant to prevent lambdas in decltype
or templates, but not in sizeof.

This reverts commit 227598af47e4d46f06cfcc879f206eb34e681275.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using sizeof(expr) can trigger a compile-time error,
"lambda expressions are not allowed in an unevaluated context", when passing
expression containing lambda, like a std algorithm. This error is considered
a standard defect, as it is meant to prevent lambdas in decltype
or templates, but not in sizeof.

This reverts commit 227598af47e4d46f06cfcc879f206eb34e681275.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use const char* for filename in SourceLineInfo</title>
<updated>2017-01-29T21:03:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-29T21:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=60f8ebec49c5bc58d3604bf1a72cd3f7d129bf2e'/>
<id>60f8ebec49c5bc58d3604bf1a72cd3f7d129bf2e</id>
<content type='text'>
This is sane, because those `const char*`s are given to us by compiler,
from the text area and thus we do not have to manage their lifetimes. We
also never want to change them.

Also moved copy constructor to compiler-generated methods, not sure why
it wasn't -- even before it was the same as a compiler would generate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is sane, because those `const char*`s are given to us by compiler,
from the text area and thus we do not have to manage their lifetimes. We
also never want to change them.

Also moved copy constructor to compiler-generated methods, not sure why
it wasn't -- even before it was the same as a compiler would generate.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dev-performance'</title>
<updated>2017-01-25T21:56:36+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-25T21:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4ce11d63a6b0ec93c345599a6255c31c657b25c1'/>
<id>4ce11d63a6b0ec93c345599a6255c31c657b25c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>use sizeof(expr) for unevaluated syntax check</title>
<updated>2017-01-19T20:25:27+00:00</updated>
<author>
<name>Mickey Rose</name>
</author>
<published>2017-01-19T14:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=227598af47e4d46f06cfcc879f206eb34e681275'/>
<id>227598af47e4d46f06cfcc879f206eb34e681275</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Various small string usage performance improvements.</title>
<updated>2017-01-15T09:05:01+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-15T08:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3b98a0166f7b7196eba2ad518174d1a77165166d'/>
<id>3b98a0166f7b7196eba2ad518174d1a77165166d</id>
<content type='text'>
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added missing #include so CATCH_CONFIG_COUNTER properly takes into account the current compiler.</title>
<updated>2017-01-11T16:27:16+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-01-11T16:23:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b68e8f9a24d557b4c3e0e5a6a613d7aafa916bf4'/>
<id>b68e8f9a24d557b4c3e0e5a6a613d7aafa916bf4</id>
<content type='text'>
May address #677 and #435 and others.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
May address #677 and #435 and others.
</pre>
</div>
</content>
</entry>
</feed>
