SheafSystem  0.0.0.0
sheaf::index_space_handle Class Referenceabstract

An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of integer identifiers. More...

#include <index_space_handle.h>

Inheritance diagram for sheaf::index_space_handle:
sheaf::any sheaf::explicit_index_space_handle sheaf::forwarding_index_space_handle fiber_bundle::section_space_schema_jims_index_space_handle sheaf::gathered_insertion_index_space_handle sheaf::offset_index_space_handle sheaf::primary_index_space_handle sheaf::primitives_index_space_handle sheaf::singleton_index_space_handle sheaf::sum_index_space_handle sheaf::scattered_insertion_index_space_handle sheaf::reserved_primary_index_space_handle sheaf::hub_index_space_handle sheaf::array_index_space_handle sheaf::hash_index_space_handle sheaf::interval_index_space_handle sheaf::list_index_space_handle

INDEX_SPACE_HANDLE FACET

typedef pod_index_type pod_type
 The "plain old data" index type for this. More...
 
virtual ~index_space_handle ()
 Destructor. More...
 
virtual index_space_handleoperator= (const index_space_handle &xother)
 Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More...
 
bool operator== (const index_space_handle &xother) const
 True if this is a handle has the same state as xother. More...
 
virtual index_space_handleclone () const =0
 Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state. More...
 
 index_space_handle ()
 Default constructor. More...
 
 index_space_handle (const index_space_handle &xother)
 Copy constructor; disabled. More...
 

INDEX SPACE FACET

virtual const index_space_familyid_spaces () const =0
 The id space family for this (const version). More...
 
virtual index_space_familyid_spaces ()=0
 The id space family for this (mutable version). More...
 
const hub_index_space_handlehub_id_space () const
 The hub id space. More...
 
virtual size_type ct () const =0
 The number of members. More...
 
bool is_empty () const
 True if there are no ids in the space. More...
 
virtual pod_type begin () const =0
 Beginning id of this space. More...
 
virtual pod_type end () const =0
 Ending id of this space. More...
 
bool is_gathered () const
 True if begin() == 0 and end() == ct(). More...
 
virtual bool contains (pod_type xid) const =0
 True if this space contains id xid. More...
 
bool contains (const scoped_index &xid) const
 True if this space contains an id equivalent to xid. synonym for contains_hub(xid.hub_pod()). More...
 
bool contains_hub (pod_type xid) const
 True if this space contains an id equivalent to xid in the unglued hub id space. synonym for contains_unglued_hub(xid) More...
 
virtual bool contains_unglued_hub (pod_type xid) const =0
 True if this space contains an id equivalent to xid in the unglued hub id space. More...
 
virtual bool contains_glued_hub (pod_type xid) const =0
 True if this space contains an id equivalent to xid in the glued hub id space. More...
 
bool contains (pod_type xid, const scoped_index &xhub_id) const
 True if this space contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xid, xhub_id.hub_pod()). More...
 
virtual bool contains (pod_type xid, pod_type xhub_id) const =0
 True if this space contains an id xid equivalent to xhub_id in the hub id space. More...
 
virtual pod_type pod (pod_type xid) const =0
 The pod index in this space equivalent to xid in the hub id space. More...
 
pod_type pod (const scoped_index &xid) const
 The pod index in this space equivalent to xid. synonym for pod(xid.hub_pod()). More...
 
pod_type hub_pod (pod_type xid) const
 The pod index in the unglued hub id space equivalent to xid in this id space; synonym for unglued_hub_pod(pod_type). More...
 
virtual pod_type unglued_hub_pod (pod_type xid) const =0
 The pod index in the unglued hub id space equivalent to xid in this id space. More...
 
virtual pod_type glued_hub_pod (pod_type xid) const =0
 The pod index in the hub id space equivalent to xid in this id space. synonym for unglued_hub_pod(xid). More...
 
virtual bool is_persistent () const =0
 True if this id space should be written to disk. More...
 

PRODUCT STRUCTURE FACET

virtual void new_product_structure (const abstract_product_structure &xproduct)=0
 Creates a new product structure for this id space by cloning the product structure, xproduct. More...
 
virtual void delete_product_structure ()=0
 Deletes the product structure for this id space. More...
 
virtual const abstract_product_structureproduct_structure () const =0
 The product structure for this id space (const version). More...
 
virtual abstract_product_structureproduct_structure ()=0
 The product structure for this id space (mutable version). More...
 
template<typename T >
const T & product_structure () const
 The product structure of type T for this id space (const version). More...
 
template<typename T >
T & product_structure ()
 The product structure of type T for this id space (mutable version). More...
 
virtual bool has_product_structure () const =0
 True if this id space has a product structure. More...
 
template<typename T >
bool product_structure_conforms_to () const
 True if the product structure for this id space conforms to type T. More...
 

HANDLE FACET

virtual const index_space_collectionhost () const =0
 The host collection. More...
 
virtual pod_type index () const =0
 Index of this space. More...
 
std::string name () const
 Name of this space. More...
 
void put_name (const std::string &xname)
 Associate name xname with this id space. More...
 
virtual bool is_attached () const =0
 True if this handle is attached to a state. More...
 
void attach_to (const index_space_family &xid_spaces, pod_type xindex)
 Attach to the state with index xindex in the id space family xid_spaces. More...
 
void attach_to (const index_space_family &xid_spaces, const std::string &xname)
 Attach to the state with name xname in the id space family xid_spaces. More...
 
virtual void attach_to (pod_type xindex)=0
 Attach to the state with index xindex in the id space family id_spaces(). More...
 
void attach_to (const std::string &xname)
 Attach to the state with name xname in the id space family id_spaces(). More...
 
void attach_to (const index_space_handle &xother)
 Attach to the state of the id space xother. More...
 
bool conforms_to_state (const index_space_family &xid_spaces, pod_type xindex) const
 True if this conforms to the handle type required by the state with index xindex in the id space family, xid_spaces. More...
 
bool conforms_to_state (const index_space_family &xid_spaces, const std::string &xname) const
 True if this conforms to the handle type required by the state with name xname in the id space family, xid_spaces. More...
 
bool conforms_to_state (pod_type xid) const
 True if this conforms to the handle type required by the state with id xid. More...
 
bool conforms_to_state (const std::string &xname) const
 True if this conforms to the handle type required by the state with name xname. More...
 
bool conforms_to_state (const index_space_handle &xother) const
 True if this conforms to the handle type required by the state of xother. More...
 
virtual void attach_to (const index_space_collection &xhost, pod_type xlocal_id)=0
 Attach to the state with local scope id, xlocal_id in the host id space collection xhost. More...
 
virtual void detach ()=0
 Detach this handle form its state, if any. More...
 
virtual bool conforms_to_state (const index_space_collection &xhost, pod_type xlocal_id) const =0
 True if this conforms to the handle type required by the state with local scope id xlocal_id in the host id space collection xhost. More...
 

HANDLE POOL FACET

virtual index_space_handleget_id_space () const =0
 Allocates an id space handle from the handle pool attached to the same id space. More...
 
virtual void release_id_space () const =0
 Returns this id space handle to the handle pool. More...
 
virtual bool allocated_id_space () const =0
 True if and only if this id space handle was allocated by the handle pool. More...
 

ITERATOR POOL FACET

virtual index_space_iteratorget_iterator () const =0
 Allocates an id space iterator from the iterator pool. More...
 
virtual void release_iterator (index_space_iterator &xitr) const =0
 Returns the id space iterator xitr to the iterator pool. More...
 
virtual bool allocated_iterator (const index_space_iterator &xitr) const =0
 True if and only if id space iterator xitr was allocated by the iterator pool. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to 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

An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of integer identifiers.

Definition at line 50 of file index_space_handle.h.

Member Typedef Documentation

◆ pod_type

The "plain old data" index type for this.

Definition at line 63 of file index_space_handle.h.

Constructor & Destructor Documentation

◆ ~index_space_handle()

sheaf::index_space_handle::~index_space_handle ( )
virtual

Destructor.

Definition at line 37 of file index_space_handle.cc.

References operator=().

◆ index_space_handle() [1/2]

sheaf::index_space_handle::index_space_handle ( )
protected

Default constructor.

Definition at line 126 of file index_space_handle.cc.

References id_spaces().

Referenced by clone().

◆ index_space_handle() [2/2]

sheaf::index_space_handle::index_space_handle ( const index_space_handle xother)
inlineprotected

Copy constructor; disabled.

Definition at line 97 of file index_space_handle.h.

Member Function Documentation

◆ allocated_id_space()

bool sheaf::index_space_handle::allocated_id_space ( ) const
pure virtual

True if and only if this id space handle was allocated by the handle pool.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 1259 of file index_space_handle.cc.

References get_iterator(), and is_attached().

Referenced by release_id_space().

◆ allocated_iterator()

bool sheaf::index_space_handle::allocated_iterator ( const index_space_iterator xitr) const
pure virtual

True if and only if id space iterator xitr was allocated by the iterator pool.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 1338 of file index_space_handle.cc.

References is_ancestor_of(), and is_attached().

Referenced by sheaf::poset_crg_state::cover_contains_iterator(), and release_iterator().

◆ attach_to() [1/6]

◆ attach_to() [2/6]

void sheaf::index_space_handle::attach_to ( const index_space_family xid_spaces,
const std::string &  xname 
)

Attach to the state with name xname in the id space family xid_spaces.

Precondition
  • !xname.empty()
  • xid_spaces.contains(xname)
  • conforms_to_state(xid_spaces, xname)
Postcondition

Definition at line 893 of file index_space_handle.cc.

References attach_to(), conforms_to_state(), sheaf::index_space_family::contains(), id_spaces(), sheaf::index_space_family::index(), is_attached(), and name().

◆ attach_to() [3/6]

void sheaf::index_space_handle::attach_to ( pod_type  xindex)
pure virtual

Attach to the state with index xindex in the id space family id_spaces().

Precondition
  • conforms_to_state(xindex)
Is Abstract.
Postcondition

Implemented in sheaf::explicit_index_space_handle.

Definition at line 918 of file index_space_handle.cc.

References attach_to(), conforms_to_state(), contains(), id_spaces(), index(), and is_attached().

◆ attach_to() [4/6]

void sheaf::index_space_handle::attach_to ( const std::string &  xname)

Attach to the state with name xname in the id space family id_spaces().

Precondition
  • conforms_to_state(xname)
Postcondition

Definition at line 945 of file index_space_handle.cc.

References attach_to(), conforms_to_state(), contains(), id_spaces(), index(), is_attached(), and name().

◆ attach_to() [5/6]

void sheaf::index_space_handle::attach_to ( const index_space_handle xother)

Attach to the state of the id space xother.

Precondition
  • xother.is_attached() ? conforms_to_state(xother) : true
Postcondition

Definition at line 972 of file index_space_handle.cc.

References attach_to(), conforms_to_state(), detach(), host(), id_spaces(), index(), and is_attached().

◆ attach_to() [6/6]

void sheaf::index_space_handle::attach_to ( const index_space_collection xhost,
pod_type  xlocal_id 
)
pure virtual

Attach to the state with local scope id, xlocal_id in the host id space collection xhost.

Precondition
  • xhost.contains(xlocal_id)
  • conforms_to_state(xhost, xlocal_id)
Is Abstract.
Postcondition
  • index() == xhost.family_scope(xlocal_id)

Implemented in sheaf::explicit_index_space_handle.

Definition at line 1013 of file index_space_handle.cc.

References conforms_to_state(), sheaf::index_space_collection::contains(), detach(), sheaf::index_space_collection::family_scope(), host(), index(), and is_attached().

◆ begin()

sheaf::index_space_handle::pod_type sheaf::index_space_handle::begin ( ) const
pure virtual

Beginning id of this space.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 264 of file index_space_handle.cc.

References end(), and is_attached().

Referenced by is_empty(), is_gathered(), and sheaf::operator<<().

◆ clone()

◆ conforms_to_state() [1/6]

bool sheaf::index_space_handle::conforms_to_state ( const index_space_family xid_spaces,
pod_type  xindex 
) const

True if this conforms to the handle type required by the state with index xindex in the id space family, xid_spaces.

Precondition
  • xid_spaces.contains(xindex)
Postcondition
  • is_basic_query

Definition at line 1056 of file index_space_handle.cc.

References sheaf::index_space_family::collection(), and sheaf::index_space_family::contains().

Referenced by attach_to(), conforms_to_state(), detach(), and operator=().

◆ conforms_to_state() [2/6]

bool sheaf::index_space_handle::conforms_to_state ( const index_space_family xid_spaces,
const std::string &  xname 
) const

True if this conforms to the handle type required by the state with name xname in the id space family, xid_spaces.

Precondition
  • xid_spaces.contains(xname)
Postcondition
  • is_basic_query

Definition at line 1079 of file index_space_handle.cc.

References conforms_to_state(), sheaf::index_space_family::contains(), and sheaf::index_space_family::index().

◆ conforms_to_state() [3/6]

bool sheaf::index_space_handle::conforms_to_state ( pod_type  xid) const

True if this conforms to the handle type required by the state with id xid.

Precondition
Postcondition
  • is_basic_query

Definition at line 1101 of file index_space_handle.cc.

References conforms_to_state(), contains(), and id_spaces().

◆ conforms_to_state() [4/6]

bool sheaf::index_space_handle::conforms_to_state ( const std::string &  xname) const

True if this conforms to the handle type required by the state with name xname.

Precondition
Postcondition
  • is_basic_query

Definition at line 1122 of file index_space_handle.cc.

References conforms_to_state(), contains(), and id_spaces().

◆ conforms_to_state() [5/6]

bool sheaf::index_space_handle::conforms_to_state ( const index_space_handle xother) const

True if this conforms to the handle type required by the state of xother.

Postcondition
  • is_basic_query

Definition at line 1143 of file index_space_handle.cc.

References conforms_to_state(), host(), id_spaces(), index(), and is_attached().

◆ conforms_to_state() [6/6]

◆ contains() [1/4]

bool sheaf::index_space_handle::contains ( pod_type  xid) const
pure virtual

True if this space contains id xid.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle.

Definition at line 331 of file index_space_handle.cc.

References is_attached().

Referenced by attach_to(), conforms_to_state(), contains(), fiber_bundle::section_space_schema_jims_index_space_state::contains(), contains_glued_hub(), index(), invariant(), is_gathered(), pod(), and put_name().

◆ contains() [2/4]

bool sheaf::index_space_handle::contains ( const scoped_index xid) const

True if this space contains an id equivalent to xid. synonym for contains_hub(xid.hub_pod()).

Precondition
Postcondition
  • is_basic_query

Definition at line 354 of file index_space_handle.cc.

References contains_hub(), sheaf::scoped_index::hub_pod(), and is_attached().

◆ contains() [3/4]

bool sheaf::index_space_handle::contains ( pod_type  xid,
const scoped_index xhub_id 
) const

True if this space contains an id xid equivalent to xhub_id in the hub id space. synonym for contains(xid, xhub_id.hub_pod()).

Precondition
Postcondition
  • is_basic_query

Definition at line 442 of file index_space_handle.cc.

References contains(), sheaf::scoped_index::hub_pod(), and is_attached().

◆ contains() [4/4]

bool sheaf::index_space_handle::contains ( pod_type  xid,
pod_type  xhub_id 
) const
pure virtual

True if this space contains an id xid equivalent to xhub_id in the hub id space.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle.

Definition at line 463 of file index_space_handle.cc.

References is_attached(), and pod().

◆ contains_glued_hub()

bool sheaf::index_space_handle::contains_glued_hub ( pod_type  xid) const
pure virtual

True if this space contains an id equivalent to xid in the glued hub id space.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle.

Definition at line 419 of file index_space_handle.cc.

References contains(), and is_attached().

Referenced by contains_unglued_hub(), and glued_hub_pod().

◆ contains_hub()

◆ contains_unglued_hub()

bool sheaf::index_space_handle::contains_unglued_hub ( pod_type  xid) const
pure virtual

True if this space contains an id equivalent to xid in the unglued hub id space.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle.

Definition at line 396 of file index_space_handle.cc.

References contains_glued_hub(), and is_attached().

Referenced by contains_hub(), fiber_bundle::section_space_schema_jims_index_space_state::contains_unglued_hub(), and unglued_hub_pod().

◆ ct()

◆ delete_product_structure()

void sheaf::index_space_handle::delete_product_structure ( )
pure virtual

Deletes the product structure for this id space.

Precondition
Is Abstract.
Postcondition
  • !has_product_structure()

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 652 of file index_space_handle.cc.

References has_product_structure(), is_attached(), and product_structure().

Referenced by new_product_structure().

◆ detach()

void sheaf::index_space_handle::detach ( )
pure virtual

Detach this handle form its state, if any.

Is Abstract.

Postcondition
  • !is_attached()

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 1037 of file index_space_handle.cc.

References conforms_to_state(), and is_attached().

Referenced by attach_to(), sheaf::primitives_index_space_state::release_id_space(), sheaf::singleton_index_space_state::release_id_space(), sheaf::offset_index_space_state::release_id_space(), sheaf::reserved_primary_index_space_state::release_id_space(), sheaf::primary_index_space_state::release_id_space(), fiber_bundle::section_space_schema_jims_index_space_state::release_id_space(), sheaf::constant_index_space_interval::release_id_space(), sheaf::singleton_index_space_interval::release_id_space(), fiber_bundle::i_connectivity_index_space_interval::release_id_space(), sheaf::hash_index_space_state::release_id_space(), sheaf::array_index_space_state::release_id_space(), sheaf::ragged_array_index_space_interval::release_id_space(), fiber_bundle::i_adjacency_index_space_interval::release_id_space(), fiber_bundle::ij_connectivity_index_space_interval::release_id_space(), sheaf::array_index_space_interval::release_id_space(), sheaf::list_index_space_state::release_id_space(), fiber_bundle::ij_adjacency_index_space_interval::release_id_space(), fiber_bundle::ijk_connectivity_index_space_interval::release_id_space(), fiber_bundle::ijk_adjacency_index_space_interval::release_id_space(), sheaf::interval_index_space_state::release_id_space(), and sheaf::primary_sum_index_space_state::release_id_space().

◆ end()

◆ get_id_space()

◆ get_iterator()

◆ glued_hub_pod()

sheaf::index_space_handle::pod_type sheaf::index_space_handle::glued_hub_pod ( pod_type  xid) const
pure virtual

The pod index in the hub id space equivalent to xid in this id space. synonym for unglued_hub_pod(xid).

Precondition
Is Abstract.
Postcondition
  • !is_valid(result) || contains_glued_hub(result)

Implemented in sheaf::explicit_index_space_handle.

Definition at line 574 of file index_space_handle.cc.

References contains_glued_hub(), is_attached(), is_persistent(), and sheaf::is_valid().

Referenced by unglued_hub_pod().

◆ has_product_structure()

bool sheaf::index_space_handle::has_product_structure ( ) const
pure virtual

True if this id space has a product structure.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 721 of file index_space_handle.cc.

References host(), and is_attached().

Referenced by delete_product_structure(), new_product_structure(), product_structure(), and product_structure_conforms_to().

◆ host()

const sheaf::index_space_collection & sheaf::index_space_handle::host ( ) const
pure virtual

The host collection.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 755 of file index_space_handle.cc.

References index(), and is_attached().

Referenced by sheaf::index_space_iterator::attach_to(), attach_to(), conforms_to_state(), and has_product_structure().

◆ hub_id_space()

◆ hub_pod()

sheaf::index_space_handle::pod_type sheaf::index_space_handle::hub_pod ( pod_type  xid) const

The pod index in the unglued hub id space equivalent to xid in this id space; synonym for unglued_hub_pod(pod_type).

Precondition
Postcondition
  • !is_valid(result) || contains_hub(result)

Definition at line 530 of file index_space_handle.cc.

References contains_hub(), is_attached(), sheaf::is_valid(), and unglued_hub_pod().

Referenced by fields::base_space_map::base_space_map(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), fiber_bundle::section_space_schema_table_dof_crg_range::dof_tuple_id(), fields::field_vd::embed_property(), sheaf::interval_index_space_record::externalize(), sheaf::interval_index_space_handle::insert_interval(), sheaf::schema_poset_member::name(), pod(), fiber_bundle::zone_nodes_block_crg_interval::put_implicit_private_data(), fiber_bundle::unstructured_block_builder::put_name_mode(), sheaf::member_record_set::read_record(), sheaf::gathered_insertion_index_space_handle::remove(), tool::visualization_iterator_1_1::set_vtk_data(), tool::visualization_iterator_4_2::set_vtk_data(), tool::visualization_iterator_4_3::set_vtk_data(), tool::visualization_iterator_1_3::set_vtk_data(), fiber_bundle::section_space_schema_table_dof_crg_range::tuple(), fiber_bundle::product_section_space_schema_crg_range::tuple(), fiber_bundle::section_space_schema_jims_index_space_state::unglued_hub_pod(), sheaf::schema_poset_member::update_dof_id_space(), fiber_bundle::product_section_space_schema_member::update_row_cache_with_disc_id_space(), and fiber_bundle::section_space_schema_member::update_row_cache_with_disc_id_space().

◆ id_spaces() [1/2]

◆ id_spaces() [2/2]

sheaf::index_space_family & sheaf::index_space_handle::id_spaces ( )
pure virtual

The id space family for this (mutable version).

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 176 of file index_space_handle.cc.

References hub_id_space(), and is_attached().

◆ index()

◆ invariant()

◆ is_ancestor_of()

◆ is_attached()

bool sheaf::index_space_handle::is_attached ( ) const
pure virtual

True if this handle is attached to a state.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 845 of file index_space_handle.cc.

References attach_to().

Referenced by allocated_id_space(), allocated_iterator(), sheaf::index_space_iterator::attach_to(), attach_to(), begin(), sheaf::poset_dof_map::client_id_space(), conforms_to_state(), contains(), contains_glued_hub(), contains_hub(), contains_unglued_hub(), ct(), delete_product_structure(), detach(), sheaf::schema_poset_member::dof_id_space(), end(), fiber_bundle::homogeneous_block::get_adjacency_id_space(), fiber_bundle::base_space_poset::get_adjacency_id_space(), fiber_bundle::homogeneous_block::get_connectivity_id_space(), fiber_bundle::base_space_poset::get_connectivity_id_space(), sheaf::poset_crg_state::get_cover_id_space(), sheaf::index_space_family_iterator::get_id_space(), sheaf::index_space_interval_iterator::get_id_space(), sheaf::explicit_index_space_collection::get_id_space(), sheaf::forwarding_index_space_handle::get_id_space(), sheaf::index_space_collection::get_id_space(), sheaf::singleton_index_space_interval::get_id_space(), sheaf::constant_index_space_interval::get_id_space(), fiber_bundle::i_connectivity_index_space_interval::get_id_space(), sheaf::explicit_index_space_interval::get_id_space(), sheaf::ragged_array_index_space_interval::get_id_space(), fiber_bundle::i_adjacency_index_space_interval::get_id_space(), fiber_bundle::ij_connectivity_index_space_interval::get_id_space(), sheaf::explicit_index_space_handle::get_id_space(), sheaf::array_index_space_interval::get_id_space(), sheaf::explicit_index_space_state::get_id_space(), fiber_bundle::ij_adjacency_index_space_interval::get_id_space(), fiber_bundle::ijk_connectivity_index_space_interval::get_id_space(), fiber_bundle::ijk_adjacency_index_space_interval::get_id_space(), get_id_space(), sheaf::index_space_family::get_id_space(), get_iterator(), sheaf::namespace_poset::get_member_poset_id_space(), fiber_bundle::zone_nodes_block::get_vertex_client_id_space(), fiber_bundle::base_space_poset::get_vertex_client_id_space(), fiber_bundle::base_space_poset::get_vertex_id_space(), fiber_bundle::homogeneous_block::get_vertex_id_space(), fiber_bundle::base_space_poset::get_zone_id_space(), fiber_bundle::homogeneous_block::get_zone_id_space(), glued_hub_pod(), has_product_structure(), host(), hub_id_space(), hub_pod(), id_spaces(), index(), invariant(), is_empty(), is_gathered(), is_persistent(), fiber_bundle::homogeneous_block::local_id_space(), name(), new_product_structure(), sheaf::operator<<(), operator=(), sheaf::forwarding_index_space_handle::operator=(), sheaf::explicit_index_space_handle::operator=(), sheaf::primitives_index_space_handle::operator=(), sheaf::scattered_insertion_index_space_handle::operator=(), sheaf::primary_index_space_handle::operator=(), sheaf::hash_index_space_handle::operator=(), sheaf::singleton_index_space_handle::operator=(), sheaf::offset_index_space_handle::operator=(), sheaf::array_index_space_handle::operator=(), sheaf::reserved_primary_index_space_handle::operator=(), fiber_bundle::section_space_schema_jims_index_space_handle::operator=(), sheaf::gathered_insertion_index_space_handle::operator=(), sheaf::list_index_space_handle::operator=(), sheaf::sum_index_space_handle::operator=(), sheaf::interval_index_space_handle::operator=(), sheaf::hub_index_space_handle::operator=(), operator==(), pod(), product_structure(), sheaf::scoped_index::put(), put_name(), sheaf::scoped_index::put_scope(), fiber_bundle::homogeneous_block::release_adjacency_id_space(), fiber_bundle::base_space_poset::release_adjacency_id_space(), fiber_bundle::homogeneous_block::release_connectivity_id_space(), fiber_bundle::base_space_poset::release_connectivity_id_space(), sheaf::poset_crg_state::release_cover_id_space(), sheaf::poset_state_handle::release_cover_id_space(), release_id_space(), release_iterator(), sheaf::scoped_index::release_scope(), fiber_bundle::zone_nodes_block::release_vertex_client_id_space(), fiber_bundle::base_space_poset::release_vertex_client_id_space(), fiber_bundle::base_space_poset::release_vertex_id_space(), fiber_bundle::homogeneous_block::release_vertex_id_space(), fiber_bundle::base_space_poset::release_zone_id_space(), fiber_bundle::homogeneous_block::release_zone_id_space(), sheaf::schema_poset_member::row_dof_id_space(), sheaf::scoped_index::same_id_space_family(), sheaf::scoped_index::scoped_index(), sheaf::schema_poset_member::table_dof_id_space(), and unglued_hub_pod().

◆ is_empty()

◆ is_gathered()

◆ is_persistent()

bool sheaf::index_space_handle::is_persistent ( ) const
pure virtual

True if this id space should be written to disk.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 597 of file index_space_handle.cc.

References is_attached(), and new_product_structure().

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

◆ name()

std::string sheaf::index_space_handle::name ( ) const

Name of this space.

Precondition
Postcondition

Definition at line 801 of file index_space_handle.cc.

References sheaf::index_space_family::contains(), id_spaces(), index(), is_attached(), sheaf::index_space_family::name(), and put_name().

Referenced by sheaf::array_index_space_handle::array_index_space_handle(), attach_to(), sheaf::explicit_index_space_handle::explicit_index_space_handle(), sheaf::forwarding_index_space_handle::forwarding_index_space_handle(), sheaf::gathered_insertion_index_space_handle::gathered_insertion_index_space_handle(), sheaf::namespace_poset::get_member_poset_id_space(), sheaf::hash_index_space_handle::hash_index_space_handle(), sheaf::hub_index_space_handle::hub_index_space_handle(), index(), sheaf::interval_index_space_handle::interval_index_space_handle(), sheaf::list_index_space_handle::list_index_space_handle(), sheaf::member_record_set::member_record_set(), sheaf::offset_index_space_handle::new_space(), sheaf::hash_index_space_handle::new_space(), sheaf::array_index_space_handle::new_space(), sheaf::primitives_index_space_state::new_space(), sheaf::singleton_index_space_state::new_space(), sheaf::reserved_primary_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), sheaf::hash_index_space_state::new_space(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::array_index_space_state::new_space(), sheaf::list_index_space_state::new_space(), sheaf::interval_index_space_state::new_space(), sheaf::primary_sum_index_space_state::new_space(), sheaf::offset_index_space_handle::offset_index_space_handle(), sheaf::operator<<(), sheaf::primary_index_space_handle::primary_index_space_handle(), sheaf::primitives_index_space_handle::primitives_index_space_handle(), put_name(), sheaf::reserved_primary_index_space_handle::reserved_primary_index_space_handle(), sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle(), fiber_bundle::section_space_schema_jims_index_space_handle::section_space_schema_jims_index_space_handle(), sheaf::singleton_index_space_handle::singleton_index_space_handle(), sheaf::sum_index_space_handle::sum_index_space_handle(), and sheaf::id_space_names_record::transfer_poset_to_internal_buffer().

◆ new_product_structure()

void sheaf::index_space_handle::new_product_structure ( const abstract_product_structure xproduct)
pure virtual

Creates a new product structure for this id space by cloning the product structure, xproduct.

Precondition
Is Abstract.
Postcondition

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 631 of file index_space_handle.cc.

References delete_product_structure(), has_product_structure(), and is_attached().

Referenced by is_persistent().

◆ operator=()

◆ operator==()

bool sheaf::index_space_handle::operator== ( const index_space_handle xother) const

True if this is a handle has the same state as xother.

Postcondition
  • is_basic_query

Definition at line 76 of file index_space_handle.cc.

References clone(), id_spaces(), index(), and is_attached().

Referenced by operator=().

◆ pod() [1/2]

◆ pod() [2/2]

sheaf::index_space_handle::pod_type sheaf::index_space_handle::pod ( const scoped_index xid) const

The pod index in this space equivalent to xid. synonym for pod(xid.hub_pod()).

Precondition
Postcondition
  • !is_valid(result) || contains(result)

Definition at line 509 of file index_space_handle.cc.

References contains(), hub_pod(), sheaf::scoped_index::hub_pod(), is_attached(), sheaf::is_valid(), and pod().

◆ product_structure() [1/4]

◆ product_structure() [2/4]

sheaf::abstract_product_structure & sheaf::index_space_handle::product_structure ( )
pure virtual

The product structure for this id space (mutable version).

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.

Definition at line 697 of file index_space_handle.cc.

References has_product_structure(), and is_attached().

◆ product_structure() [3/4]

template<typename T >
const T & sheaf::index_space_handle::product_structure ( ) const

The product structure of type T for this id space (const version).

Precondition
Postcondition
  • is_basic_query

Definition at line 43 of file index_space_handle.impl.h.

References has_product_structure(), and product_structure().

◆ product_structure() [4/4]

template<typename T >
T & sheaf::index_space_handle::product_structure ( )

The product structure of type T for this id space (mutable version).

Precondition
Postcondition
  • is_basic_query

Definition at line 66 of file index_space_handle.impl.h.

References has_product_structure(), product_structure(), and product_structure_conforms_to().

◆ product_structure_conforms_to()

template<typename T >
bool sheaf::index_space_handle::product_structure_conforms_to ( ) const

True if the product structure for this id space conforms to type T.

Precondition
Postcondition
  • is_basic_query

Definition at line 89 of file index_space_handle.impl.h.

References has_product_structure(), and product_structure().

Referenced by product_structure().

◆ put_name()

void sheaf::index_space_handle::put_name ( const std::string &  xname)

Associate name xname with this id space.

Precondition
  • !xname.empty()
  • !id_spaces().contains(xname)
Postcondition

Definition at line 822 of file index_space_handle.cc.

References contains(), id_spaces(), index(), is_attached(), name(), and sheaf::index_space_family::put_name().

Referenced by name().

◆ release_id_space()

◆ release_iterator()

◆ unglued_hub_pod()

sheaf::index_space_handle::pod_type sheaf::index_space_handle::unglued_hub_pod ( pod_type  xid) const
pure virtual

The pod index in the unglued hub id space equivalent to xid in this id space.

Precondition
Is Abstract.
Postcondition
  • !is_valid(result) || contains_unglued_hub(result)

Implemented in sheaf::explicit_index_space_handle.

Definition at line 551 of file index_space_handle.cc.

References contains_unglued_hub(), glued_hub_pod(), is_attached(), and sheaf::is_valid().

Referenced by hub_pod().


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