FleCSI Core API Version: 2.3.2
 
Loading...
Searching...
No Matches
buffers Struct Reference

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.
 
- Public Types inherited from specialization< detail::buffers_category, 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.
 
- 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.
 

Additional Inherited Members

- Public Member Functions inherited from specialization_base
 specialization_base ()=delete
 Specializations cannot be constructed.
 
- Static Public Member Functions inherited from specialization< detail::buffers_category, buffers >
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 Public Attributes inherited from specialization< detail::buffers_category, buffers >
static constexpr PrivilegeCount privilege_count
 The number of privileges to use for an accessor.
 

Detailed Description

The buffers type provides an interface for dynamic amounts of data.

This subtopology type also provides conveniences for transfer tasks.

Member Typedef Documentation

◆ Start

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.

◆ Transfer

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.