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 |