A movable slot that holds a topology, constructed upon request. More...
Public Member Functions | |
template<typename... AA> | |
topology & | allocate (const coloring &c, AA &&... aa) |
template<typename... AA> | |
topology & | allocate (scheduler &s, const coloring &c, AA &&... aa) |
Create the topology. | |
Color | colors () const |
Return the number of colors for the topology, which must exist. | |
void | deallocate () |
Destroy the topology. | |
topology & | get () |
Get the topology instance, which must exist. | |
bool | is_allocated () const |
Return whether or not this slot is allocated. | |
topology * | operator-> () |
Access a member of the topology instance, which must exist. | |
A movable slot that holds a topology, constructed upon request.
Declare a task parameter as a topology_accessor
to use the topology.
specialization
provides aliases for both these types. topology_slot
outlives start
or control
, use deallocate
before it returns. Topo::topology
or Topo::ptr
. topology & allocate | ( | scheduler & | s, |
const coloring & | c, | ||
AA &&... | aa ) |
Create the topology.
c | coloring |
aa | further specialization-specific parameters |
topology & allocate | ( | const coloring & | c, |
AA &&... | aa ) |
scheduler
. void deallocate | ( | ) |
Destroy the topology.
bool is_allocated | ( | ) | const |
Return whether or not this slot is allocated.
topology & get | ( | ) |
Get the topology instance, which must exist.
topology * operator-> | ( | ) |
Access a member of the topology instance, which must exist.
Color colors | ( | ) | const |
Return the number of colors for the topology, which must exist.