| 430 | /// Creates a box containing the given value and allocator |
| 431 | template <bool IsCopyable, typename T, typename Allocator> |
| 432 | auto make_box(std::integral_constant<bool, IsCopyable>, T&& value, |
| 433 | Allocator&& allocator_) { |
| 434 | return box<IsCopyable, std::decay_t<T>, std::decay_t<Allocator>>( |
| 435 | std::forward<T>(value), std::forward<Allocator>(allocator_)); |
| 436 | } |
| 437 | |
| 438 | template <typename T> |
| 439 | struct is_box : std::false_type {}; |