Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::VecOps::RVecN< T, N > Class Template Reference

template<typename T, unsigned int N>
class ROOT::VecOps::RVecN< T, N >

Definition at line 1123 of file RVec.hxx.

Public Types

using const_reference = typename Internal::VecOps::SmallVectorTemplateCommon< T >::const_reference
 
using reference = typename Internal::VecOps::SmallVectorTemplateCommon< T >::reference
 
using size_type = typename Internal::VecOps::SmallVectorTemplateCommon< T >::size_type
 
using value_type = typename Internal::VecOps::SmallVectorTemplateCommon< T >::value_type
 
- Public Types inherited from ROOT::Detail::VecOps::RVecImpl< T >
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
 

Public Member Functions

 RVecN ()
 
 RVecN (const RVecN &RHS)
 
 RVecN (const std::vector< T > &RHS)
 
 RVecN (Detail::VecOps::RVecImpl< T > &&RHS)
 
template<typename ItTy , typename = typename std::enable_if<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>::type>
 RVecN (ItTy S, ItTy E)
 
 RVecN (RVecN &&RHS)
 
 RVecN (size_t Size)
 
 RVecN (size_t Size, const T &Value)
 
 RVecN (std::initializer_list< T > IL)
 
 RVecN (T *p, size_t n)
 
 ~RVecN ()
 
reference at (size_type pos)
 
const_reference at (size_type pos) const
 
value_type at (size_type pos, value_type fallback)
 No exception thrown. The user specifies the desired value in case the RVecN is shorter than pos.
 
value_type at (size_type pos, value_type fallback) const
 No exception thrown. The user specifies the desired value in case the RVecN is shorter than pos.
 
template<typename U , unsigned M, typename = std::enable_if<std::is_convertible<T, U>::value>>
 operator RVecN< U, M > () const
 
RVecNoperator= (const RVecN &RHS)
 
RVecNoperator= (Detail::VecOps::RVecImpl< T > &&RHS)
 
RVecNoperator= (RVecN &&RHS)
 
RVecNoperator= (std::initializer_list< T > IL)
 
template<typename V , unsigned M, typename = std::enable_if<std::is_convertible<V, bool>::value>>
RVecN operator[] (const RVecN< V, M > &conds) const
 
reference operator[] (size_type idx)
 
const_reference operator[] (size_type idx) const
 
- Public Member Functions inherited from ROOT::Detail::VecOps::RVecImpl< T >
 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)
 
RVecImploperator= (const RVecImpl &RHS)
 
RVecImploperator= (RVecImpl &&RHS)
 
void pop_back_n (size_type NumItems)
 
R__RVEC_NODISCARDpop_back_val ()
 
void reserve (size_type N)
 
void resize (size_type N)
 
void resize (size_type N, const T &NV)
 
void swap (RVecImpl &RHS)
 
- Public Member Functions inherited from ROOT::Internal::VecOps::SmallVectorTemplateBase< T, bool >
void pop_back ()
 
void push_back (const T &Elt)
 
void push_back (T &&Elt)
 
- Public Member Functions inherited from ROOT::Internal::VecOps::SmallVectorTemplateCommon< T >
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
 
- Public Member Functions inherited from ROOT::Internal::VecOps::SmallVectorBase
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
 

Additional Inherited Members

- Protected Member Functions inherited from ROOT::Detail::VecOps::RVecImpl< T >
 RVecImpl (unsigned N)
 
- Protected Member Functions inherited from ROOT::Internal::VecOps::SmallVectorTemplateBase< T, bool >
 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.
 
- 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 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 Protected Member Functions inherited from ROOT::Internal::VecOps::SmallVectorTemplateBase< T, bool >
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 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
voidfBeginX
 
Size_T fCapacity
 Always >= -1. fCapacity == -1 indicates the RVec is in "memory adoption" mode.
 
Size_T fSize = 0
 Always >= 0.
 
- Private Attributes inherited from ROOT::Internal::VecOps::SmallVectorStorage< T, N >
char InlineElts [N *sizeof(T)] {}
 

#include <ROOT/RVec.hxx>

Inheritance diagram for ROOT::VecOps::RVecN< T, N >:
[legend]

Member Typedef Documentation

◆ const_reference

template<typename T , unsigned int N>
using ROOT::VecOps::RVecN< T, N >::const_reference = typename Internal::VecOps::SmallVectorTemplateCommon<T>::const_reference

Definition at line 1207 of file RVec.hxx.

◆ reference

template<typename T , unsigned int N>
using ROOT::VecOps::RVecN< T, N >::reference = typename Internal::VecOps::SmallVectorTemplateCommon<T>::reference

Definition at line 1206 of file RVec.hxx.

◆ size_type

template<typename T , unsigned int N>
using ROOT::VecOps::RVecN< T, N >::size_type = typename Internal::VecOps::SmallVectorTemplateCommon<T>::size_type

Definition at line 1208 of file RVec.hxx.

◆ value_type

template<typename T , unsigned int N>
using ROOT::VecOps::RVecN< T, N >::value_type = typename Internal::VecOps::SmallVectorTemplateCommon<T>::value_type

Definition at line 1209 of file RVec.hxx.

Constructor & Destructor Documentation

◆ RVecN() [1/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( )
inline

Definition at line 1125 of file RVec.hxx.

◆ ~RVecN()

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::~RVecN ( )
inline

Definition at line 1127 of file RVec.hxx.

◆ RVecN() [2/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( size_t  Size,
const T &  Value 
)
inlineexplicit

Definition at line 1135 of file RVec.hxx.

◆ RVecN() [3/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( size_t  Size)
inlineexplicit

Definition at line 1137 of file RVec.hxx.

◆ RVecN() [4/10]

template<typename T , unsigned int N>
template<typename ItTy , typename = typename std::enable_if<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>::type>
ROOT::VecOps::RVecN< T, N >::RVecN ( ItTy  S,
ItTy  E 
)
inline

Definition at line 1148 of file RVec.hxx.

◆ RVecN() [5/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( std::initializer_list< T >  IL)
inline

Definition at line 1153 of file RVec.hxx.

◆ RVecN() [6/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( const RVecN< T, N > &  RHS)
inline

Definition at line 1155 of file RVec.hxx.

◆ RVecN() [7/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( RVecN< T, N > &&  RHS)
inline

Definition at line 1167 of file RVec.hxx.

◆ RVecN() [8/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( Detail::VecOps::RVecImpl< T > &&  RHS)
inline

Definition at line 1173 of file RVec.hxx.

◆ RVecN() [9/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( const std::vector< T > &  RHS)
inline

Definition at line 1179 of file RVec.hxx.

◆ RVecN() [10/10]

template<typename T , unsigned int N>
ROOT::VecOps::RVecN< T, N >::RVecN ( T *  p,
size_t  n 
)
inline

Definition at line 1187 of file RVec.hxx.

Member Function Documentation

◆ at() [1/4]

template<typename T , unsigned int N>
reference ROOT::VecOps::RVecN< T, N >::at ( size_type  pos)
inline

Definition at line 1254 of file RVec.hxx.

◆ at() [2/4]

template<typename T , unsigned int N>
const_reference ROOT::VecOps::RVecN< T, N >::at ( size_type  pos) const
inline

Definition at line 1261 of file RVec.hxx.

◆ at() [3/4]

template<typename T , unsigned int N>
value_type ROOT::VecOps::RVecN< T, N >::at ( size_type  pos,
value_type  fallback 
)
inline

No exception thrown. The user specifies the desired value in case the RVecN is shorter than pos.

Definition at line 1269 of file RVec.hxx.

◆ at() [4/4]

template<typename T , unsigned int N>
value_type ROOT::VecOps::RVecN< T, N >::at ( size_type  pos,
value_type  fallback 
) const
inline

No exception thrown. The user specifies the desired value in case the RVecN is shorter than pos.

Definition at line 1277 of file RVec.hxx.

◆ operator RVecN< U, M >()

template<typename T , unsigned int N>
template<typename U , unsigned M, typename = std::enable_if<std::is_convertible<T, U>::value>>
ROOT::VecOps::RVecN< T, N >::operator RVecN< U, M > ( ) const
inline

Definition at line 1249 of file RVec.hxx.

◆ operator=() [1/4]

template<typename T , unsigned int N>
RVecN & ROOT::VecOps::RVecN< T, N >::operator= ( const RVecN< T, N > &  RHS)
inline

Definition at line 1161 of file RVec.hxx.

◆ operator=() [2/4]

template<typename T , unsigned int N>
RVecN & ROOT::VecOps::RVecN< T, N >::operator= ( Detail::VecOps::RVecImpl< T > &&  RHS)
inline

Definition at line 1194 of file RVec.hxx.

◆ operator=() [3/4]

template<typename T , unsigned int N>
RVecN & ROOT::VecOps::RVecN< T, N >::operator= ( RVecN< T, N > &&  RHS)
inline

Definition at line 1181 of file RVec.hxx.

◆ operator=() [4/4]

template<typename T , unsigned int N>
RVecN & ROOT::VecOps::RVecN< T, N >::operator= ( std::initializer_list< T >  IL)
inline

Definition at line 1200 of file RVec.hxx.

◆ operator[]() [1/3]

template<typename T , unsigned int N>
template<typename V , unsigned M, typename = std::enable_if<std::is_convertible<V, bool>::value>>
RVecN ROOT::VecOps::RVecN< T, N >::operator[] ( const RVecN< V, M > &  conds) const
inline

Definition at line 1224 of file RVec.hxx.

◆ operator[]() [2/3]

template<typename T , unsigned int N>
reference ROOT::VecOps::RVecN< T, N >::operator[] ( size_type  idx)
inline

Definition at line 1213 of file RVec.hxx.

◆ operator[]() [3/3]

template<typename T , unsigned int N>
const_reference ROOT::VecOps::RVecN< T, N >::operator[] ( size_type  idx) const
inline

Definition at line 1218 of file RVec.hxx.

  • math/vecops/inc/ROOT/RVec.hxx