| 
| 
using  | plan_type = CommPlanType | 
|   | Communication plan type (Halo, Distributor) 
  | 
|   | 
| 
using  | execution_space = typename plan_type::execution_space | 
|   | Kokkos execution space. 
  | 
|   | 
| 
using  | policy_type = Kokkos::RangePolicy<execution_space> | 
|   | Kokkos execution policy. 
  | 
|   | 
| 
using  | comm_data_type = CommDataType | 
|   | Communication data type. 
  | 
|   | 
| 
using  | particle_data_type = typename comm_data_type::particle_data_type | 
|   | Particle data type. 
  | 
|   | 
| 
using  | memory_space = typename comm_data_type::memory_space | 
|   | Kokkos memory space. 
  | 
|   | 
| 
using  | data_type = typename comm_data_type::data_type | 
|   | Communication data type. 
  | 
|   | 
| 
using  | buffer_type = typename comm_data_type::buffer_type | 
|   | Communication buffer type. 
  | 
|   | 
 | 
|   | CommunicationData (const CommPlanType &comm_plan, const particle_data_type &particles, const double overallocation=1.0) | 
|   | 
| 
buffer_type  | getSendBuffer () const | 
|   | Get the communication send buffer. 
  | 
|   | 
| 
buffer_type  | getReceiveBuffer () const | 
|   | Get the communication receive buffer. 
  | 
|   | 
| 
particle_data_type  | getData () const | 
|   | Get the particles to communicate. 
  | 
|   | 
| 
void  | setData (const particle_data_type &particles) | 
|   | Update particles to communicate. 
  | 
|   | 
| auto  | sendSize () | 
|   | Current send buffer size.  
  | 
|   | 
| auto  | receiveSize () | 
|   | Current receive buffer size.  
  | 
|   | 
| 
auto  | sendCapacity () | 
|   | Current allocated send buffer space. 
  | 
|   | 
| 
auto  | receiveCapacity () | 
|   | Current allocated receive buffer space. 
  | 
|   | 
| void  | shrinkToFit (const bool use_overallocation=false) | 
|   | Reduce communication buffers to current send/receive sizes.  
  | 
|   | 
| virtual void  | apply ()=0 | 
|   | Perform the communication (migrate, gather, scatter).  
  | 
|   | 
| 
template<class ExecutionSpace>  | 
| void  | apply (ExecutionSpace) | 
|   | Perform the communication (migrate, gather, scatter). 
  | 
|   | 
template<class CommPlanType, class CommDataType>
class Cabana::CommunicationData< CommPlanType, CommDataType >
Store communication plan and communication buffers.