SmallVectorTemplateBase<TriviallyCopyable = true> - This is where we put method implementations that are designed to work with trivially copyable T's.
This allows using memcpy in place of copy/move construction and skipping destruction.
Public Types | |
| using | const_iterator = typename SuperClass::const_iterator |
| using | iterator = typename SuperClass::iterator |
| using | reference = typename SuperClass::reference |
| using | size_type = typename SuperClass::size_type |
Public Types inherited from ROOT::Internal::VecOps::SmallVectorTemplateCommon< T > | |
| using | const_iterator = const T * |
| using | const_pointer = const T * |
| using | const_reference = const T & |
| using | const_reverse_iterator = std::reverse_iterator<const_iterator> |
| using | difference_type = ptrdiff_t |
| using | iterator = T * |
| using | pointer = T * |
| using | reference = T & |
| using | reverse_iterator = std::reverse_iterator<iterator> |
| using | size_type = size_t |
| using | value_type = T |
Public Types inherited from ROOT::Internal::VecOps::SmallVectorBase | |
| using | Size_T = int32_t |
Protected Member Functions | |
| SmallVectorTemplateBase (size_t Size) | |
| void | grow (size_t MinSize=0) |
| Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified. | |
Protected Member Functions inherited from ROOT::Internal::VecOps::SmallVectorTemplateCommon< T > | |
| SmallVectorTemplateCommon (size_t Size) | |
| void | grow_pod (size_t MinSize, size_t TSize) |
| bool | isSmall () const |
| Return true if this is a smallvector which has not had dynamic memory allocated for it. | |
| void | resetToSmall () |
| Put this vector in a state of being small. | |
Protected Member Functions inherited from ROOT::Internal::VecOps::SmallVectorBase | |
| SmallVectorBase ()=delete | |
| SmallVectorBase (void *FirstEl, size_t TotalCapacity) | |
| void | grow_pod (void *FirstEl, size_t MinSize, size_t TSize) |
| This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication. | |
| bool | Owns () const |
| If false, the RVec is in "memory adoption" mode, i.e. it is acting as a view on a memory buffer it does not own. | |
Static Protected Member Functions | |
| static void | destroy_range (T *, T *) |
| template<typename It1 , typename It2 > | |
| static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
| Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed. | |
| template<typename T1 , typename T2 > | |
| static void | uninitialized_copy (T1 *I, T1 *E, T2 *Dest, typename std::enable_if< std::is_same< typename std::remove_const< T1 >::type, T2 >::value >::type *=nullptr) |
| Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed. | |
| template<typename It1 , typename It2 > | |
| static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed. | |
Static Protected Member Functions inherited from ROOT::Internal::VecOps::SmallVectorBase | |
| static void | report_at_maximum_capacity () |
| Report that this vector is already at maximum capacity. | |
| static void | report_size_overflow (size_t MinSize) |
| Report that MinSize doesn't fit into this vector's size type. | |
| static constexpr size_t | SizeTypeMax () |
| The maximum value of the Size_T used. | |
Private Types | |
| using | SuperClass = SmallVectorTemplateCommon<T> |
Additional Inherited Members | |
Protected Attributes inherited from ROOT::Internal::VecOps::SmallVectorBase | |
| void * | fBeginX |
| Size_T | fCapacity |
| Always >= -1. fCapacity == -1 indicates the RVec is in "memory adoption" mode. | |
| Size_T | fSize = 0 |
| Always >= 0. | |
#include <ROOT/RVec.hxx>
| using ROOT::Internal::VecOps::SmallVectorTemplateBase< T, true >::const_iterator = typename SuperClass::const_iterator |
| using ROOT::Internal::VecOps::SmallVectorTemplateBase< T, true >::iterator = typename SuperClass::iterator |
| using ROOT::Internal::VecOps::SmallVectorTemplateBase< T, true >::reference = typename SuperClass::reference |
| using ROOT::Internal::VecOps::SmallVectorTemplateBase< T, true >::size_type = typename SuperClass::size_type |
|
private |
|
inlineprotected |
|
inlinestaticprotected |
|
inlineprotected |
|
inline |
|
inline |