template<typename IndexT>
vt::vrt::collection::CollectionHolder struct

Holds meta-data for the entire collection.

Manages the meta-data for a collection including the registered map function, index range, and holder for the actual elements mapped to this node. Provides the virtual overloaded function for running LB and destroying the collection from a type-erased base class.

Base classes

struct BaseHolder

Constructors, destructors, conversion operators

CollectionHolder(HandlerType const in_map_fn, bool const in_has_dynamic_membership, ObjGroupProxyType in_map_object, bool const in_has_bounds, IndexT const in_bounds)
Construct a collection holder for meta-data.
~CollectionHolder() virtual

Public functions

void destroy() override
Destroy the collection.

Public variables

HandlerType map_fn
bool has_dynamic_membership_
ObjGroupProxyType map_object
bool has_bounds
IndexT bounds
Holder<IndexT> holder_

Function documentation

template<typename IndexT>
vt::vrt::collection::CollectionHolder<IndexT>::CollectionHolder(HandlerType const in_map_fn, bool const in_has_dynamic_membership, ObjGroupProxyType in_map_object, bool const in_has_bounds, IndexT const in_bounds)

Construct a collection holder for meta-data.

Parameters
in_map_fn in the map function
in_has_dynamic_membership in collection has dynamic membership?
in_map_object in the map object
in_has_bounds in whether it has bounds
in_bounds in the bounds

Variable documentation

template<typename IndexT>
HandlerType vt::vrt::collection::CollectionHolder<IndexT>::map_fn

The map function

template<typename IndexT>
bool vt::vrt::collection::CollectionHolder<IndexT>::has_dynamic_membership_

Whether has dynamic membership

template<typename IndexT>
ObjGroupProxyType vt::vrt::collection::CollectionHolder<IndexT>::map_object

The map object

template<typename IndexT>
bool vt::vrt::collection::CollectionHolder<IndexT>::has_bounds

Whether it as bounds

template<typename IndexT>
IndexT vt::vrt::collection::CollectionHolder<IndexT>::bounds

The bounds

template<typename IndexT>
Holder<IndexT> vt::vrt::collection::CollectionHolder<IndexT>::holder_

Inner holder of elements