|
memory
|
A zero overhead dynamic array using joint memory.
If you use, e.g. std::vector with joint_allocator, this has a slight additional overhead. This type is joint memory aware and has no overhead.
It has a dynamic, but fixed size, it cannot grow after it has been created.
Typedefs | |
| using | value_type |
| using | iterator |
| using | const_iterator |
Member Functions | |
| template<typename JointType> | |
| joint_array (std::size_t size, joint_type< JointType > &j) | |
| template<typename JointType> | |
| joint_array (std::size_t size, const value_type &val, joint_type< JointType > &j) | |
| template<typename JointType> | |
| joint_array (std::initializer_list< value_type > ilist, joint_type< JointType > &j) | |
| template<typename InIter, typename JointType, typename = decltype(*std::declval<InIter&>()++)> | |
| joint_array (InIter begin, InIter end, joint_type< JointType > &j) | |
| joint_array (const joint_array &)=delete | |
| template<typename JointType> | |
| joint_array (const joint_array &other, joint_type< JointType > &j) | |
| joint_array (joint_array &&)=delete | |
| template<typename JointType> | |
| joint_array (joint_array &&other, joint_type< JointType > &j) | |
| ~joint_array () noexcept | |
| joint_array & | operator= (const joint_array &)=delete |
| joint_array & | operator= (joint_array &&)=delete |
| std::size_t | size () const noexcept |
| bool | empty () const noexcept |
| value_type & | operator[] (std::size_t i) noexcept |
| const value_type & | operator[] (std::size_t i) const noexcept |
| value_type * | data () noexcept |
| const value_type * | data () const noexcept |
| iterator | begin () noexcept |
| const_iterator | begin () const noexcept |
| iterator | end () noexcept |
| const_iterator | end () const noexcept |
| joint_array | ( | std::size_t | size, |
| joint_type< JointType > & | j ) |
size default-constructed objects using the specified joint memory. size is too big and anything thrown by Ts constructor. If an allocation is thrown, the memory will be released directly. | joint_array | ( | std::size_t | size, |
| const value_type & | val, | ||
| joint_type< JointType > & | j ) |
size copies of val using the specified joint memory. size is too big and anything thrown by Ts constructor. If an allocation is thrown, the memory will be released directly. | joint_array | ( | std::initializer_list< value_type > | ilist, |
| joint_type< JointType > & | j ) |
Ts constructor. If an allocation is thrown, the memory will be released directly. | joint_array | ( | InIter | begin, |
| InIter | end, | ||
| joint_type< JointType > & | j ) |
Ts constructor using the specified joint memory. Ts constructor. If an allocation is thrown, the memory will be released directly. | joint_array | ( | const joint_array< T > & | other, |
| joint_type< JointType > & | j ) |
other into the storage of the specified joint memory. Ts constructor. If an allocation is thrown, the memory will be released directly. | joint_array | ( | joint_array< T > && | other, |
| joint_type< JointType > & | j ) |
other into the storage of the specified joint memory. Ts constructor. If an allocation is thrown, the memory will be released directly.
|
noexcept |
|
noexcept |
ith object. i < size().
|
noexcept |
ith object. i < size().
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
true if the array is empty, false otherwise.
1.13.2