<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_assertionresult.cpp, branch v2.13.7</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>Remove (mostly) unused overloads of StringRef operator +</title>
<updated>2019-09-08T19:01:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-08T19:01:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9f4c4777a5136a3e1f276398799961e9ccb4b572'/>
<id>9f4c4777a5136a3e1f276398799961e9ccb4b572</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not blindly access empty StringRefs</title>
<updated>2019-09-08T15:44:56+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-08T15:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e2b3443fe7211f265c95f878d06d8fd4abf38f27'/>
<id>e2b3443fe7211f265c95f878d06d8fd4abf38f27</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make StringRef's operator std::string explicit</title>
<updated>2019-09-08T13:58:10+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-08T12:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7b865daccc7bba2dcc25a4f0b9ea7348b1b4d61f'/>
<id>7b865daccc7bba2dcc25a4f0b9ea7348b1b4d61f</id>
<content type='text'>
This way it is explicit when there is a `StringRef` -&gt; `std::string`
conversion and makes it easier to look for allocations that could
be avoided.

Doing this has already removed one allocation per registered test
case, as there was a completely pointless `StringRef` -&gt; `std::string`
conversion when parsing tags of a test case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way it is explicit when there is a `StringRef` -&gt; `std::string`
conversion and makes it easier to look for allocations that could
be avoided.

Doing this has already removed one allocation per registered test
case, as there was a completely pointless `StringRef` -&gt; `std::string`
conversion when parsing tags of a test case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Check for empty expression properly</title>
<updated>2019-09-08T12:35:01+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-08T10:17:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=14362533bb50596049f1b46bcc6d333208576a87'/>
<id>14362533bb50596049f1b46bcc6d333208576a87</id>
<content type='text'>
The old code was a left-over from the times when the
`capturedExpression` member was a `const char*`, which could always
be indexed. With the change to use `StringRef`, blindly indexing 0th
element is invalid, as it is not indexable part of a StringRef.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code was a left-over from the times when the
`capturedExpression` member was a `const char*`, which could always
be indexed. With the change to use `StringRef`, blindly indexing 0th
element is invalid, as it is not indexable part of a StringRef.
</pre>
</div>
</content>
</entry>
<entry>
<title>StringRef appends itself to std::string efficiently</title>
<updated>2018-02-28T15:02:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-02-28T15:02:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=950ccf4749dc3324543c0cba44f85ff81dd300af'/>
<id>950ccf4749dc3324543c0cba44f85ff81dd300af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove pointless StringRef -&gt; std::string conversions</title>
<updated>2017-11-13T12:08:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-11-13T12:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a06b6dc3ea58167e8ebd4cb8ebaa1391d6027a4d'/>
<id>a06b6dc3ea58167e8ebd4cb8ebaa1391d6027a4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix pointless type mismatch between StringRef and std::string</title>
<updated>2017-11-13T11:49:13+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-11-13T11:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f80f28e09aa5ea1d0a981c300d21bfe35c037f55'/>
<id>f80f28e09aa5ea1d0a981c300d21bfe35c037f55</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path</title>
<updated>2017-11-07T18:01:10+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-11-07T18:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=56e107561362147dc13f63294a9a5b90b855697b'/>
<id>56e107561362147dc13f63294a9a5b90b855697b</id>
<content type='text'>
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.

Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.

Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed expansion of _FALSE binary expression</title>
<updated>2017-10-13T18:45:19+00:00</updated>
<author>
<name>Phil Nash</name>
</author>
<published>2017-10-13T18:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=05b1ca28844d2b2770b929415393653474866a3d'/>
<id>05b1ca28844d2b2770b929415393653474866a3d</id>
<content type='text'>
- see #1051
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- see #1051
</pre>
</div>
</content>
</entry>
<entry>
<title>Sweep out some extra warnings</title>
<updated>2017-09-07T15:25:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2017-09-07T14:51:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9aa96712aec495d5a0d580f773c292803cc662aa'/>
<id>9aa96712aec495d5a0d580f773c292803cc662aa</id>
<content type='text'>
Swept:
`-Wpadded` in some places (where it caused extra size, instead of just
saying "hey, we padded struct at the end to align, just as standard says")
`-Wweak-vtables` everywhere (Clang)
`-Wexit-time-destructors` everywhere (Clang)
`-Wmissing-noreturn` everywhere (Clang)

The last three are enabled for Clang compilation going forward.

Also enabled `-Wunreachable-code` for Clang and GCC
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Swept:
`-Wpadded` in some places (where it caused extra size, instead of just
saying "hey, we padded struct at the end to align, just as standard says")
`-Wweak-vtables` everywhere (Clang)
`-Wexit-time-destructors` everywhere (Clang)
`-Wmissing-noreturn` everywhere (Clang)

The last three are enabled for Clang compilation going forward.

Also enabled `-Wunreachable-code` for Clang and GCC
</pre>
</div>
</content>
</entry>
</feed>
