CRTP base for specializations. More...
Classes | |
| struct | mpi_coloring |
Constructs a coloring in an MPI task. More... | |
Public Types | |
| template<privilege... Priv> | |
| using | accessor |
| The topology accessor to use as a parameter to receive a topology instance. | |
| using | base |
| The core topology base type, which can provide specialization utilities. | |
| using | coloring |
| The coloring type. | |
| using | ptr |
| A (movable) unique pointer to the topology type. | |
| using | slot |
| The slot type for declaring topology instances. | |
| using | topology |
| The topology instance type. | |
Public Types inherited from specialization_base | |
| template<auto V, class T > | |
| using | from |
| A connectivity specification. | |
| template<auto V, class T > | |
| using | entity |
| A special-entities specification. | |
| template<auto... V> | |
| using | has |
| A list of enumerators for which to store data. | |
| template<auto... V> | |
| using | to |
| A list of index spaces to use as output. | |
| template<class... TT> | |
| using | list |
| Container. | |
| using | index_space |
| The index space type. | |
| using | index_spaces |
The set of index spaces, wrapped in has. | |
| template<class B > | |
| using | interface |
| The topology interface type. | |
Defaults | |
May be overridden by policy. | |
| template<auto S> | |
| static constexpr PrivilegeCount | privilege_count |
| The number of privileges to use for an accessor. | |
| static constexpr auto | default_space () |
| The default index space to use when one is optional. | |
| static void | initialize (slot &s, coloring const &) |
| Specialization-specific initialization. | |
| static void | initialize (scheduler &, topology &t, coloring const &) |
| Specialization-specific initialization. | |
Additional Inherited Members | |
Public Member Functions inherited from specialization_base | |
| specialization_base ()=delete | |
| Specializations cannot be constructed. | |
CRTP base for specializations.
| C | topology category |
| D | derived topology type |
| using topology |
The topology instance type.
Topologies | using ptr |
A (movable) unique pointer to the topology type.
| using base |
The core topology base type, which can provide specialization utilities.
| using coloring |
The coloring type.
| using slot |
The slot type for declaring topology instances.
topology. The topology accessor to use as a parameter to receive a topology instance.
| Priv | the appropriate number of privileges |
|
staticconstexpr |
The default index space to use when one is optional.
This implementation is ill-formed if there is more than one defined.
index_space
|
static |
Specialization-specific initialization.
Called by topology_slot::allocate; specializations may specify additional parameters to be supplied there.
This implementation does nothing.
| s | the slot in which the topology has just been constructed |
scheduler::allocate if desired.
|
static |
Specialization-specific initialization.
Called by scheduler::allocate; specializations may specify additional parameters to be supplied there.
This implementation does nothing.
| t | the topology instance, just constructed |
|
staticconstexpr |
The number of privileges to use for an accessor.
This implementation produces 1.
| S | index space |