All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t > Class Template Reference

A wrapper to a C array (needed to embed an array into a vector) More...

Public Types

using This_t = BoxedArray< Array_t >
 
typedef
std::remove_all_extents
< Array_t >::type 
Data_t
 

Public Member Functions

 BoxedArray ()
 
 BoxedArray (const This_t &from)
 
Array_t & data ()
 
const Array_t & data () const
 

Protected Attributes

Array_t array
 
Data_tbegin ()
 
const Data_tbegin () const
 
Data_tend ()
 
const Data_tend () const
 
static constexpr size_t size ()
 begin/end interface More...
 
operator decltype(&[0]) array ()
 
auto operator[] (size_t index) -> decltype(*array)
 Array interface. More...
 
auto operator[] (size_t index) const -> decltype(*array)
 
auto operator+ (ptrdiff_t index) -> decltype(&*array)
 
auto operator+ (ptrdiff_t index) const -> decltype(&*array)
 
auto operator- (ptrdiff_t index) -> decltype(&*array)
 
auto operator- (ptrdiff_t index) const -> decltype(&*array)
 
auto operator* () -> decltype(*array)
 
auto operator* () const -> decltype(*array)
 

Detailed Description

template<typename Array_t>
class sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >

A wrapper to a C array (needed to embed an array into a vector)

Definition at line 182 of file sbndcode/sbndcode/AnalysisTree/AnalysisTree_module.cc.

Member Typedef Documentation

template<typename Array_t >
typedef std::remove_all_extents<Array_t>::type sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::Data_t
template<typename Array_t >
using sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::This_t = BoxedArray<Array_t>

Constructor & Destructor Documentation

template<typename Array_t >
sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::BoxedArray ( )
inline

Definition at line 190 of file sbndcode/sbndcode/AnalysisTree/AnalysisTree_module.cc.

190 {} // no initialization
template<typename Array_t >
sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::BoxedArray ( const This_t from)
inline

Definition at line 191 of file sbndcode/sbndcode/AnalysisTree/AnalysisTree_module.cc.

192  { std::memcpy((char*) &(data()), (char*) &(from.data()), sizeof(Array_t)); }

Member Function Documentation

template<typename Array_t >
Data_t* sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::begin ( )
inline
template<typename Array_t >
const Data_t* sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::begin ( ) const
inline
template<typename Array_t >
Array_t& sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::data ( )
inline
template<typename Array_t >
const Array_t& sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::data ( ) const
inline
template<typename Array_t >
Data_t* sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::end ( void  )
inline
template<typename Array_t >
const Data_t* sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::end ( void  ) const
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator* ( ) -> decltype(*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator* ( ) const -> decltype(*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator+ ( ptrdiff_t  index) -> decltype(&*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator+ ( ptrdiff_t  index) const -> decltype(&*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator- ( ptrdiff_t  index) -> decltype(&*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator- ( ptrdiff_t  index) const -> decltype(&*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator[] ( size_t  index) -> decltype(*array)
inline
template<typename Array_t >
auto sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::operator[] ( size_t  index) const -> decltype(*array)
inline
template<typename Array_t >
static constexpr size_t sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::size ( void  )
inlinestatic

begin/end interface

Definition at line 199 of file sbndcode/sbndcode/AnalysisTree/AnalysisTree_module.cc.

total_extent&lt;T&gt;value has the total number of elements of an array

Member Data Documentation

template<typename Array_t >
Array_t sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::array
protected
template<typename Array_t >
operator decltype(&[0]) sbnd::AnalysisTreeDataStruct::BoxedArray< Array_t >::array() const
inline

The documentation for this class was generated from the following file: