31 template<layout L,
typename T, std::
size_t Priv>
34 template<
class, layout,
class, std::
size_t>
37 template<
class T,
class Topo, std::
size_t Space>
40 run::context::instance().add_field_info<Topo, Space>(*this);
43 field_register(
const field_register &) =
delete;
44 field_register & operator=(
const field_register &) =
delete;
47 template<
class T,
class Topo, std::
size_t Space>
63 : fid_(info.fid), topology_(&topology) {}
65 field_id_t fid()
const {
82 template<
class T, layout L,
class Topo, topo::index_space_t<Topo> Space>
84 using Base =
typename field_reference::field_reference_t;
90 template<layout L2,
class T2 = T>
102 template<
class T, data::layout L = data::dense>
104 template<std::
size_t Priv>
115 topo::index_space_t<Topo> Space = topo::default_space<Topo>>
129 template<
class F, std::
size_t Priv>
130 using field_accessor =
132 template<const auto & F, std::
size_t Priv>
Definition: field_info.hh:36
constexpr size_t privilege_pack
Definition: privilege.hh:62
Access to the single element of an array.
Definition: layout.hh:39
partition_privilege_t
Definition: privilege.hh:44
Definition: topology_slot.hh:27
Definition: topology_slot.hh:30
data::field_reference< T, L, Topo, Space > operator()(const data::topology_slot< Topo > &t) const
Definition: field.hh:121
Definition: control.hh:31