This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD.
Public Types | |
| 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 | |
| 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. | |
Private Types | |
| using | Base = SmallVectorBase |
Private Member Functions | |
| void * | getFirstEl () const |
| Find the address of the first element. | |
Additional Inherited Members | |
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. | |
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>
|
private |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::const_iterator = const T * |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::const_pointer = const T * |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::const_reference = const T & |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::difference_type = ptrdiff_t |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::iterator = T * |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::pointer = T * |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::reference = T & |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::reverse_iterator = std::reverse_iterator<iterator> |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::size_type = size_t |
| using ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >::value_type = T |
|
inlineprotected |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlineprivate |
Find the address of the first element.
For this pointer math to be valid with small-size of 0 for T with lots of alignment, it's important that SmallVectorStorage is properly-aligned even for small-size of 0.
|
inlineprotected |
|
inlineprotected |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprotected |
|
inline |
|
inline |