SheafSystem  0.0.0.0
sheaf::poset_table_state Class Reference

The data structure representing the table containing the dof tuples of the members of a poset. More...

#include <poset_table_state.h>

Inheritance diagram for sheaf::poset_table_state:
sheaf::any

Friends

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

POSET_TABLE_STATE FACET

 poset_table_state (const abstract_poset_member *xschema, size_type xcapacity)
 Create an instance with schema xschema and initial storage for xcapacity dof tuples. More...
 
 ~poset_table_state ()
 Destructor. More...
 
schema_poset_memberschema ()
 Schema (mutable version) More...
 
const schema_poset_memberschema () const
 Schema (const version) More...
 
array_poset_dof_maptable_dofs ()
 Get the table dof map. More...
 
void put_table_dofs (array_poset_dof_map *xtable_dofs)
 Put the table dof map. More...
 
bool contains_row_dof_tuple (pod_index_type xindex) const
 True if xindex is a valid row dof tuple index. More...
 
bool contains_row_dof_tuple (const scoped_index &xindex) const
 True if xindex is a valid row dof tuple index. More...
 
size_type row_dof_tuple_ct () const
 The number of dof tuples in the dof tuple table. More...
 
const scoped_indexrow_dof_tuple_index_ub () const
 The upper bound of the index for row dof tuples. More...
 
size_type standard_row_dof_tuple_ct () const
 The number of standard row_dof_tuples automatically allocated by the poset handle constructor. More...
 
void put_standard_row_dof_tuple_ct (size_type xct)
 Put the number of standard row_dof_tuples automatically allocated by the poset handle constructor. More...
 
poset_dof_maprow_dof_tuple (pod_index_type xindex)
 The row dof tuple with index xindex. More...
 
poset_dof_maprow_dof_tuple (const scoped_index &xindex)
 The row dof tuple with index xindex. More...
 
void put_row_dof_tuple (poset_dof_map *xdof_tuple)
 Sets the dof tuple at index xindex to xdof_tuple. More...
 
index_space_iteratorget_row_dof_tuple_id_space_iterator () const
 Allocates an id space iterator over the row dof tuple ids from the iterator pool. More...
 
void release_row_dof_tuple_id_space_iterator (index_space_iterator &xitr) const
 Returns the id space iterator xitr to the row dof tuple iterator pool. More...
 

ID SPACE FACET

const index_space_familyid_spaces () const
 Collection of id spaces for this poset powerset. More...
 
const hub_index_space_handlehub_id_space () const
 Hub id space for this poset powerset. More...
 
const scoped_indexhub_id () const
 A id in the hub id space; intended for copying to initialize ids to the hub id space. More...
 
scoped_index hub_id (pod_index_type xid) const
 A id in the hub id space with pod xid. More...
 

ANY INTERFACE

virtual bool is_ancestor_of (const any *other) const
 True if other conforms to current. More...
 
virtual poset_table_stateclone () const
 Make a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::any
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...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

The data structure representing the table containing the dof tuples of the members of a poset.

Definition at line 61 of file poset_table_state.h.

Constructor & Destructor Documentation

◆ poset_table_state()

sheaf::poset_table_state::poset_table_state ( const abstract_poset_member xschema,
size_type  xcapacity 
)

Create an instance with schema xschema and initial storage for xcapacity dof tuples.

Precondition
  • xschema != 0 ? xschema->is_attached() : true
Postcondition
  • (xschema != 0) == schema().is_attached()

Definition at line 81 of file poset_table_state.cc.

References sheaf::abstract_poset_member::attach_to_state(), sheaf::schema_poset_member::clone(), sheaf::poset_component::is_attached(), and ~poset_table_state().

◆ ~poset_table_state()

sheaf::poset_table_state::~poset_table_state ( )

Destructor.

Precondition
  • _schema != 0

Definition at line 145 of file poset_table_state.cc.

References sheaf::poset_dof_map::dec_ref_ct(), sheaf::poset_dof_map::ref_ct(), and schema().

Referenced by poset_table_state().

Member Function Documentation

◆ clone()

sheaf::poset_table_state * sheaf::poset_table_state::clone ( ) const
virtual

Make a new instance of the same type as this.

Not Implemented.

Todo:
implement poset_table_state::clone
Postcondition
  • result != 0

Reimplemented from sheaf::any.

Definition at line 574 of file poset_table_state.cc.

References invariant().

Referenced by is_ancestor_of().

◆ contains_row_dof_tuple() [1/2]

bool sheaf::poset_table_state::contains_row_dof_tuple ( pod_index_type  xindex) const

True if xindex is a valid row dof tuple index.

Definition at line 258 of file poset_table_state.cc.

Referenced by put_table_dofs().

◆ contains_row_dof_tuple() [2/2]

bool sheaf::poset_table_state::contains_row_dof_tuple ( const scoped_index xindex) const

True if xindex is a valid row dof tuple index.

Definition at line 275 of file poset_table_state.cc.

References sheaf::scoped_index::hub_pod(), and row_dof_tuple_ct().

◆ get_row_dof_tuple_id_space_iterator()

sheaf::index_space_iterator & sheaf::poset_table_state::get_row_dof_tuple_id_space_iterator ( ) const

Allocates an id space iterator over the row dof tuple ids from the iterator pool.

Postcondition

Definition at line 441 of file poset_table_state.cc.

References release_row_dof_tuple_id_space_iterator().

Referenced by invariant(), and put_row_dof_tuple().

◆ hub_id() [1/2]

const sheaf::scoped_index & sheaf::poset_table_state::hub_id ( ) const

A id in the hub id space; intended for copying to initialize ids to the hub id space.

Postcondition
  • result.is_hub_scope()

Definition at line 504 of file poset_table_state.cc.

References sheaf::scoped_index::is_hub_scope().

Referenced by hub_id_space(), and invariant().

◆ hub_id() [2/2]

sheaf::scoped_index sheaf::poset_table_state::hub_id ( pod_index_type  xid) const

A id in the hub id space with pod xid.

Postcondition
  • result.is_hub_scope()
  • result.pod() == xid

Definition at line 523 of file poset_table_state.cc.

References is_ancestor_of(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::pod().

◆ hub_id_space()

const sheaf::hub_index_space_handle & sheaf::poset_table_state::hub_id_space ( ) const

Hub id space for this poset powerset.

Definition at line 497 of file poset_table_state.cc.

References hub_id(), and sheaf::index_space_handle::hub_id_space().

Referenced by id_spaces().

◆ id_spaces()

const sheaf::index_space_family & sheaf::poset_table_state::id_spaces ( ) const

Collection of id spaces for this poset powerset.

Definition at line 490 of file poset_table_state.cc.

References hub_id_space().

Referenced by sheaf::operator<<(), and release_row_dof_tuple_id_space_iterator().

◆ invariant()

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

◆ is_ancestor_of()

bool sheaf::poset_table_state::is_ancestor_of ( const any other) const
virtual

True if other conforms to current.

Reimplemented from sheaf::any.

Definition at line 555 of file poset_table_state.cc.

References clone().

Referenced by hub_id().

◆ put_row_dof_tuple()

void sheaf::poset_table_state::put_row_dof_tuple ( poset_dof_map xdof_tuple)

Sets the dof tuple at index xindex to xdof_tuple.

Hack:
should set xdof_tuple->host() as well, but can't in this context.
Postcondition
  • contains_row_dof_tuple(xdof_tuple->index())
  • row_dof_tuple(xdof_tuple->index()) == xdof_tuple
  • xdof_tuple->ref_ct() == old_ref_ct + 1

Definition at line 390 of file poset_table_state.cc.

References get_row_dof_tuple_id_space_iterator(), sheaf::poset_dof_map::inc_ref_ct(), sheaf::poset_dof_map::index(), sheaf::poset_dof_map::put_index(), and sheaf::poset_dof_map::ref_ct().

Referenced by sheaf::member_record::internalize(), fiber_bundle::sec_rep_space::new_row_dof_map(), sheaf::namespace_poset::new_row_dof_map(), and row_dof_tuple().

◆ put_standard_row_dof_tuple_ct()

void sheaf::poset_table_state::put_standard_row_dof_tuple_ct ( size_type  xct)

Put the number of standard row_dof_tuples automatically allocated by the poset handle constructor.

Definition at line 340 of file poset_table_state.cc.

References row_dof_tuple().

Referenced by standard_row_dof_tuple_ct().

◆ put_table_dofs()

void sheaf::poset_table_state::put_table_dofs ( array_poset_dof_map xtable_dofs)

Put the table dof map.

Definition at line 241 of file poset_table_state.cc.

References contains_row_dof_tuple().

Referenced by table_dofs().

◆ release_row_dof_tuple_id_space_iterator()

void sheaf::poset_table_state::release_row_dof_tuple_id_space_iterator ( index_space_iterator xitr) const

Returns the id space iterator xitr to the row dof tuple iterator pool.

Precondition

Definition at line 460 of file poset_table_state.cc.

References id_spaces().

Referenced by get_row_dof_tuple_id_space_iterator(), and invariant().

◆ row_dof_tuple() [1/2]

sheaf::poset_dof_map * sheaf::poset_table_state::row_dof_tuple ( pod_index_type  xindex)

The row dof tuple with index xindex.

Definition at line 357 of file poset_table_state.cc.

Referenced by put_standard_row_dof_tuple_ct(), and sheaf::namespace_poset::row_dof_map().

◆ row_dof_tuple() [2/2]

sheaf::poset_dof_map * sheaf::poset_table_state::row_dof_tuple ( const scoped_index xindex)

The row dof tuple with index xindex.

Definition at line 383 of file poset_table_state.cc.

References sheaf::scoped_index::hub_pod(), and put_row_dof_tuple().

◆ row_dof_tuple_ct()

sheaf::size_type sheaf::poset_table_state::row_dof_tuple_ct ( ) const

The number of dof tuples in the dof tuple table.

Postcondition
  • result >= 0

Definition at line 282 of file poset_table_state.cc.

References row_dof_tuple_index_ub().

Referenced by contains_row_dof_tuple().

◆ row_dof_tuple_index_ub()

const sheaf::scoped_index & sheaf::poset_table_state::row_dof_tuple_index_ub ( ) const

The upper bound of the index for row dof tuples.

Definition at line 304 of file poset_table_state.cc.

References standard_row_dof_tuple_ct().

Referenced by row_dof_tuple_ct().

◆ schema() [1/2]

◆ schema() [2/2]

const sheaf::schema_poset_member & sheaf::poset_table_state::schema ( ) const

Schema (const version)

Definition at line 207 of file poset_table_state.cc.

References table_dofs().

◆ standard_row_dof_tuple_ct()

sheaf::size_type sheaf::poset_table_state::standard_row_dof_tuple_ct ( ) const

The number of standard row_dof_tuples automatically allocated by the poset handle constructor.

Definition at line 321 of file poset_table_state.cc.

References put_standard_row_dof_tuple_ct().

Referenced by row_dof_tuple_index_ub().

◆ table_dofs()

sheaf::array_poset_dof_map * sheaf::poset_table_state::table_dofs ( )

Get the table dof map.

Definition at line 224 of file poset_table_state.cc.

References put_table_dofs().

Referenced by schema().

Friends And Related Function Documentation

◆ deep_size

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

The deep size of the referenced object of type poset_table_state.


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