Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::VecOps Namespace Reference

Classes

struct  IsRVec
 
struct  IsRVec< ROOT::VecOps::RVec< T > >
 
struct  RVecInlineStorageSize
 The size of the inline storage of an RVec. More...
 
struct  SmallVectorAlignmentAndSize
 Used to figure out the offset of the first element of an RVec. More...
 
class  SmallVectorBase
 This is all the stuff common to all SmallVectors. More...
 
struct  SmallVectorStorage
 Storage for the SmallVector elements. More...
 
struct  SmallVectorStorage< T, 0 >
 We need the storage to be properly aligned even for small-size of 0 so that the pointer math in SmallVectorTemplateCommon::getFirstEl() is well-defined. More...
 
class  SmallVectorTemplateBase
 SmallVectorTemplateBase<TriviallyCopyable = false> - This is where we put method implementations that are designed to work with non-trivial T's. More...
 
class  SmallVectorTemplateBase< T, true >
 SmallVectorTemplateBase<TriviallyCopyable = true> - This is where we put method implementations that are designed to work with trivially copyable T's. More...
 
class  SmallVectorTemplateCommon
 This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. More...
 

Typedefs

template<typename T >
using RVec = ROOT::VecOps::RVec< T >
 

Functions

constexpr bool All (const bool *vals, std::size_t size)
 
template<typename... T>
std::size_t GetVectorsSize (const std::string &id, const RVec< T > &... vs)
 
template<typename Tuple_t , std::size_t... Is>
auto MapFromTuple (Tuple_t &&t, std::index_sequence< Is... >) -> decltype(MapImpl(std::get< std::tuple_size< Tuple_t >::value - 1 >(t), std::get< Is >(t)...))
 
template<typename F , typename... RVecs>
auto MapImpl (F &&f, RVecs &&... vs) -> RVec< decltype(f(vs[0]...))>
 
uint64_t NextPowerOf2 (uint64_t A)
 Return the next power of two (in 64-bits) that is strictly greater than A.
 
template<typename T >
void ResetView (RVec< T > &v, T *addr, std::size_t sz)
 An unsafe function to reset the buffer for which this RVec is acting as a view.
 
template<typename ForwardIt >
void UninitializedValueConstruct (ForwardIt first, ForwardIt last)
 
template<typename T , bool TriviallyCopyable>
 void (off) SmallVectorTemplateBase< T
 

Typedef Documentation

◆ RVec

template<typename T >
using ROOT::Internal::VecOps::RVec = typedef ROOT::VecOps::RVec<T>

Definition at line 69 of file RVec.hxx.

Function Documentation

◆ All()

constexpr bool ROOT::Internal::VecOps::All ( const bool vals,
std::size_t  size 
)
constexpr

Definition at line 79 of file RVec.hxx.

◆ GetVectorsSize()

template<typename... T>
std::size_t ROOT::Internal::VecOps::GetVectorsSize ( const std::string &  id,
const RVec< T > &...  vs 
)

Definition at line 88 of file RVec.hxx.

◆ MapFromTuple()

template<typename Tuple_t , std::size_t... Is>
auto ROOT::Internal::VecOps::MapFromTuple ( Tuple_t &&  t,
std::index_sequence< Is... >   
) -> decltype(MapImpl(std::get<std::tuple_size<Tuple_t>::value - 1>(t), std::get<Is>(t)...))

Definition at line 117 of file RVec.hxx.

◆ MapImpl()

template<typename F , typename... RVecs>
auto ROOT::Internal::VecOps::MapImpl ( F &&  f,
RVecs &&...  vs 
) -> RVec<decltype(f(vs[0]...))>

Definition at line 105 of file RVec.hxx.

◆ NextPowerOf2()

uint64_t ROOT::Internal::VecOps::NextPowerOf2 ( uint64_t  A)
inline

Return the next power of two (in 64-bits) that is strictly greater than A.

Return zero on overflow.

Definition at line 126 of file RVec.hxx.

◆ ResetView()

template<typename T >
void ROOT::Internal::VecOps::ResetView ( RVec< T > &  v,
T *  addr,
std::size_t  sz 
)

An unsafe function to reset the buffer for which this RVec is acting as a view.

Note
This is a low-level method that must be called on RVecs that are already non-owning:
  • it does not put the RVec in "non-owning mode" (fCapacity == -1)
  • it does not free any owned buffer

Definition at line 546 of file RVec.hxx.

◆ UninitializedValueConstruct()

template<typename ForwardIt >
void ROOT::Internal::VecOps::UninitializedValueConstruct ( ForwardIt  first,
ForwardIt  last 
)

Definition at line 530 of file RVec.hxx.

◆ void()

template<typename T , bool TriviallyCopyable>
ROOT::Internal::VecOps::void ( off  )