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 slot . | |
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. | |
![]() | |
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 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 "xfer" method of underlying buffers_category.
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 "xfer" method of underlying buffers_category. 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.