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 |
Public Member Functions | |
reference | back () |
const_reference | back () const |
const_iterator | begin () const noexcept |
iterator | begin () noexcept |
size_t | capacity () const noexcept |
size_t | capacity_in_bytes () const |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
const_reverse_iterator | crbegin () const noexcept |
const_reverse_iterator | crend () const noexcept |
const_pointer | data () const noexcept |
Return a pointer to the vector's buffer, even if empty(). | |
pointer | data () noexcept |
Return a pointer to the vector's buffer, even if empty(). | |
bool | empty () const |
const_iterator | end () const noexcept |
iterator | end () noexcept |
reference | front () |
const_reference | front () const |
size_type | max_size () const noexcept |
const_reverse_iterator | rbegin () const noexcept |
reverse_iterator | rbegin () noexcept |
const_reverse_iterator | rend () const noexcept |
reverse_iterator | rend () noexcept |
size_t | size () const |
size_type | size_in_bytes () const |
Public Member Functions inherited from ROOT::Internal::VecOps::SmallVectorBase | |
size_t | capacity () const noexcept |
bool | empty () const |
void | set_size (size_t N) |
Set the array size to N , which the current array must have enough capacity for. | |
size_t | size () const |
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 |
|
inline |
|
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 |