CMS 3D CMS Logo

List of all members | Public Member Functions
portablecollection::CollectionImpl< Idx, T, Args > Struct Template Reference

#include <PortableCollectionCommon.h>

Inheritance diagram for portablecollection::CollectionImpl< Idx, T, Args >:
portablecollection::CollectionLeaf< Idx, T >

Public Member Functions

 CollectionImpl ()=default
 
 CollectionImpl (std::byte *buffer, int32_t elements)
 
template<std::size_t N>
 CollectionImpl (std::byte *buffer, std::array< int32_t, N > const &sizes)
 
- Public Member Functions inherited from portablecollection::CollectionLeaf< Idx, T >
 CollectionLeaf ()=default
 
 CollectionLeaf (std::byte *buffer, int32_t elements)
 
template<std::size_t N>
 CollectionLeaf (std::byte *buffer, std::array< int32_t, N > const &sizes)
 

Additional Inherited Members

- Public Types inherited from portablecollection::CollectionLeaf< Idx, T >
using ConstView = typename Layout::ConstView
 
using Layout = T
 
using View = typename Layout::View
 
- Public Attributes inherited from portablecollection::CollectionLeaf< Idx, T >
Layout layout_
 
View view_
 

Detailed Description

template<std::size_t Idx, typename T, typename... Args>
struct portablecollection::CollectionImpl< Idx, T, Args >

Definition at line 38 of file PortableCollectionCommon.h.

Constructor & Destructor Documentation

◆ CollectionImpl() [1/3]

template<std::size_t Idx, typename T, typename... Args>
portablecollection::CollectionImpl< Idx, T, Args >::CollectionImpl ( )
default

◆ CollectionImpl() [2/3]

template<std::size_t Idx, typename T, typename... Args>
portablecollection::CollectionImpl< Idx, T, Args >::CollectionImpl ( std::byte *  buffer,
int32_t  elements 
)
inline

Definition at line 40 of file PortableCollectionCommon.h.

40 : CollectionLeaf<Idx, T>(buffer, elements) {}

◆ CollectionImpl() [3/3]

template<std::size_t Idx, typename T, typename... Args>
template<std::size_t N>
portablecollection::CollectionImpl< Idx, T, Args >::CollectionImpl ( std::byte *  buffer,
std::array< int32_t, N > const &  sizes 
)
inline

Definition at line 43 of file PortableCollectionCommon.h.

44  : CollectionLeaf<Idx, T>(buffer, sizes),
45  CollectionImpl<Idx + 1, Args...>(CollectionLeaf<Idx, T>::layout_.metadata().nextByte(), sizes) {}