FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
field< T, L > Struct Template Reference

Helper type to define and access fields. More...

Classes

struct  definition
 A field registration. More...
 

Public Types

template<partition_privilege_t... PP>
using accessor = accessor1< privilege_pack< PP... > >
 The accessor to use as a parameter to receive this sort of field.
 
template<partition_privilege_t... PP>
using mutator = mutator1< privilege_pack< PP... > >
 The mutator to use as a parameter for this sort of field (usable only for certain layouts).
 
template<class R >
using reduction = reduction_accessor< R, T >
 Reduction accessor corresponding to this field type.
 

Public Member Functions

 field ()=delete
 Fields cannot be constructed. Use definition instead.
 

Detailed Description

template<class T, data::layout L = data::dense>
struct flecsi::field< T, L >

Helper type to define and access fields.

Template Parameters
Tfield value type:
  • if any non-MPI tasks use the field, T must be a trivially copyable type with no pointers or references
  • if any instance of the field is resized, T must be trivially relocatable; this weaker property is not formally recognized by the language, but common implementations of std::vector and std::unique_ptr qualify
Ldata layout

Member Typedef Documentation

◆ accessor

template<class T , data::layout L = data::dense>
template<partition_privilege_t... PP>
using accessor = accessor1<privilege_pack<PP...> >

The accessor to use as a parameter to receive this sort of field.

Template Parameters
PPthe appropriate number of privilege values, interpreted as
  • exclusive
  • shared, ghost
  • exclusive, shared, ghost

◆ mutator

template<class T , data::layout L = data::dense>
template<partition_privilege_t... PP>
using mutator = mutator1<privilege_pack<PP...> >

The mutator to use as a parameter for this sort of field (usable only for certain layouts).

Template Parameters
PPas for accessor

◆ reduction

template<class T , data::layout L = data::dense>
template<class R >
using reduction = reduction_accessor<R, T>

Reduction accessor corresponding to this field type.

This is only implemented for a Dense layout.

See also
data::reduction_accessor

Constructor & Destructor Documentation

◆ field()

template<class T , data::layout L = data::dense>
field ( )
delete

Fields cannot be constructed. Use definition instead.