template<typename ColT>
ConstructParams struct
fwd-declare the PO constructor
A parameter configuration object for building a collection.
Public types
- using ThisType = ConstructParams<ColT>
- using IndexType = typename ColT::IndexType
- using ProxyType = CollectionProxy<ColT>
- using ApplyFnType = std::function<void(IndexType)>
- using ProxyFnType = std::function<void(ProxyType)>
- using VirtualPtrType = std::unique_ptr<Indexable<IndexType>>
- using ConstructFnType = std::function<VirtualPtrType(IndexType)>
- using ListInsertType = std::function<void(ApplyFnType)>
- using ListInsertElmType = std::tuple<IndexType, std::unique_ptr<ColT>>
Constructors, destructors, conversion operators
- ConstructParams() defaulted
- ConstructParams(ConstructParams&&) defaulted
- ConstructParams(ConstructParams const& x)
- ~ConstructParams()
Public functions
- auto bounds(IndexType in_bounds) -> ThisType&&
- Specify the bounds for the collection. If it doesn't have dynamic membership this whole range will be constructed.
- auto migratable(bool is_migratable) -> ThisType&&
- Whether this is collection is migratable.
-
template<mapping::auto mapperFunc() -> ThisType&&
ActiveMapTypedFnType<IndexType> fn> - Explicitly specify and register a map for the collection.
- auto mapperHandler(HandlerType in_map_han) -> ThisType&&
- Explicitly specify and register a map for the collection.
-
template<typename ProxyT, typename ObjGroupT = typename ProxyT::ObjGroupType, typename IndexT = typename ObjGroupT::BaseIndexType>auto mapperObjGroup(ProxyT proxy, std::enable_if_t<std::is_convertible<ObjGroupT*, mapping::
BaseMapper<IndexT>*>::value>* = nullptr) -> ThisType&& - Explicitly specify an existing objgroup for the mapper.
-
template<typename T, typename... Args>auto mapperObjGroupConstruct(Args && ... args) -> ThisType&&
- Specify a objgroup type for the mapper to construct and then use for the mapping.
- auto elementConstructor(ConstructFnType in_cons_fn) -> ThisType&&
- Specify a non-default constructor for each element.
- auto dynamicMembership(bool is_dynamic_membership) -> ThisType&&
- Specify whether the collection has dynamic membership.
- auto bulkInsert(IndexType in_bulk_range) -> ThisType&&
- Bulk insert a range for the collection.
- auto bulkInsert() -> ThisType&&
- Bulk insert the entire bounds of a collection.
-
template<typename Iter>auto listInsert(Iter begin, Iter end) -> ThisType&&
- Insert a list of elements.
-
template<typename Container>auto listInsert(Container const& c) -> ThisType&&
- Insert a list of elements.
-
template<typename Container>auto listInsertHere(Container&& c) -> ThisType&&
- Insert a list of elements here (on this node)
-
template<typename Iter>auto listInsertHere(Iter begin, Iter end) -> ThisType&&
- Insert a list of elements here (on this node)
- auto deferWithEpoch(ProxyFnType cb) -> EpochType
- Construct and return an epoch to wait on for construction to finish.
- auto wait() -> ProxyType
- Wait for construction to complete and then return the proxy.
- auto collective(bool is_collective) -> ThisType&&
- Specify whether this is a collective construction of the collection.
-
template<typename SerializerT>void serialize(SerializerT& s)
Public variables
- friend CollectionManager
Friends
- auto makeCollectionImpl(std::string const&, bool const) -> ThisType
- fwd-declare the builder helper function
Function documentation
template<typename ColT>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: migratable(bool is_migratable)
Whether this is collection is migratable.
Parameters | |
---|---|
is_migratable in | is migratable? |
template<typename ColT>
template<typename ProxyT, typename ObjGroupT = typename ProxyT::ObjGroupType, typename IndexT = typename ObjGroupT::BaseIndexType>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: mapperObjGroup(ProxyT proxy,
std::enable_if_t<std::is_convertible<ObjGroupT*, mapping:: BaseMapper<IndexT>*>::value>* = nullptr)
Explicitly specify an existing objgroup for the mapper.
Parameters | |
---|---|
proxy in | the typed objgroup proxy of the mapper |
template<typename ColT>
template<typename T, typename... Args>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: mapperObjGroupConstruct(Args && ... args)
Specify a objgroup type for the mapper to construct and then use for the mapping.
template<typename ColT>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: elementConstructor(ConstructFnType in_cons_fn)
Specify a non-default constructor for each element.
Parameters | |
---|---|
in_cons_fn in | the construction function |
template<typename ColT>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: dynamicMembership(bool is_dynamic_membership)
Specify whether the collection has dynamic membership.
Parameters | |
---|---|
is_dynamic_membership in | dynamic membership? |
template<typename ColT>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: bulkInsert(IndexType in_bulk_range)
Bulk insert a range for the collection.
Parameters | |
---|---|
in_bulk_range in | the bulk insertion range |
template<typename ColT>
template<typename Iter>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: listInsert(Iter begin,
Iter end)
Insert a list of elements.
Parameters | |
---|---|
begin in | begin iterator |
end in | end iterator |
template<typename ColT>
template<typename Container>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: listInsert(Container const& c)
Insert a list of elements.
Parameters | |
---|---|
c in | the iterable container of elements to insert |
template<typename ColT>
template<typename Container>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: listInsertHere(Container&& c)
Insert a list of elements here (on this node)
Parameters | |
---|---|
c in | the iterable container of elements to insert |
template<typename ColT>
template<typename Iter>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: listInsertHere(Iter begin,
Iter end)
Insert a list of elements here (on this node)
template<typename ColT>
EpochType vt:: vrt:: collection:: param:: ConstructParams<ColT>:: deferWithEpoch(ProxyFnType cb)
Construct and return an epoch to wait on for construction to finish.
Parameters | |
---|---|
cb in | callback with the proxy once the collection's construction is complete |
Returns | the epoch to wait on |
template<typename ColT>
ThisType&& vt:: vrt:: collection:: param:: ConstructParams<ColT>:: collective(bool is_collective)
Specify whether this is a collective construction of the collection.
Parameters | |
---|---|
is_collective in | is collective? |