| 372 | /// Store the allocator inside the box |
| 373 | template <bool IsCopyable, typename T, typename Allocator> |
| 374 | struct box : private Allocator { |
| 375 | friend box_factory<box>; |
| 376 | |
| 377 | T value_; |
| 378 | |
| 379 | explicit box(T value, Allocator allocator_) |
| 380 | : Allocator(std::move(allocator_)), value_(std::move(value)) { |
| 381 | } |
| 382 | |
| 383 | box(box&&) = default; |
| 384 | box(box const&) = default; |
| 385 | box& operator=(box&&) = default; |
| 386 | box& operator=(box const&) = default; |
| 387 | ~box() = default; |
| 388 | }; |
| 389 | template <typename T, typename Allocator> |
| 390 | struct box<false, T, Allocator> : private Allocator { |
| 391 | friend box_factory<box>; |
nothing calls this directly
no outgoing calls
no test coverage detected