CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::SoATuple< Args > Class Template Reference

#include <SoATuple.h>

Public Types

typedef std::tuple< Args...> element
 

Public Member Functions

template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type const * 
begin () const
 
template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type * 
begin ()
 
size_t capacity () const
 
template<typename... FArgs>
void emplace_back (FArgs &&...values)
 
template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type const * 
end () const
 
template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type * 
end ()
 
template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type const & 
get (unsigned int iIndex) const
 
template<unsigned int I>
soahelper::AlignmentHelper
< typename std::tuple_element
< I, std::tuple< Args...>
>::type >::Type & 
get (unsigned int iIndex)
 
const SoATuple< Args...> & operator= (const SoATuple< Args...> &iRHS)
 
void push_back (element const &values)
 
void reserve (unsigned int iToSize)
 
void shrink_to_fit ()
 
size_t size () const
 
 SoATuple ()
 
 SoATuple (const SoATuple< Args...> &iOther)
 
 SoATuple (SoATuple< Args...> &&iOther)
 
void swap (SoATuple< Args...> &iOther)
 
 ~SoATuple ()
 

Private Member Functions

void changeSize (unsigned int iToSize)
 

Private Attributes

size_t m_reserved
 
size_t m_size
 
void * m_values [sizeof...(Args)]
 

Detailed Description

template<typename... Args>
class edm::SoATuple< Args >

Definition at line 107 of file SoATuple.h.

Member Typedef Documentation

template<typename... Args>
typedef std::tuple<Args...> edm::SoATuple< Args >::element

Definition at line 111 of file SoATuple.h.

Constructor & Destructor Documentation

template<typename... Args>
edm::SoATuple< Args >::SoATuple ( )
inline

Definition at line 113 of file SoATuple.h.

template<typename... Args>
edm::SoATuple< Args >::SoATuple ( const SoATuple< Args...> &  iOther)
inline

Definition at line 118 of file SoATuple.h.

template<typename... Args>
edm::SoATuple< Args >::SoATuple ( SoATuple< Args...> &&  iOther)
inline

Definition at line 127 of file SoATuple.h.

template<typename... Args>
edm::SoATuple< Args >::~SoATuple ( )
inline

Definition at line 140 of file SoATuple.h.

Member Function Documentation

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type const* edm::SoATuple< Args >::begin ( void  ) const
inline

Returns the beginning of the container holding all Ith data elements

Definition at line 161 of file SoATuple.h.

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type* edm::SoATuple< Args >::begin ( void  )
inline

Returns the beginning of the container holding all Ith data elements

Definition at line 220 of file SoATuple.h.

template<typename... Args>
size_t edm::SoATuple< Args >::capacity ( ) const
inline

Definition at line 150 of file SoATuple.h.

template<typename... Args>
void edm::SoATuple< Args >::changeSize ( unsigned int  iToSize)
inlineprivate

Definition at line 245 of file SoATuple.h.

template<typename... Args>
template<typename... FArgs>
void edm::SoATuple< Args >::emplace_back ( FArgs &&...  values)
inline

Adds one entry to the end of the list. The arguments are used to instantiate each data element in the order defined in the template arguments.

Definition at line 203 of file SoATuple.h.

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type const* edm::SoATuple< Args >::end ( void  ) const
inline

Returns the end of the container holding all Ith data elements

Definition at line 172 of file SoATuple.h.

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type* edm::SoATuple< Args >::end ( void  )
inline

Returns the end of the container holding all Ith data elements

Definition at line 231 of file SoATuple.h.

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type const& edm::SoATuple< Args >::get ( unsigned int  iIndex) const
inline

Returns const access to data element I of item iIndex

Definition at line 154 of file SoATuple.h.

Referenced by Options.Options::__getitem__().

template<typename... Args>
template<unsigned int I>
soahelper::AlignmentHelper<typename std::tuple_element<I, std::tuple<Args...> >::type>::Type& edm::SoATuple< Args >::get ( unsigned int  iIndex)
inline

Returns access to data element I of item iIndex

Definition at line 213 of file SoATuple.h.

Referenced by Options.Options::__getitem__().

template<typename... Args>
const SoATuple<Args...>& edm::SoATuple< Args >::operator= ( const SoATuple< Args...> &  iRHS)
inline

Definition at line 134 of file SoATuple.h.

template<typename... Args>
void edm::SoATuple< Args >::push_back ( element const &  values)
inline

Adds one entry to the end of the list. Memory grows as needed.

Definition at line 193 of file SoATuple.h.

template<typename... Args>
void edm::SoATuple< Args >::reserve ( unsigned int  iToSize)
inline

Makes sure to hold enough memory to contain at least iToSize entries.

Definition at line 179 of file SoATuple.h.

template<typename... Args>
void edm::SoATuple< Args >::shrink_to_fit ( )
inline

Shrinks the amount of memory used so as to only have just enough to hold all entries.

Definition at line 186 of file SoATuple.h.

template<typename... Args>
size_t edm::SoATuple< Args >::size ( void  ) const
inline

Definition at line 149 of file SoATuple.h.

template<typename... Args>
void edm::SoATuple< Args >::swap ( SoATuple< Args...> &  iOther)
inline

Definition at line 236 of file SoATuple.h.

Member Data Documentation

template<typename... Args>
size_t edm::SoATuple< Args >::m_reserved
private

Definition at line 273 of file SoATuple.h.

template<typename... Args>
size_t edm::SoATuple< Args >::m_size
private

Definition at line 272 of file SoATuple.h.

template<typename... Args>
void* edm::SoATuple< Args >::m_values[sizeof...(Args)]
private

Definition at line 271 of file SoATuple.h.