| 1079 | /// control and vtable. |
| 1080 | template <typename Capacity, typename = void> |
| 1081 | struct internal_capacity { |
| 1082 | /// We extend the union through a technique similar to the tail object hack |
| 1083 | typedef union { |
| 1084 | /// Tag to access the structure in a type-safe way |
| 1085 | data_accessor accessor_; |
| 1086 | /// The internal capacity we use to allocate in-place |
| 1087 | struct alignas(Capacity::alignment) { |
| 1088 | unsigned char data[Capacity::capacity]; |
| 1089 | } capacity_; |
| 1090 | } type; |
| 1091 | }; |
| 1092 | template <typename Capacity> |
| 1093 | struct internal_capacity< |
| 1094 | Capacity, std::enable_if_t<(Capacity::capacity < sizeof(void*))>> { |
nothing calls this directly
no outgoing calls
no test coverage detected