CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
portablecollection::CollectionLeaf< Idx, T > Struct Template Reference

#include <PortableCollectionCommon.h>

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

Public Types

using ConstView = typename Layout::ConstView
 
using Layout = T
 
using View = typename Layout::View
 

Public Member Functions

 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)
 

Public Attributes

Layout layout_
 
View view_
 

Detailed Description

template<std::size_t Idx, typename T>
struct portablecollection::CollectionLeaf< Idx, T >

Definition at line 20 of file PortableCollectionCommon.h.

Member Typedef Documentation

◆ ConstView

template<std::size_t Idx, typename T>
using portablecollection::CollectionLeaf< Idx, T >::ConstView = typename Layout::ConstView

Definition at line 30 of file PortableCollectionCommon.h.

◆ Layout

template<std::size_t Idx, typename T>
using portablecollection::CollectionLeaf< Idx, T >::Layout = T

Definition at line 28 of file PortableCollectionCommon.h.

◆ View

template<std::size_t Idx, typename T>
using portablecollection::CollectionLeaf< Idx, T >::View = typename Layout::View

Definition at line 29 of file PortableCollectionCommon.h.

Constructor & Destructor Documentation

◆ CollectionLeaf() [1/3]

template<std::size_t Idx, typename T>
portablecollection::CollectionLeaf< Idx, T >::CollectionLeaf ( )
default

◆ CollectionLeaf() [2/3]

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

◆ CollectionLeaf() [3/3]

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

Definition at line 24 of file PortableCollectionCommon.h.

25  : layout_(buffer, sizes[Idx]), view_(layout_) {
26  static_assert(N >= Idx);
27  }
uint32_t Idx
Definition: config.h:14
#define N
Definition: blowfish.cc:9

Member Data Documentation

◆ layout_

template<std::size_t Idx, typename T>
Layout portablecollection::CollectionLeaf< Idx, T >::layout_

◆ view_

template<std::size_t Idx, typename T>
View portablecollection::CollectionLeaf< Idx, T >::view_

Definition at line 32 of file PortableCollectionCommon.h.