template<typename T>
class ROOT::Detail::VecOps::RVecImpl< T >
This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.
Definition at line 525 of file RVec.hxx.
|
| RVecImpl (const RVecImpl &)=delete |
|
| ~RVecImpl () |
|
template<typename in_iter , typename = typename std::enable_if<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>::type> |
void | append (in_iter in_start, in_iter in_end) |
| Add the specified range to the end of the SmallVector.
|
|
void | append (size_type NumInputs, const T &Elt) |
| Append NumInputs copies of Elt to the end.
|
|
void | append (std::initializer_list< T > IL) |
|
template<typename in_iter , typename = typename std::enable_if<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>::type> |
void | assign (in_iter in_start, in_iter in_end) |
|
void | assign (size_type NumElts, const T &Elt) |
|
void | assign (std::initializer_list< T > IL) |
|
void | clear () |
|
template<typename... ArgTypes> |
reference | emplace (iterator I, ArgTypes &&...Args) |
|
template<typename... ArgTypes> |
reference | emplace_back (ArgTypes &&...Args) |
|
iterator | erase (const_iterator CI) |
|
iterator | erase (const_iterator CS, const_iterator CE) |
|
iterator | insert (iterator I, const T &Elt) |
|
template<typename ItTy , typename = typename std::enable_if<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>::type> |
iterator | insert (iterator I, ItTy From, ItTy To) |
|
iterator | insert (iterator I, size_type NumToInsert, const T &Elt) |
|
void | insert (iterator I, std::initializer_list< T > IL) |
|
iterator | insert (iterator I, T &&Elt) |
|
RVecImpl & | operator= (const RVecImpl &RHS) |
|
RVecImpl & | operator= (RVecImpl &&RHS) |
|
void | pop_back_n (size_type NumItems) |
|
R__RVEC_NODISCARD T | pop_back_val () |
|
void | reserve (size_type N) |
|
void | resize (size_type N) |
|
void | resize (size_type N, const T &NV) |
|
void | swap (RVecImpl &RHS) |
|
void | pop_back () |
|
void | push_back (const T &Elt) |
|
void | push_back (T &&Elt) |
|
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().
|
|
R__RVEC_NODISCARD 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 |
|
size_t | capacity () const noexcept |
|
R__RVEC_NODISCARD bool | empty () const |
|
void | set_size (size_t N) |
| Set the array size to N , which the current array must have enough capacity for.
|
|
void | shrink_to_fit () |
|
size_t | size () const |
|
|
| RVecImpl (unsigned N) |
|
| SmallVectorTemplateBase (size_t Size) |
|
void | grow (size_t MinSize=0) |
| Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory.
|
|
| 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.
|
|
| 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 true, the RVec is in "memory adoption" mode, i.e. it is acting as a view on a memory buffer it does not own.
|
|
|
static void | destroy_range (T *S, T *E) |
|
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 as needed.
|
|
template<typename It1 , typename It2 > |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
|
|
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.
|
|
void * | fBeginX |
|
Size_T | fCapacity |
| Always >= -1. fCapacity == -1 indicates the RVec is in "memory adoption" mode.
|
|
Size_T | fSize = 0 |
| Always >= 0.
|
|