The buffers type provides an interface for dynamic amounts of data. More...
Classes | |
struct | ragged |
Utility to transfer the contents of ragged rows via buffers. More... | |
Public Types | |
using | Start |
Alias Start is used to provide accessor to the sending buffers. | |
using | Transfer |
Alias Transfer is used to provide accessor to the receiving buffers. | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
specialization_base ()=delete | |
Specializations cannot be constructed. | |
![]() | |
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. | |
![]() | |
static constexpr PrivilegeCount | privilege_count |
The number of privileges to use for an accessor. | |
The buffers type provides an interface for dynamic amounts of data.
This subtopology type also provides conveniences for transfer tasks.
using Start |
Alias Start is used to provide accessor to the sending buffers.
It should be part of the signature of the two function objects (F, G) needed by the topoogy::xfer method.
using Transfer |
Alias Transfer is used to provide accessor to the receiving buffers.
It should be part of the signature of the two function objects (F, G) needed by the topology::xfer method. Since copy_plan supports only copies between parts of the same logical region, we can't use WRITE_DISCARD for the send buffer. We therefore use rw for it so that transfer functions can use it to resume large jobs.