SheafSystem
0.0.0.0
|
An array representation of abstract class poset_dof_map. More...
#include <array_poset_dof_map.h>
Public Member Functions | |
virtual const std::string & | class_name () const |
The name of the actual (possibly derived) class of this instance. More... | |
array_poset_dof_map () | |
Default constructor; protected because doesn't initialize schema. More... | |
virtual array_poset_dof_map * | clone () const |
Virtual default constructor. More... | |
array_poset_dof_map (const array_poset_dof_map &xother) | |
Copy constructor. More... | |
virtual array_poset_dof_map * | copy () const |
Virtual copy constructor. More... | |
array_poset_dof_map & | operator= (const array_poset_dof_map &xother) |
Assignment operator. More... | |
virtual | ~array_poset_dof_map () |
Destructor. More... | |
virtual bool | invariant () const |
The class invariant. More... | |
array_poset_dof_map (const poset_state_handle *xhost, bool xis_table_dof_map, void *xdofs=0, size_t xdofs_ub=0) | |
If xis_table_dof_map, creates a table dof map (xis_table_dof true) or a row dof map (xis_table_dof false) for xhost. If xdofs is non zero, it will be used for dof storage, otherwise storage will be allocated. More... | |
array_poset_dof_map (const schema_poset_member *xschema, bool xis_table_dof_map) | |
Creates a table dof map (xis_table_dof true) or a row dof map (xis_table_dof false) on schema xschema. Intended mostly for use by i/o subsystem. More... | |
virtual dof_tuple_type | type_id () const |
An identifer for the type of dof tuple this is. 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... | |
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... | |
virtual void * | dof_tuple () |
The dof tuple (mutable version). More... | |
virtual const void * | dof_tuple () const |
The dof tuple (const version). More... | |
virtual void | get_dof_tuple (void *xbuf, size_t xbuflen) const |
Copies the entire dof tuple from internal storage into xbuf. More... | |
virtual void | put_dof_tuple (const void *xbuf, size_t xbuflen) |
Copies the entire dof tuple from xbuf into internal storage. More... | |
char * | dof_ptr (const schema_poset_member &xschema_mbr) |
Pointer to the first byte of the dof associated with xschema_mbr. More... | |
char * | dof_ptr (int xclient_id) |
Pointer to the first byte of the dof associated with xclient_id. More... | |
char * | dofs () |
OBSOLETE; use dof_tuple() instead (mutable version). More... | |
const char * | dofs () const |
OBSOLETE; use dof_tuple() instead (const version). More... | |
Public Member Functions inherited from sheaf::poset_dof_map | |
poset_dof_map & | operator= (const poset_dof_map &xother) |
Assignment operator. More... | |
virtual | ~poset_dof_map () |
Destructor. 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... | |
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_handle * | host () const |
The poset which owns this. More... | |
const scoped_index & | index () const |
The index of this in host() dof tuple table. More... | |
virtual schema_poset_member & | schema () |
The schema on which this is allocated (mutable version). More... | |
virtual const schema_poset_member & | schema () 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... | |
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... | |
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... | |
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_handle & | client_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 Public Member Functions inherited from sheaf::poset_dof_map | |
static const std::string & | static_class_name () |
The name of this class. More... | |
static poset_dof_map * | new_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 | |
void | init_dofs (void *xdofs) |
Allocates dof array. More... | |
virtual void | allocate_dofs () |
Allocates dof storage. More... | |
bool | dof_in_bounds (pod_index_type xdof_id) const |
True if and only if the dof asociated with id xdof_id is within the bounds of the dofs storage. More... | |
Protected Member Functions inherited from sheaf::poset_dof_map | |
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... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Friends | |
class | namespace_poset |
Additional Inherited Members | |
Static Protected Member Functions inherited from sheaf::poset_dof_map | |
static dof_map_factory & | factory () |
The dof map factory. More... | |
Protected Attributes inherited from sheaf::poset_dof_map | |
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... | |
An array representation of abstract class poset_dof_map.
Definition at line 43 of file array_poset_dof_map.h.
sheaf::array_poset_dof_map::array_poset_dof_map | ( | ) |
Default constructor; protected because doesn't initialize schema.
Definition at line 84 of file array_poset_dof_map.cc.
References clone(), invariant(), and sheaf::poset_dof_map::is_initialized().
Referenced by array_poset_dof_map(), clone(), copy(), dof_in_bounds(), invariant(), and static_class_name().
sheaf::array_poset_dof_map::array_poset_dof_map | ( | const array_poset_dof_map & | xother | ) |
Copy constructor.
Definition at line 135 of file array_poset_dof_map.cc.
References copy(), invariant(), and sheaf::poset_dof_map::is_initialized().
|
virtual |
Destructor.
Definition at line 246 of file array_poset_dof_map.cc.
References invariant(), and sheaf::dof_descriptor_array::remove_reference().
Referenced by operator=().
sheaf::array_poset_dof_map::array_poset_dof_map | ( | const poset_state_handle * | xhost, |
bool | xis_table_dof_map, | ||
void * | xdofs = 0 , |
||
size_t | xdofs_ub = 0 |
||
) |
If xis_table_dof_map, creates a table dof map (xis_table_dof true) or a row dof map (xis_table_dof false) for xhost. If xdofs is non zero, it will be used for dof storage, otherwise storage will be allocated.
Definition at line 315 of file array_poset_dof_map.cc.
References sheaf::dof_descriptor_array::add_reference(), array_poset_dof_map(), sheaf::poset_dof_map::dof_ct(), sheaf::schema_poset_member::dof_descriptors(), dof_tuple(), sheaf::schema_poset_member::dof_tuple_ub(), init_dofs(), sheaf::poset_dof_map::is_table_dof_map(), sheaf::poset_dof_map::schema(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
sheaf::array_poset_dof_map::array_poset_dof_map | ( | const schema_poset_member * | xschema, |
bool | xis_table_dof_map | ||
) |
Creates a table dof map (xis_table_dof true) or a row dof map (xis_table_dof false) on schema xschema. Intended mostly for use by i/o subsystem.
Definition at line 350 of file array_poset_dof_map.cc.
References sheaf::dof_descriptor_array::add_reference(), sheaf::poset_dof_map::dof_ct(), sheaf::schema_poset_member::dof_ct(), sheaf::schema_poset_member::dof_descriptors(), dof_tuple(), init_dofs(), sheaf::poset_dof_map::is_table_dof_map(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and type_id().
|
protectedvirtual |
Allocates dof storage.
Implements sheaf::poset_dof_map.
Definition at line 676 of file array_poset_dof_map.cc.
References sheaf::dof_descriptor_array::add_reference(), sheaf::schema_poset_member::dof_descriptors(), dof_in_bounds(), init_dofs(), and sheaf::poset_dof_map::schema().
Referenced by init_dofs().
|
virtual |
The name of the actual (possibly derived) class of this instance.
Reimplemented from sheaf::poset_dof_map.
Definition at line 42 of file array_poset_dof_map.cc.
References static_class_name().
|
virtual |
Virtual default constructor.
Implements sheaf::poset_dof_map.
Definition at line 110 of file array_poset_dof_map.cc.
References array_poset_dof_map(), and sheaf::any::is_same_type().
Referenced by array_poset_dof_map().
|
virtual |
Virtual copy constructor.
Implements sheaf::poset_dof_map.
Definition at line 162 of file array_poset_dof_map.cc.
References array_poset_dof_map(), sheaf::any::is_same_type(), and operator=().
Referenced by array_poset_dof_map().
|
protected |
True if and only if the dof asociated with id xdof_id is within the bounds of the dofs storage.
Definition at line 701 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::_dof_tuple_ub, array_poset_dof_map(), sheaf::poset_dof_map::factory(), and sheaf::dof_map_factory::insert_prototype().
Referenced by allocate_dofs(), get_dof(), and put_dof().
char * sheaf::array_poset_dof_map::dof_ptr | ( | const schema_poset_member & | xschema_mbr | ) |
Pointer to the first byte of the dof associated with xschema_mbr.
Definition at line 586 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::client_id_space(), sheaf::poset_component::index(), and sheaf::poset_dof_map::schema().
Referenced by put_dof_tuple().
char * sheaf::array_poset_dof_map::dof_ptr | ( | int | xclient_id | ) |
Pointer to the first byte of the dof associated with xclient_id.
Definition at line 610 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::dof_ct(), and init_dofs().
|
virtual |
The dof tuple (mutable version).
Implements sheaf::poset_dof_map.
Definition at line 489 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::dof_ct(), and invariant().
Referenced by array_poset_dof_map(), fiber_bundle::base_space_member::db(), geometry::sec_ed_invertible::point_at_value_pa(), put_dof(), and fiber_bundle::sec_vd::value_at_point_pa().
|
virtual |
The dof tuple (const version).
Implements sheaf::poset_dof_map.
Definition at line 512 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::dof_ct(), get_dof_tuple(), and invariant().
|
inline |
OBSOLETE; use dof_tuple() instead (mutable version).
Definition at line 187 of file array_poset_dof_map.h.
|
inline |
OBSOLETE; use dof_tuple() instead (const version).
Definition at line 195 of file array_poset_dof_map.h.
|
virtual |
Copies the dof referred to by xdof_id into xdof.
Reimplemented from sheaf::poset_dof_map.
Definition at line 414 of file array_poset_dof_map.cc.
References dof_in_bounds(), sheaf::poset_dof_map::is_table_dof_map(), put_dof(), and sheaf::poset_dof_map::schema().
Referenced by type_id().
|
virtual |
Copies the entire dof tuple from internal storage into xbuf.
Implements sheaf::poset_dof_map.
Definition at line 535 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::dof(), sheaf::poset_dof_map::dof_ct(), sheaf::poset_dof_map::dof_tuple_ub(), invariant(), put_dof_tuple(), and sheaf::tuple().
Referenced by dof_tuple(), and sheaf::table_dof_tuple_record::transfer_poset_to_internal_buffer().
|
protected |
Allocates dof array.
Definition at line 638 of file array_poset_dof_map.cc.
References allocate_dofs(), sheaf::poset_dof_map::dof_ct(), and sheaf::poset_dof_map::dof_tuple_ub().
Referenced by allocate_dofs(), array_poset_dof_map(), and dof_ptr().
|
virtual |
The class invariant.
Reimplemented from sheaf::poset_dof_map.
Definition at line 276 of file array_poset_dof_map.cc.
References array_poset_dof_map(), sheaf::any::disable_invariant_check(), sheaf::poset_dof_map::dof_ct(), sheaf::poset_dof_map::dof_tuple_ub(), sheaf::any::enable_invariant_check(), sheaf::poset_dof_map::invariant(), and sheaf::any::invariant_check().
Referenced by array_poset_dof_map(), dof_tuple(), get_dof_tuple(), operator=(), put_dof_tuple(), and ~array_poset_dof_map().
sheaf::array_poset_dof_map & sheaf::array_poset_dof_map::operator= | ( | const array_poset_dof_map & | xother | ) |
Assignment operator.
Definition at line 188 of file array_poset_dof_map.cc.
References sheaf::dof_descriptor_array::add_reference(), sheaf::poset_dof_map::dof_tuple_ub(), invariant(), sheaf::poset_dof_map::is_initialized(), sheaf::poset_dof_map::operator=(), sheaf::dof_descriptor_array::remove_reference(), and ~array_poset_dof_map().
Referenced by copy().
|
virtual |
Sets the dof referred to by xdof_id to the value at xdof.
Reimplemented from sheaf::poset_dof_map.
Definition at line 449 of file array_poset_dof_map.cc.
References dof_in_bounds(), dof_tuple(), sheaf::poset_dof_map::is_table_dof_map(), and sheaf::poset_dof_map::schema().
Referenced by get_dof(), fiber_bundle::sec_atp_space::new_table(), fiber_bundle::at0_space::new_table(), fiber_bundle::sec_at1_space::new_table(), fiber_bundle::at1_space::new_table(), fiber_bundle::sec_at0_space::new_table(), fiber_bundle::sec_stp_space::new_table(), fiber_bundle::binary_section_space_schema_poset::new_table(), fiber_bundle::stp_space::new_table(), fiber_bundle::atp_space::new_table(), fiber_bundle::sec_rep_descriptor_poset::new_table(), fiber_bundle::vd_space::new_table(), fiber_bundle::tuple_space::new_table(), fiber_bundle::sec_vd_space::new_table(), fiber_bundle::sec_tp_space::new_table(), fiber_bundle::tp_space::new_table(), fiber_bundle::gln_space::new_table(), fiber_bundle::jcb_space::new_table(), fiber_bundle::sec_jcb_space::new_table(), and fiber_bundle::base_space_poset::new_table().
|
virtual |
Copies the entire dof tuple from xbuf into internal storage.
Implements sheaf::poset_dof_map.
Definition at line 561 of file array_poset_dof_map.cc.
References sheaf::poset_dof_map::dof(), sheaf::poset_dof_map::dof_ct(), dof_ptr(), sheaf::poset_dof_map::dof_tuple_ub(), invariant(), and sheaf::tuple().
Referenced by get_dof_tuple(), sheaf::poset_state_handle::initialize_table_dofs(), fiber_bundle::sec_rep_descriptor::new_jim_state(), fiber_bundle::product_section_space_schema_poset::new_state(), and sheaf::table_dof_tuple_record::transfer_internal_buffer_to_poset().
|
static |
The name of this class.
Definition at line 62 of file array_poset_dof_map.cc.
References array_poset_dof_map().
Referenced by class_name().
|
virtual |
An identifer for the type of dof tuple this is.
Implements sheaf::poset_dof_map.
Definition at line 386 of file array_poset_dof_map.cc.
References get_dof().
Referenced by array_poset_dof_map().