SheafSystem  0.0.0.0
sheaf::poset_dof_map Class Referenceabstract

The general, abstract map from dof ids to dof values. More...

#include <poset_dof_map.h>

Inheritance diagram for sheaf::poset_dof_map:
sheaf::any fiber_bundle::section_dof_map sheaf::array_poset_dof_map sheaf::namespace_poset_dof_map sheaf::primitives_poset_dof_map fiber_bundle::array_section_dof_map fiber_bundle::field_dof_map fiber_bundle::sparse_section_dof_map fiber_bundle::array_sec_vd_dof_map fiber_bundle::array_field_dof_map fiber_bundle::sparse_field_dof_map

Public Member Functions

virtual const std::string & class_name () const
 The name of the actual (possibly derived) class of this instance. More...
 
virtual poset_dof_mapclone () const =0
 Virtual default constructor. More...
 
virtual poset_dof_mapcopy () const =0
 Virtual copy constructor. More...
 
poset_dof_mapoperator= (const poset_dof_map &xother)
 Assignment operator. More...
 
virtual ~poset_dof_map ()
 Destructor. More...
 
virtual bool invariant () const
 The class invariant. More...
 
virtual void init_row_dof_map (const poset_state_handle *xhost, pod_index_type xschema_mbr_id, int xschema_version)
 Initializes this as a map for row dofs in host xhost, with schema member specified by xschema_mbr_id and schema version xschema_version. More...
 
void init_row_dof_map (const poset_state_handle *xhost, const scoped_index &xschema_mbr_id, int xschema_version)
 Initializes this as a map for row dofs in host xhost, with schema member specified by xschema_mbr_id and schema version xschema_version. More...
 
virtual dof_tuple_type type_id () const =0
 An identifer for the type of dof tuple this is. More...
 
bool is_initialized () const
 True if this has been initialized, that is, if the schema has been set and the dof map storage allocated. More...
 
virtual poset_state_handlehost () const
 The poset which owns this. More...
 
const scoped_indexindex () const
 The index of this in host() dof tuple table. More...
 
virtual schema_poset_memberschema ()
 The schema on which this is allocated (mutable version). More...
 
virtual const schema_poset_memberschema () const
 The schema on which this is allocated (const version). More...
 
bool is_table_dof_map () const
 True if this is a table dof map. More...
 
int dof_ct () const
 The number of dofs in this map. More...
 
primitive_value dof (pod_index_type xdof_id) const
 The dof referred to by xdof_id. More...
 
primitive_value dof (const scoped_index &xdof_id) const
 The dof referred to by xdof_id. More...
 
primitive_value dof (const std::string &xname) const
 The dof with name xname. More...
 
void put_dof (pod_index_type xdof_id, const primitive_value &xdof)
 Sets the dof referred to by xdof_id to xdof. More...
 
void put_dof (const scoped_index &xdof_id, const primitive_value &xdof)
 Sets the dof referred to by xdof_id to xdof. More...
 
void put_dof (const std::string &xname, const primitive_value &xdof)
 Sets the dof with name xname to xdof. More...
 
virtual void get_dof (pod_index_type xdof_id, void *xdof, size_type xdof_size) const
 Copies the dof referred to by xdof_id into xdof. More...
 
void get_dof (const scoped_index &xdof_id, void *xdof, size_type xdof_size) const
 Copies the dof referred to by xdof_id into xdof. More...
 
virtual void put_dof (pod_index_type xdof_id, const void *xdof, size_type xdof_size)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 
void put_dof (const scoped_index &xdof_id, const void *xdof, size_type xdof_size)
 Sets the dof referred to by xdof_id to the value at xdof. More...
 
size_t dof_tuple_ub () const
 The size of the dof tuple in bytes. More...
 
virtual void * dof_tuple ()=0
 The dof tuple (mutable version). More...
 
virtual const void * dof_tuple () const =0
 The dof tuple (const version). More...
 
virtual void get_dof_tuple (void *xbuf, size_t xbuflen) const =0
 Copies the entire dof tuple from internal storage into xbuf. More...
 
virtual void put_dof_tuple (const void *xbuf, size_t xbuflen)=0
 Copies the entire dof tuple from xbuf into internal storage. More...
 
void get_dof_tuple (arg_list &xargs) const
 Copies the entire dof tuple from internal storage into xargs. More...
 
void put_dof_tuple (const arg_list &xargs)
 Copies the entire dof tuple from xargs into internal storage. More...
 
void copy_dof_tuple (const poset_dof_map &xother)
 Copies the dof tuple of xother into this. More...
 
virtual void put_defaults ()
 Sets all dofs to defualt values. More...
 
unsigned int ref_ct () const
 The number of references to this map. More...
 
void inc_ref_ct ()
 Increase the number of references to this map by one;. More...
 
void dec_ref_ct ()
 Decrease the number of references to this map by one. More...
 
int version () const
 The version of the host of the schema this is defined on. More...
 
virtual const index_space_handleclient_id_space () const
 The map from library ids to clients ids for the schema this is defined on. More...
 
std::string to_string (const schema_poset_member &xschema) const
 Return schema member dof value as a string. More...
 
std::string to_string () const
 Return dof values as a formated string. More...
 
virtual bool supports_xfr_opt () const
 True if this dof map type supports dof tuple transfer optimization. /. More...
 
- Public Member Functions inherited from sheaf::any
virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 

Static Public Member Functions

static const std::string & static_class_name ()
 The name of this class. More...
 
static poset_dof_mapnew_dof_map (const std::string &xclass_name, dof_tuple_type xsheaf_base_class_id)
 Creates an uninitialized dof map of type xclass_name, if a prototype of that name exists, otherwise of type xsheaf_base_class_id. More...
 

Protected Member Functions

 poset_dof_map ()
 Default constructor;. More...
 
 poset_dof_map (const poset_dof_map &xother)
 Copy constructor. More...
 
 poset_dof_map (const poset_state_handle *xhost, bool xis_table_dof_map)
 Creates a map for the table dofs (xis_table_dofs true) or row dofs (xis_table dofs false) for use in host xhost. More...
 
 poset_dof_map (const schema_poset_member *xschema, bool xis_table_dof_map)
 Creates a map for the table dofs (xis_table_dofs true) or row dofs (xis_table dofs false) for use in host xhost. More...
 
virtual void put_host (const poset_state_handle *xhost)
 Sets host() to xhost. More...
 
void put_index (const scoped_index &xindex)
 Sets the index of the member for which this provides the dofs. More...
 
void put_dof_ct (int xdof_ct)
 Sets dof_ct() to xdof_ct. More...
 
void put_dof_tuple_ub (size_t xub)
 Sets dof_tuple_ub() to xub. More...
 
void put_ref_ct (int xref_ct)
 Sets ref_ct() to xref_ct). More...
 
virtual void allocate_dofs ()=0
 Allocates dof storage. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Static Protected Member Functions

static dof_map_factoryfactory ()
 The dof map factory. More...
 

Protected Attributes

poset_state_handle_host
 The host of the poset member for which this stores the dofs. More...
 
scoped_index _index
 The poset member for which this stores the dofs. More...
 
schema_poset_member_schema
 The schema on which this is instantiated. More...
 
bool _is_table_dof_map
 True if this is a table dof map. More...
 
int _dof_ct
 The number of dofs in this map. More...
 
size_t _dof_tuple_ub
 The size of the dof tuple. More...
 
unsigned int _ref_ct
 The number of references to this map /. More...
 

Friends

class poset_table_state
 
class poset_state_handle
 
SHEAF_DLL_SPEC size_t deep_size (const poset_dof_map &xp, bool xinclude_shallow)
 The deep size of the referenced object of type poset_dof_map. More...
 

Detailed Description

The general, abstract map from dof ids to dof values.

Definition at line 59 of file poset_dof_map.h.

Constructor & Destructor Documentation

◆ ~poset_dof_map()

sheaf::poset_dof_map::~poset_dof_map ( )
virtual

Destructor.

Precondition

Definition at line 200 of file poset_dof_map.cc.

References invariant().

Referenced by operator=().

◆ poset_dof_map() [1/4]

sheaf::poset_dof_map::poset_dof_map ( )
protected

Default constructor;.

Postcondition
  • !is_initialized()

Definition at line 1098 of file poset_dof_map.cc.

References sheaf::is_valid().

Referenced by factory(), and poset_dof_map().

◆ poset_dof_map() [2/4]

sheaf::poset_dof_map::poset_dof_map ( const poset_dof_map xother)
protected

Copy constructor.

Precondition
  • xother.is_initialized()
Postcondition
  • schema().is_same_state(&xother.schema())

Definition at line 1135 of file poset_dof_map.cc.

References _is_table_dof_map, _schema, sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), dof_ct(), dof_tuple_ub(), host(), index(), is_initialized(), is_table_dof_map(), poset_dof_map(), and schema().

◆ poset_dof_map() [3/4]

sheaf::poset_dof_map::poset_dof_map ( const poset_state_handle xhost,
bool  xis_table_dof_map 
)
protected

Creates a map for the table dofs (xis_table_dofs true) or row dofs (xis_table dofs false) for use in host xhost.

Precondition
  • xhost != 0
  • xhost->state_is_read_accessible()
Postcondition

Definition at line 1174 of file poset_dof_map.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), sheaf::is_valid(), poset_dof_map(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ poset_dof_map() [4/4]

sheaf::poset_dof_map::poset_dof_map ( const schema_poset_member xschema,
bool  xis_table_dof_map 
)
protected

Creates a map for the table dofs (xis_table_dofs true) or row dofs (xis_table dofs false) for use in host xhost.

Precondition
  • xschema != 0
  • xschema->state_is_read_accessible()
Postcondition

Definition at line 1222 of file poset_dof_map.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), sheaf::poset_state_handle::dof_tuple_hub_id_space(), sheaf::poset_component::host(), sheaf::is_valid(), put_host(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Member Function Documentation

◆ allocate_dofs()

◆ class_name()

◆ client_id_space()

const sheaf::index_space_handle & sheaf::poset_dof_map::client_id_space ( ) const
virtual

The map from library ids to clients ids for the schema this is defined on.

Precondition
Postcondition
  • result.is_attached()

Definition at line 1040 of file poset_dof_map.cc.

References sheaf::index_space_handle::is_attached(), and supports_xfr_opt().

Referenced by sheaf::array_poset_dof_map::dof_ptr(), sheaf::namespace_poset_dof_map::namespace_poset_dof_map(), and version().

◆ clone()

sheaf::poset_dof_map * sheaf::poset_dof_map::clone ( ) const
pure virtual

◆ copy()

sheaf::poset_dof_map * sheaf::poset_dof_map::copy ( ) const
pure virtual

◆ copy_dof_tuple()

◆ dec_ref_ct()

void sheaf::poset_dof_map::dec_ref_ct ( )

Decrease the number of references to this map by one.

Postcondition

Definition at line 993 of file poset_dof_map.cc.

References version().

Referenced by inc_ref_ct(), and sheaf::poset_table_state::~poset_table_state().

◆ dof() [1/3]

◆ dof() [2/3]

sheaf::primitive_value sheaf::poset_dof_map::dof ( const scoped_index xdof_id) const

The dof referred to by xdof_id.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)

Definition at line 545 of file poset_dof_map.cc.

References dof().

◆ dof() [3/3]

sheaf::primitive_value sheaf::poset_dof_map::dof ( const std::string &  xname) const

The dof with name xname.

Precondition
  • !xname.empty()
  • schema().contains_dof(xname, is_table_dof_map())

Definition at line 567 of file poset_dof_map.cc.

References put_dof().

◆ dof_ct()

◆ dof_tuple() [1/2]

◆ dof_tuple() [2/2]

◆ dof_tuple_ub()

◆ factory()

◆ get_dof() [1/2]

void sheaf::poset_dof_map::get_dof ( pod_index_type  xdof_id,
void *  xdof,
size_type  xdof_size 
) const
virtual

Copies the dof referred to by xdof_id into xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, is_table_dof_map())
Is Abstract.

Reimplemented in fiber_bundle::array_section_dof_map, fiber_bundle::sparse_section_dof_map, fiber_bundle::array_field_dof_map, sheaf::array_poset_dof_map, fiber_bundle::array_sec_vd_dof_map, sheaf::primitives_poset_dof_map, and sheaf::namespace_poset_dof_map.

Definition at line 663 of file poset_dof_map.cc.

Referenced by sheaf::dof_tuple_record_set::externalize_all_dofs(), sheaf::dof_tuple_record_set::populate_internal_dof_map(), put_dof(), sheaf::namespace_poset_dof_map::type_id(), and sheaf::primitives_poset_dof_map::type_id().

◆ get_dof() [2/2]

void sheaf::poset_dof_map::get_dof ( const scoped_index xdof_id,
void *  xdof,
size_type  xdof_size 
) const

Copies the dof referred to by xdof_id into xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, is_table_dof_map(), false)

Definition at line 686 of file poset_dof_map.cc.

References put_dof().

◆ get_dof_tuple() [1/2]

virtual void sheaf::poset_dof_map::get_dof_tuple ( void *  xbuf,
size_t  xbuflen 
) const
pure virtual

◆ get_dof_tuple() [2/2]

void sheaf::poset_dof_map::get_dof_tuple ( arg_list xargs) const

◆ host()

◆ inc_ref_ct()

void sheaf::poset_dof_map::inc_ref_ct ( )

Increase the number of references to this map by one;.

Postcondition

Definition at line 971 of file poset_dof_map.cc.

References dec_ref_ct().

Referenced by sheaf::poset_state_handle::initialize_table_dof_tuple(), sheaf::poset_state_handle::initialize_table_dofs(), sheaf::poset_table_state::put_row_dof_tuple(), and ref_ct().

◆ index()

◆ init_row_dof_map() [1/2]

void sheaf::poset_dof_map::init_row_dof_map ( const poset_state_handle xhost,
pod_index_type  xschema_mbr_id,
int  xschema_version 
)
virtual

Initializes this as a map for row dofs in host xhost, with schema member specified by xschema_mbr_id and schema version xschema_version.

Precondition
  • !is_initialized()
  • xhost != 0
  • xhost->state_is_read_accessible()
Postcondition

Reimplemented in sheaf::primitives_poset_dof_map.

Definition at line 265 of file poset_dof_map.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), sheaf::poset_state_handle::contains_member(), sheaf::poset_state_handle::has_version(), sheaf::poset_component::host(), sheaf::is_valid(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by sheaf::member_record::internalize(), invariant(), and sheaf::dof_tuple_record_set::read_records().

◆ init_row_dof_map() [2/2]

void sheaf::poset_dof_map::init_row_dof_map ( const poset_state_handle xhost,
const scoped_index xschema_mbr_id,
int  xschema_version 
)

Initializes this as a map for row dofs in host xhost, with schema member specified by xschema_mbr_id and schema version xschema_version.

Precondition
  • !is_initialized()
  • xhost != 0
  • xhost->state_is_read_accessible()
Postcondition

Definition at line 329 of file poset_dof_map.cc.

References sheaf::poset_state_handle::contains_member(), sheaf::poset_state_handle::has_version(), sheaf::poset_component::host(), sheaf::scoped_index::hub_pod(), is_initialized(), sheaf::is_valid(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ invariant()

bool sheaf::poset_dof_map::invariant ( ) const
virtual

◆ is_initialized()

bool sheaf::poset_dof_map::is_initialized ( ) const

True if this has been initialized, that is, if the schema has been set and the dof map storage allocated.

Definition at line 376 of file poset_dof_map.cc.

References host().

Referenced by sheaf::array_poset_dof_map::array_poset_dof_map(), fiber_bundle::array_sec_vd_dof_map::array_sec_vd_dof_map(), fiber_bundle::array_section_dof_map::array_section_dof_map(), sheaf::deep_size(), sheaf::dof_map_factory::delete_prototype(), fiber_bundle::sparse_field_dof_map::get_component_dofs(), fiber_bundle::array_field_dof_map::get_component_dofs(), sheaf::primitives_poset_dof_map::init_row_dof_map(), init_row_dof_map(), sheaf::dof_map_factory::insert_prototype(), sheaf::primitives_poset_dof_map::invariant(), sheaf::namespace_poset_dof_map::namespace_poset_dof_map(), sheaf::dof_map_factory::new_dof_map(), new_dof_map(), fiber_bundle::field_dof_map::operator=(), fiber_bundle::section_dof_map::operator=(), fiber_bundle::array_sec_vd_dof_map::operator=(), sheaf::array_poset_dof_map::operator=(), sheaf::primitives_poset_dof_map::operator=(), fiber_bundle::array_section_dof_map::operator=(), sheaf::namespace_poset_dof_map::operator=(), fiber_bundle::sparse_field_dof_map::operator=(), fiber_bundle::array_field_dof_map::operator=(), operator=(), fiber_bundle::sparse_section_dof_map::operator=(), poset_dof_map(), sheaf::primitives_poset_dof_map::primitives_poset_dof_map(), fiber_bundle::sparse_field_dof_map::put_component_dofs(), fiber_bundle::array_field_dof_map::put_component_dofs(), fiber_bundle::section_dof_map::section_dof_map(), and fiber_bundle::sparse_section_dof_map::sparse_section_dof_map().

◆ is_table_dof_map()

◆ new_dof_map()

sheaf::poset_dof_map * sheaf::poset_dof_map::new_dof_map ( const std::string &  xclass_name,
dof_tuple_type  xsheaf_base_class_id 
)
static

Creates an uninitialized dof map of type xclass_name, if a prototype of that name exists, otherwise of type xsheaf_base_class_id.

Postcondition
  • result != 0

Definition at line 77 of file poset_dof_map.cc.

References clone(), and is_initialized().

Referenced by sheaf::member_record::internalize(), and static_class_name().

◆ operator=()

sheaf::poset_dof_map & sheaf::poset_dof_map::operator= ( const poset_dof_map xother)

Assignment operator.

Precondition
  • xother.is_initialized()
Postcondition
  • schema().is_same_state(&xother.schema())

Definition at line 152 of file poset_dof_map.cc.

References _dof_ct, _dof_tuple_ub, _host, _index, _is_table_dof_map, _schema, sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), dof_ct(), dof_tuple_ub(), host(), index(), is_initialized(), is_table_dof_map(), schema(), and ~poset_dof_map().

Referenced by copy(), sheaf::array_poset_dof_map::operator=(), and sheaf::namespace_poset_dof_map::operator=().

◆ put_defaults()

void sheaf::poset_dof_map::put_defaults ( )
virtual

Sets all dofs to defualt values.

Precondition
Postcondition
  • -unexecutable( xargs copied to dof tuple )

Definition at line 915 of file poset_dof_map.cc.

References sheaf::poset_component::index(), sheaf::poset_dof_iterator::is_done(), sheaf::poset_dof_iterator::item(), sheaf::poset_dof_iterator::next(), ref_ct(), sheaf::tuple(), and sheaf::schema_poset_member::type().

Referenced by copy_dof_tuple(), and sheaf::poset_state_handle::new_row_dof_map().

◆ put_dof() [1/5]

void sheaf::poset_dof_map::put_dof ( pod_index_type  xdof_id,
const primitive_value xdof 
)

Sets the dof referred to by xdof_id to xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • xdof.id() == schema().type(xdof_id, is_table_dof_map())
Postcondition
  • dof(xdof_id) == xdof

Definition at line 590 of file poset_dof_map.cc.

References sheaf::primitive_value::id(), and sheaf::primitive_value::value().

Referenced by dof(), get_dof(), sheaf::dof_tuple_record_set::internalize_all_dofs(), sheaf::dof_tuple_record_set::populate_internal_dof_map(), put_dof(), sheaf::namespace_poset_dof_map::type_id(), and sheaf::primitives_poset_dof_map::type_id().

◆ put_dof() [2/5]

void sheaf::poset_dof_map::put_dof ( const scoped_index xdof_id,
const primitive_value xdof 
)

Sets the dof referred to by xdof_id to xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • xdof.id() == schema().type(xdof_id, is_table_dof_map(), false)
Postcondition
  • dof(xdof_id) == xdof

Definition at line 613 of file poset_dof_map.cc.

References sheaf::primitive_value::id(), and put_dof().

◆ put_dof() [3/5]

void sheaf::poset_dof_map::put_dof ( const std::string &  xname,
const primitive_value xdof 
)

Sets the dof with name xname to xdof.

Precondition
  • schema().contains_dof(xname, is_table_dof_map())
  • xdof.id() == schema().type(xname, is_table_dof_map(), false)
Postcondition
  • dof(xname) == xdof

Definition at line 638 of file poset_dof_map.cc.

References get_dof(), and sheaf::primitive_value::id().

◆ put_dof() [4/5]

void sheaf::poset_dof_map::put_dof ( pod_index_type  xdof_id,
const void *  xdof,
size_type  xdof_size 
)
virtual

Sets the dof referred to by xdof_id to the value at xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, is_table_dof_map())
Is Abstract.

Reimplemented in fiber_bundle::array_section_dof_map, fiber_bundle::sparse_section_dof_map, sheaf::array_poset_dof_map, sheaf::primitives_poset_dof_map, and sheaf::namespace_poset_dof_map.

Definition at line 711 of file poset_dof_map.cc.

References put_dof().

◆ put_dof() [5/5]

void sheaf::poset_dof_map::put_dof ( const scoped_index xdof_id,
const void *  xdof,
size_type  xdof_size 
)

Sets the dof referred to by xdof_id to the value at xdof.

Precondition
  • schema().dof_id_space(is_table_dof_map()).contains(xdof_id)
  • -unexecutable( "xdof points to buffer of size xdof_size" )
  • xdof_size >= schema().size(xdof_id, is_table_dof_map(), false)

Definition at line 734 of file poset_dof_map.cc.

References dof_tuple_ub().

◆ put_dof_ct()

void sheaf::poset_dof_map::put_dof_ct ( int  xdof_ct)
protected

Sets dof_ct() to xdof_ct.

Postcondition

Definition at line 1314 of file poset_dof_map.cc.

References put_dof_tuple_ub().

Referenced by put_index().

◆ put_dof_tuple() [1/2]

◆ put_dof_tuple() [2/2]

void sheaf::poset_dof_map::put_dof_tuple ( const arg_list xargs)

Copies the entire dof tuple from xargs into internal storage.

Precondition
Postcondition
Todo:
implement the following: ensure(*this == xargs);
Postcondition
  • -unexecutable( "xargs copied to dof tuple" )

Definition at line 834 of file poset_dof_map.cc.

References sheaf::arg_list::conforms_to(), copy_dof_tuple(), sheaf::arg_list::ct(), sheaf::poset_component::index(), sheaf::arg_list::index(), sheaf::poset_dof_iterator::is_done(), sheaf::poset_dof_iterator::item(), sheaf::schema_poset_member::name(), sheaf::poset_dof_iterator::next(), and sheaf::arg_list::value().

◆ put_dof_tuple_ub()

void sheaf::poset_dof_map::put_dof_tuple_ub ( size_t  xub)
protected

Sets dof_tuple_ub() to xub.

Postcondition

Definition at line 1334 of file poset_dof_map.cc.

References put_ref_ct().

Referenced by put_dof_ct().

◆ put_host()

void sheaf::poset_dof_map::put_host ( const poset_state_handle xhost)
protectedvirtual

◆ put_index()

void sheaf::poset_dof_map::put_index ( const scoped_index xindex)
protected

Sets the index of the member for which this provides the dofs.

Precondition
Postcondition

Definition at line 1293 of file poset_dof_map.cc.

References sheaf::scoped_index::is_positive(), sheaf::scoped_index::is_valid(), and put_dof_ct().

Referenced by put_host(), and sheaf::poset_table_state::put_row_dof_tuple().

◆ put_ref_ct()

void sheaf::poset_dof_map::put_ref_ct ( int  xref_ct)
protected

Sets ref_ct() to xref_ct).

Precondition
  • xref_ct >= 0
Postcondition

Definition at line 1354 of file poset_dof_map.cc.

References to_string().

Referenced by put_dof_tuple_ub().

◆ ref_ct()

◆ schema() [1/2]

sheaf::schema_poset_member & sheaf::poset_dof_map::schema ( )
virtual

The schema on which this is allocated (mutable version).

Precondition

Reimplemented in fiber_bundle::section_dof_map.

Definition at line 432 of file poset_dof_map.cc.

Referenced by sheaf::array_poset_dof_map::allocate_dofs(), sheaf::namespace_poset_dof_map::allocate_dofs(), sheaf::array_poset_dof_map::array_poset_dof_map(), sheaf::poset_state_handle::clone_row_dof_map(), sheaf::dof_tuple_record_set::compute_ext_id(), copy_dof_tuple(), sheaf::array_poset_dof_map::dof_ptr(), sheaf::dof_tuple_record_set::externalize(), sheaf::dof_tuple_record_set::externalize_all_dofs(), sheaf::dof_tuple_record_set::externalize_domain(), sheaf::namespace_poset_dof_map::get_dof(), sheaf::primitives_poset_dof_map::get_dof(), sheaf::array_poset_dof_map::get_dof(), index(), sheaf::dof_tuple_record_set::internalize_all_dofs(), sheaf::primitives_poset_dof_map::invariant(), sheaf::poset_table_state::invariant(), sheaf::abstract_poset_member::new_jim_state(), fiber_bundle::binary_section_space_schema_poset::new_state(), fiber_bundle::product_section_space_schema_poset::new_state(), sheaf::poset_state_handle::new_state(), sheaf::primitives_poset_dof_map::operator=(), operator=(), sheaf::dof_tuple_record_set::populate_internal_dof_map(), poset_dof_map(), sheaf::primitives_poset_dof_map::primitives_poset_dof_map(), sheaf::namespace_poset_dof_map::put_dof(), sheaf::primitives_poset_dof_map::put_dof(), sheaf::array_poset_dof_map::put_dof(), sheaf::dof_tuple_record_set::read_records(), and sheaf::namespace_poset::~namespace_poset().

◆ schema() [2/2]

const sheaf::schema_poset_member & sheaf::poset_dof_map::schema ( ) const
virtual

The schema on which this is allocated (const version).

Precondition

Reimplemented in fiber_bundle::section_dof_map.

Definition at line 451 of file poset_dof_map.cc.

References is_table_dof_map().

◆ static_class_name()

const std::string & sheaf::poset_dof_map::static_class_name ( )
static

The name of this class.

Postcondition
  • !result.empty()
  • result == "poset_dof_map"

Definition at line 57 of file poset_dof_map.cc.

References new_dof_map().

Referenced by class_name().

◆ supports_xfr_opt()

bool sheaf::poset_dof_map::supports_xfr_opt ( ) const
virtual

True if this dof map type supports dof tuple transfer optimization. /.

Hack:
dof tuple transfer hack. /
Hack:
dof tuple transfer hack.

Reimplemented in fiber_bundle::sparse_field_dof_map, fiber_bundle::section_dof_map, and fiber_bundle::sparse_section_dof_map.

Definition at line 1062 of file poset_dof_map.cc.

References factory().

Referenced by client_id_space(), sheaf::dof_tuple_record_set::externalize_all_dofs(), sheaf::dof_tuple_record_set::internalize_all_dofs(), and sheaf::dof_tuple_record_set::populate_internal_dof_map().

◆ to_string() [1/2]

std::string sheaf::poset_dof_map::to_string ( const schema_poset_member xschema) const

Return schema member dof value as a string.

Definition at line 1375 of file poset_dof_map.cc.

References sheaf::poset_component::index(), sheaf::schema_poset_member::name(), and to_string().

Referenced by sheaf::operator<<().

◆ to_string() [2/2]

std::string sheaf::poset_dof_map::to_string ( ) const

Return dof values as a formated string.

Definition at line 1396 of file poset_dof_map.cc.

References sheaf::poset_dof_iterator::is_done(), sheaf::poset_dof_iterator::item(), and sheaf::poset_dof_iterator::next().

Referenced by put_ref_ct(), and to_string().

◆ type_id()

◆ version()

int sheaf::poset_dof_map::version ( ) const

The version of the host of the schema this is defined on.

Precondition

Definition at line 1017 of file poset_dof_map.cc.

References client_id_space().

Referenced by dec_ref_ct(), sheaf::dof_tuple_record_set::internalize_all_dofs(), sheaf::poset_table_state::invariant(), and fiber_bundle::section_dof_map::section_dof_map().

Friends And Related Function Documentation

◆ deep_size

SHEAF_DLL_SPEC size_t deep_size ( const poset_dof_map xp,
bool  xinclude_shallow 
)
friend

The deep size of the referenced object of type poset_dof_map.

Member Data Documentation

◆ _dof_ct

◆ _dof_tuple_ub

◆ _host

◆ _index

◆ _is_table_dof_map

◆ _ref_ct

unsigned int sheaf::poset_dof_map::_ref_ct
protected

The number of references to this map /.

Hack:
need to fully implement reference counting of maps /

Definition at line 424 of file poset_dof_map.h.

Referenced by sheaf::primitives_poset_dof_map::init_row_dof_map(), sheaf::primitives_poset_dof_map::operator=(), sheaf::primitives_poset_dof_map::primitives_poset_dof_map(), and fiber_bundle::section_dof_map::section_dof_map().

◆ _schema


The documentation for this class was generated from the following files: