<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/internal/catch_unique_ptr.hpp, branch constexpr_approx</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>Fix references to license file</title>
<updated>2022-10-28T09:30:15+00:00</updated>
<author>
<name>Lars Toenning</name>
</author>
<published>2022-10-28T09:22:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f1084fb30990fe40c8f5b70034970c7eb4e1da72'/>
<id>f1084fb30990fe40c8f5b70034970c7eb4e1da72</id>
<content type='text'>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The license file was renamed with 6a502cc2f5fedd59b3495b58708f0d6d987ed9e1
</pre>
</div>
</content>
</entry>
<entry>
<title>Tear out trivial_abi on unique_ptr</title>
<updated>2022-01-04T23:04:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2022-01-04T23:04:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fff494c10ad223d8fe7732d227be9e3cede6097e'/>
<id>fff494c10ad223d8fe7732d227be9e3cede6097e</id>
<content type='text'>
Turns out people are bad at not combining code compiled with GCC
and Clang, and the improvement from `trivial_abi` on `unique_ptr`
is not worth the maintenance cost of having this be an opt-in
change.

Closes #2344
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turns out people are bad at not combining code compiled with GCC
and Clang, and the improvement from `trivial_abi` on `unique_ptr`
is not worth the maintenance cost of having this be an opt-in
change.

Closes #2344
</pre>
</div>
</content>
</entry>
<entry>
<title>Use CATCH_FORWARD in Detail::make_unique</title>
<updated>2021-09-30T18:27:38+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-09-30T18:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=23f0d94b4f00179c26a6a6b881df67246fd0e921'/>
<id>23f0d94b4f00179c26a6a6b881df67246fd0e921</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve documentation on Detail::unique_ptr</title>
<updated>2021-09-30T18:17:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-09-30T18:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=77c7e9803eb841f7cec3ec5fa4c239fa091b62c2'/>
<id>77c7e9803eb841f7cec3ec5fa4c239fa091b62c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add [[trivial_abi]] to Detail::unique_ptr when compiled with Clang</title>
<updated>2021-09-30T18:11:22+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-09-30T18:10:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1d79683ea8d64b2f4fffc68c66624096595c3575'/>
<id>1d79683ea8d64b2f4fffc68c66624096595c3575</id>
<content type='text'>
This decreases code size and improves performance of passing around
`unique_ptr` instances by value somewhat. It virtually guarantees
problems when combining code compiled with Clang and GCC, but that
was never supported anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This decreases code size and improves performance of passing around
`unique_ptr` instances by value somewhat. It virtually guarantees
problems when combining code compiled with Clang and GCC, but that
was never supported anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add deep const to unique_ptr::operator-&gt;</title>
<updated>2021-05-19T09:00:53+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2021-05-19T09:00:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=023b5306b444ebe3c20a008cdd150cf5510ff36d'/>
<id>023b5306b444ebe3c20a008cdd150cf5510ff36d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add standardized copyright notice + SPDX identifier to source files</title>
<updated>2020-08-30T13:43:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-08-30T13:43:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=90aeffb97d6942d16f75a56b11e10fc0b010995a'/>
<id>90aeffb97d6942d16f75a56b11e10fc0b010995a</id>
<content type='text'>
This should also be done for test files, but that has lower priority.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should also be done for test files, but that has lower priority.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement a simplified variant of std::unique_ptr&lt;T&gt;</title>
<updated>2020-05-31T13:08:47+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-24T21:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=41bbaa6d573a598fe0796fd0e391ed57eae62e30'/>
<id>41bbaa6d573a598fe0796fd0e391ed57eae62e30</id>
<content type='text'>
This simplified variant supports only a subset of the functionality
in `std::unique_ptr&lt;T&gt;`. `Catch::Detail::unique_ptr&lt;T&gt;` only supports
single element pointer (no array support) with default deleter.

By removing the support for custom deleters, we also avoid requiring
significant machinery to support EBO, speeding up instantiations of
`unique_ptr&lt;T&gt;` significantly. Catch2 also currently does not need
to support `unique_ptr&lt;T[]&gt;`, so that is not supported either.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplified variant supports only a subset of the functionality
in `std::unique_ptr&lt;T&gt;`. `Catch::Detail::unique_ptr&lt;T&gt;` only supports
single element pointer (no array support) with default deleter.

By removing the support for custom deleters, we also avoid requiring
significant machinery to support EBO, speeding up instantiations of
`unique_ptr&lt;T&gt;` significantly. Catch2 also currently does not need
to support `unique_ptr&lt;T[]&gt;`, so that is not supported either.
</pre>
</div>
</content>
</entry>
</feed>
