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. | |
![]() | |
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 | |
![]() | |
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 |