Skip to content

Update and bug fixes for alignment #15

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
Sep 20, 2022
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
9c7cfbd
Fixed typo in comment
cschreib Sep 19, 2022
ebe3d14
Added static_assert for ref in make_observable
cschreib Sep 19, 2022
9e4509a
Rename decayed_type to object_type, do not decay
cschreib Sep 19, 2022
2892f93
Account for alignment in make_observable
cschreib Sep 19, 2022
0d142ac
Added static_assert for more unsupported cases
cschreib Sep 19, 2022
79bdce3
Port static asserts to the main pointer classes
cschreib Sep 19, 2022
4983e1a
Fixed typos in documentation
cschreib Sep 19, 2022
100fea0
Added missing "see" references
cschreib Sep 19, 2022
ce43eb9
Fixed UK/US spelling mismatch in error message
cschreib Sep 19, 2022
e992c2c
Added query eoft_always_has_block
cschreib Sep 19, 2022
2d077b7
Fixed inaccurate test name
cschreib Sep 19, 2022
0bdac7c
Fixed leaks if allocation of ctrl block fails
cschreib Sep 19, 2022
8840ce9
Attempt to fix OSX not able to run leak checks
cschreib Sep 19, 2022
b4d1be3
Handle EOFT cases with no pre-allocated block
cschreib Sep 19, 2022
b88e8ed
Attempt to fix Windows Debug CI
cschreib Sep 19, 2022
4936ff1
Added test for reusing block when not guaranteed
cschreib Sep 19, 2022
388a3b9
Simplify force_allocation_failure
cschreib Sep 19, 2022
2b4c984
Fixed spurious leaks detected on MSVC
cschreib Sep 19, 2022
a3f5f7d
Account for alignment reqs of the control block
cschreib Sep 19, 2022
f17debe
Fixed platform definitions in CMake
cschreib Sep 19, 2022
2e94195
Combine memory tracker into separate header file
cschreib Sep 19, 2022
a88f0b2
Updated heap/sack size comparison
cschreib Sep 19, 2022
35378d6
Updated speed benchmark to output markdown
cschreib Sep 19, 2022
d2938c9
Updated benchmark for linux
cschreib Sep 19, 2022
66691bd
Fixed warning about using member in catch block
cschreib Sep 19, 2022
b480de1
Added missing include
cschreib Sep 19, 2022
be350c9
Fixed defines usage for windows
cschreib Sep 19, 2022
a3ea7a8
Fixed incorrect target modified by function
cschreib Sep 19, 2022
b21d054
Fix test compilation for Emscripten
cschreib Sep 19, 2022
2f0b9df
Fix test compilation for Emscripten
cschreib Sep 19, 2022
45964a4
Do not use aligned new
cschreib Sep 19, 2022
bd82372
Add a catch for std::exception to display message
cschreib Sep 19, 2022
7a16d59
Update benchmarks
cschreib Sep 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added static_assert for ref in make_observable
  • Loading branch information
cschreib committed Sep 19, 2022
commit ebe3d1459d6784bd78689d3e99787f5b7be132d4
2 changes: 2 additions & 0 deletions include/oup/observable_unique_ptr.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -799,6 +799,8 @@ class basic_observable_ptr final {
*/
template<typename T, typename Policy, typename... Args>
auto make_observable(Args&&... args) {
static_assert(!std::is_reference_v<T>, "cannot create a pointer to a reference");

using observer_policy = typename Policy::observer_policy;
using control_block_type = basic_control_block<observer_policy>;
using decayed_type = std::decay_t<T>;
Expand Down