<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_common.hpp, branch v1.12.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>Use char literal instead of string literal with 1 char</title>
<updated>2017-01-29T22:07:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-29T22:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=bcaa2f9646c5ce50758f8582307c99501a932e1a'/>
<id>bcaa2f9646c5ce50758f8582307c99501a932e1a</id>
<content type='text'>
In reality, this is a relatively small performance improvement,
especially with the previous improvements removing lots of superfluous
string handling, but still was measurable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In reality, this is a relatively small performance improvement,
especially with the previous improvements removing lots of superfluous
string handling, but still was measurable.
</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>Compilation warnings fix (#791)</title>
<updated>2017-01-27T08:32:58+00:00</updated>
<author>
<name>Alexander Ryabykin</name>
</author>
<published>2017-01-27T08:32:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=02a69b449f59605cf9fa7f865a3b6daa8d104a79'/>
<id>02a69b449f59605cf9fa7f865a3b6daa8d104a79</id>
<content type='text'>
* Compilation warnings fix

* Removed unused argument from reportFatal function
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Compilation warnings fix

* Removed unused argument from reportFatal function
</pre>
</div>
</content>
</entry>
<entry>
<title>Added benchmark for previous commit, added iterations to failure bench.</title>
<updated>2017-01-25T21:39:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-01-15T09:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=83f4b39680784e7ac6d8fd71ac8bc9541541385f'/>
<id>83f4b39680784e7ac6d8fd71ac8bc9541541385f</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>Fix transform without a lambda</title>
<updated>2016-10-14T21:28:15+00:00</updated>
<author>
<name>Billy Robert O'Neal III</name>
</author>
<published>2016-10-14T21:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c17ba0870a224d674f5c488f37b708b422956f99'/>
<id>c17ba0870a224d674f5c488f37b708b422956f99</id>
<content type='text'>
Catch apparently supports targeting C++03, so use an inline function
instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch apparently supports targeting C++03, so use an inline function
instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix transform narrowing warnings</title>
<updated>2016-10-14T21:16:21+00:00</updated>
<author>
<name>Billy Robert O'Neal III</name>
</author>
<published>2016-10-14T21:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=79f01100e33cb28af06be67da9755e36566970dc'/>
<id>79f01100e33cb28af06be67da9755e36566970dc</id>
<content type='text'>
Catch passes ::tolower into std::transform with string iterators.
::tolower has the signature int(int), which triggers a stealth narrowing
warning inside std::transform, because transform calls
*_Dest = _Fn(*_First), which implicitly narrows an int to a char.

For this particular application the narrowing is fine, so explicitly
narrow in a lambda.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch passes ::tolower into std::transform with string iterators.
::tolower has the signature int(int), which triggers a stealth narrowing
warning inside std::transform, because transform calls
*_Dest = _Fn(*_First), which implicitly narrows an int to a char.

For this particular application the narrowing is fine, so explicitly
narrow in a lambda.
</pre>
</div>
</content>
</entry>
</feed>
