SheafSystem
0.0.0.0
|
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>
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_handle & | operator= (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_handle * | clone () 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_family & | id_spaces () const =0 |
The id space family for this (const version). More... | |
virtual index_space_family & | id_spaces ()=0 |
The id space family for this (mutable version). More... | |
const hub_index_space_handle & | hub_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_structure & | product_structure () const =0 |
The product structure for this id space (const version). More... | |
virtual abstract_product_structure & | product_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_collection & | host () 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_handle & | get_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_iterator & | get_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... | |
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.
The "plain old data" index type for this.
Definition at line 63 of file index_space_handle.h.
|
virtual |
|
protected |
Default constructor.
Definition at line 126 of file index_space_handle.cc.
References id_spaces().
Referenced by clone().
|
inlineprotected |
Copy constructor; disabled.
Definition at line 97 of file index_space_handle.h.
|
pure virtual |
True if and only if this id space handle was allocated by the handle pool.
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().
|
pure virtual |
True if and only if id space iterator xitr was allocated by the iterator pool.
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().
void sheaf::index_space_handle::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.
Definition at line 868 of file index_space_handle.cc.
References sheaf::index_space_family::collection(), conforms_to_state(), sheaf::index_space_family::contains(), id_spaces(), index(), is_attached(), and sheaf::index_space_collection::local_scope().
Referenced by attach_to(), sheaf::constant_index_space_interval::get_id_space(), sheaf::singleton_index_space_interval::get_id_space(), fiber_bundle::i_connectivity_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::array_index_space_interval::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(), is_attached(), and operator=().
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.
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().
|
pure virtual |
Attach to the state with index xindex in the id space family id_spaces().
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().
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().
Definition at line 945 of file index_space_handle.cc.
References attach_to(), conforms_to_state(), contains(), id_spaces(), index(), is_attached(), and name().
void sheaf::index_space_handle::attach_to | ( | const index_space_handle & | xother | ) |
Attach to the state of the id space xother.
Definition at line 972 of file index_space_handle.cc.
References attach_to(), conforms_to_state(), detach(), host(), id_spaces(), index(), and is_attached().
|
pure virtual |
Attach to the state with local scope id, xlocal_id in the host id space collection xhost.
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().
|
pure virtual |
Beginning id of this space.
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<<().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state.
Is Abstract.
Reimplemented from sheaf::any.
Implemented in sheaf::hub_index_space_handle, sheaf::interval_index_space_handle, sheaf::sum_index_space_handle, sheaf::list_index_space_handle, sheaf::gathered_insertion_index_space_handle, fiber_bundle::section_space_schema_jims_index_space_handle, sheaf::reserved_primary_index_space_handle, sheaf::array_index_space_handle, sheaf::offset_index_space_handle, sheaf::singleton_index_space_handle, sheaf::hash_index_space_handle, sheaf::primary_index_space_handle, sheaf::scattered_insertion_index_space_handle, sheaf::primitives_index_space_handle, sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 100 of file index_space_handle.cc.
References index_space_handle(), and sheaf::any::is_same_type().
Referenced by operator==().
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.
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=().
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.
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().
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.
Definition at line 1101 of file index_space_handle.cc.
References conforms_to_state(), contains(), and id_spaces().
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.
Definition at line 1122 of file index_space_handle.cc.
References conforms_to_state(), contains(), and id_spaces().
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.
Definition at line 1143 of file index_space_handle.cc.
References conforms_to_state(), host(), id_spaces(), index(), and is_attached().
|
pure virtual |
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.
Implemented in sheaf::hub_index_space_handle, sheaf::interval_index_space_handle, sheaf::explicit_index_space_handle, sheaf::sum_index_space_handle, sheaf::list_index_space_handle, sheaf::gathered_insertion_index_space_handle, fiber_bundle::section_space_schema_jims_index_space_handle, sheaf::reserved_primary_index_space_handle, sheaf::scattered_insertion_index_space_handle, sheaf::array_index_space_handle, sheaf::offset_index_space_handle, sheaf::singleton_index_space_handle, sheaf::hash_index_space_handle, sheaf::primary_index_space_handle, and sheaf::primitives_index_space_handle.
Definition at line 1179 of file index_space_handle.cc.
References sheaf::index_space_collection::contains(), and get_id_space().
|
pure virtual |
True if this space contains id xid.
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().
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()).
Definition at line 354 of file index_space_handle.cc.
References contains_hub(), sheaf::scoped_index::hub_pod(), and is_attached().
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()).
Definition at line 442 of file index_space_handle.cc.
References contains(), sheaf::scoped_index::hub_pod(), and is_attached().
True if this space contains an id xid equivalent to xhub_id in the hub id space.
Implemented in sheaf::explicit_index_space_handle.
Definition at line 463 of file index_space_handle.cc.
References is_attached(), and pod().
|
pure virtual |
True if this space contains an id equivalent to xid in the glued hub id space.
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().
bool sheaf::index_space_handle::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)
Definition at line 375 of file index_space_handle.cc.
References contains_unglued_hub(), and is_attached().
Referenced by sheaf::sum_index_space_handle::binary(), contains(), fiber_bundle::section_space_schema_table_dof_crg_range::contains_member(), sheaf::crg_interval::contains_member(), fiber_bundle::product_section_space_schema_crg_range::contains_member(), sheaf::sum_index_space_handle::contains_rep(), sheaf::sum_index_space_handle::contains_unique_rep(), sheaf::sum_index_space_handle::equivalence_class(), sheaf::sum_index_space_handle::equivalence_ct(), sheaf::primary_sum_index_space_state::gathered_id_space_excludes_bottom(), sheaf::sum_index_space_handle::host_rep(), hub_pod(), sheaf::scattered_insertion_index_space_handle::insert(), sheaf::interval_index_space_handle::interval_begin(), sheaf::interval_index_space_handle::interval_end(), sheaf::gathered_insertion_index_space_handle::push(), sheaf::gathered_insertion_index_space_handle::remove(), sheaf::gathered_insertion_index_space_handle::remove_hub(), sheaf::interval_index_space_handle::remove_hub_interval(), sheaf::sum_index_space_handle::rep(), and sheaf::sum_index_space_handle::simple().
|
pure virtual |
True if this space contains an id equivalent to xid in the unglued hub id space.
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().
|
pure virtual |
The number of members.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 220 of file index_space_handle.cc.
References is_attached(), and is_empty().
Referenced by hub_id_space(), fiber_bundle::product_section_space_schema_crg_range::initialize_product_structure(), fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), is_empty(), is_gathered(), fiber_bundle::section_space_schema_jims_index_space_handle::new_space(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::operator<<(), fiber_bundle::section_space_schema_jims_index_space_state::update(), fiber_bundle::product_section_space_schema_crg_range::update_product_structure(), fiber_bundle::product_section_space_schema_member::update_row_cache(), sheaf::schema_poset_member::update_row_cache(), fiber_bundle::product_section_space_schema_member::update_row_cache_without_disc_id_space(), and sheaf::schema_poset_member::update_table_cache().
|
pure virtual |
Deletes the product structure for this id space.
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().
|
pure virtual |
Detach this handle form its state, if any.
Is Abstract.
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().
|
pure virtual |
Ending id of this space.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 287 of file index_space_handle.cc.
References is_attached(), and is_gathered().
Referenced by begin(), fiber_bundle::sparse_section_dof_map::get_fiber(), fiber_bundle::section_space_schema_jims_index_space_state::is_consistent(), is_gathered(), fiber_bundle::section_space_schema_jims_index_space_handle::new_space(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::operator<<(), fiber_bundle::sparse_section_dof_map::put_fiber(), and fiber_bundle::section_space_schema_jims_index_space_state::update().
|
pure virtual |
Allocates an id space handle from the handle pool attached to the same id space.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 1214 of file index_space_handle.cc.
References is_attached(), and release_id_space().
Referenced by conforms_to_state(), fields::field_refiner_family::field_refiner_family(), sheaf::poset_crg_state::get_cover_id_space(), sheaf::id_block::id_block(), fiber_bundle::section_space_schema_jims_index_space_state::new_space(), sheaf::id_block::operator=(), fiber_bundle::section_space_schema_jims_index_space_state::operator=(), fiber_bundle::section_space_schema_jims_index_space_state::put_factors(), sheaf::id_block::put_id_space(), and fiber_bundle::section_space_schema_member::update_row_dof_id_space().
|
pure virtual |
Allocates an id space iterator from the iterator pool.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 1293 of file index_space_handle.cc.
References sheaf::index_space_iterator::is_attached(), is_attached(), and release_iterator().
Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), allocated_id_space(), fiber_bundle::sec_vd_algebra::assign(), fiber_bundle::sec_vd::deep_copy(), fiber_bundle::sec_vd_algebra::extrema(), fields::average_base_space_map_push_action::finalize(), fiber_bundle::sparse_section_dof_map::get_dof_tuple(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::sec_vd::new_comp(), fiber_bundle::operator<<(), sheaf::operator<<(), fiber_bundle::section_space_schema_jims_index_space_iterator::operator=(), fiber_bundle::sparse_section_dof_map::put_dof_tuple(), and sheaf::schema_poset_member::update_dof_descriptors().
|
pure virtual |
The pod index in the hub id space equivalent to xid in this id space. synonym for unglued_hub_pod(xid).
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().
|
pure virtual |
True if this id space has a product structure.
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().
|
pure virtual |
The host collection.
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().
const sheaf::hub_index_space_handle & sheaf::index_space_handle::hub_id_space | ( | ) | const |
The hub id space.
Definition at line 199 of file index_space_handle.cc.
References ct(), sheaf::index_space_family::hub_id_space(), id_spaces(), and is_attached().
Referenced by sheaf::forwarding_index_space_handle::glued_hub_pod(), fiber_bundle::homogeneous_block::hub_id_space(), sheaf::poset_powerset_state::hub_id_space(), sheaf::poset_table_state::hub_id_space(), sheaf::poset_crg_state::hub_id_space(), id_spaces(), sheaf::scattered_insertion_index_space_handle::insert(), sheaf::gathered_insertion_index_space_handle::push(), sheaf::member_record_set::read_record(), and sheaf::forwarding_index_space_handle::unglued_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).
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().
|
pure virtual |
The id space family for this (const version).
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 153 of file index_space_handle.cc.
References is_attached().
Referenced by sheaf::index_space_iterator::attach_to(), attach_to(), conforms_to_state(), fiber_bundle::base_space_poset::get_adjacency_id_space(), fiber_bundle::base_space_poset::get_connectivity_id_space(), fiber_bundle::base_space_poset::get_vertex_client_id_space(), fiber_bundle::base_space_poset::get_vertex_id_space(), fiber_bundle::base_space_poset::get_zone_id_space(), hub_id_space(), index(), index_space_handle(), invariant(), name(), operator==(), sheaf::scoped_index::put(), put_name(), sheaf::scoped_index::put_scope(), sheaf::scoped_index::same_id_space_family(), and sheaf::scoped_index::same_scope().
|
pure virtual |
The id space family for this (mutable version).
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().
|
pure virtual |
Index of this space.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 778 of file index_space_handle.cc.
References contains(), id_spaces(), is_attached(), and name().
Referenced by sheaf::explicit_index_space_collection::allocated_id_space(), sheaf::explicit_index_space_interval::allocated_id_space(), sheaf::index_space_family::allocated_id_space(), sheaf::index_space_iterator::attach_to(), attach_to(), conforms_to_state(), host(), sheaf::id_block::id_block(), invariant(), name(), sheaf::operator<<(), operator==(), sheaf::scoped_index::put(), sheaf::id_block::put_id_space(), put_name(), sheaf::scoped_index::put_scope(), sheaf::explicit_index_space_collection::release_id_space(), sheaf::explicit_index_space_interval::release_id_space(), sheaf::index_space_family::release_id_space(), and sheaf::scoped_index::same_scope().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Reimplemented in sheaf::explicit_index_space_handle, sheaf::forwarding_index_space_handle, sheaf::hub_index_space_handle, sheaf::interval_index_space_handle, sheaf::sum_index_space_handle, sheaf::list_index_space_handle, sheaf::gathered_insertion_index_space_handle, fiber_bundle::section_space_schema_jims_index_space_handle, sheaf::reserved_primary_index_space_handle, sheaf::scattered_insertion_index_space_handle, sheaf::array_index_space_handle, sheaf::offset_index_space_handle, sheaf::singleton_index_space_handle, sheaf::hash_index_space_handle, sheaf::primary_index_space_handle, and sheaf::primitives_index_space_handle.
Definition at line 1393 of file index_space_handle.cc.
References contains(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), id_spaces(), index(), sheaf::any::invariant(), sheaf::any::invariant_check(), is_attached(), sheaf::is_valid(), and sheaf::operator<<().
Referenced by sheaf::forwarding_index_space_handle::invariant(), sheaf::explicit_index_space_handle::invariant(), is_ancestor_of(), and operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Reimplemented in sheaf::explicit_index_space_handle, sheaf::forwarding_index_space_handle, sheaf::hub_index_space_handle, sheaf::interval_index_space_handle, sheaf::sum_index_space_handle, sheaf::list_index_space_handle, sheaf::gathered_insertion_index_space_handle, fiber_bundle::section_space_schema_jims_index_space_handle, sheaf::reserved_primary_index_space_handle, sheaf::scattered_insertion_index_space_handle, sheaf::array_index_space_handle, sheaf::offset_index_space_handle, sheaf::singleton_index_space_handle, sheaf::hash_index_space_handle, sheaf::primary_index_space_handle, and sheaf::primitives_index_space_handle.
Definition at line 1372 of file index_space_handle.cc.
References invariant().
Referenced by allocated_iterator().
|
pure virtual |
True if this handle is attached to a state.
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().
bool sheaf::index_space_handle::is_empty | ( | ) | const |
True if there are no ids in the space.
Definition at line 243 of file index_space_handle.cc.
References begin(), ct(), and is_attached().
Referenced by sheaf::gathered_insertion_index_space_handle::clear(), sheaf::sum_index_space_handle::clear(), ct(), sheaf::sum_index_space_handle::last_term(), sheaf::gathered_insertion_index_space_handle::remove(), sheaf::gathered_insertion_index_space_handle::remove_hub(), and sheaf::primary_sum_index_space_state::update_gathered_id_space().
bool sheaf::index_space_handle::is_gathered | ( | ) | const |
True if begin() == 0 and end() == ct().
Definition at line 310 of file index_space_handle.cc.
References begin(), contains(), ct(), end(), and is_attached().
Referenced by end(), sheaf::gathered_insertion_index_space_handle::gather(), sheaf::hub_index_space_handle::new_gathered_id_space(), sheaf::offset_index_space_handle::new_space(), sheaf::singleton_index_space_state::new_space(), sheaf::offset_index_space_state::new_space(), sheaf::primary_index_space_state::new_space(), and sheaf::hub_index_space_handle::update_gathered_id_space().
|
pure virtual |
True if this id space should be written to disk.
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<<().
std::string sheaf::index_space_handle::name | ( | ) | const |
Name of this space.
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().
|
pure virtual |
Creates a new product structure for this id space by cloning the product structure, xproduct.
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().
|
virtual |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).
Reimplemented in sheaf::hub_index_space_handle, sheaf::interval_index_space_handle, sheaf::sum_index_space_handle, sheaf::list_index_space_handle, sheaf::gathered_insertion_index_space_handle, fiber_bundle::section_space_schema_jims_index_space_handle, sheaf::reserved_primary_index_space_handle, sheaf::array_index_space_handle, sheaf::offset_index_space_handle, sheaf::singleton_index_space_handle, sheaf::hash_index_space_handle, sheaf::primary_index_space_handle, sheaf::scattered_insertion_index_space_handle, sheaf::primitives_index_space_handle, sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 54 of file index_space_handle.cc.
References attach_to(), conforms_to_state(), invariant(), is_attached(), and operator==().
Referenced by ~index_space_handle().
bool sheaf::index_space_handle::operator== | ( | const index_space_handle & | xother | ) | const |
True if this is a handle has the same state as xother.
Definition at line 76 of file index_space_handle.cc.
References clone(), id_spaces(), index(), and is_attached().
Referenced by operator=().
|
pure virtual |
The pod index in this space equivalent to xid in the hub id space.
Implemented in sheaf::explicit_index_space_handle.
Definition at line 486 of file index_space_handle.cc.
References contains(), is_attached(), and sheaf::is_valid().
Referenced by sheaf::schema_poset_member::alignment(), sheaf::namespace_poset_dof_map::allocate_dofs(), fields::base_space_map::base_space_map(), tool::vtk_poly_data_builder::build_pa(), contains(), fiber_bundle::product_section_space_schema_member::offset(), sheaf::schema_poset_member::offset(), fields::average_push_action::operator()(), fiber_bundle::product_section_space_schema_crg_range::ordinal(), pod(), fiber_bundle::section_space_schema_jims_index_space_state::pod(), fields::discretization_pusher::push(), sheaf::id_block::put_id_space(), 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(), sheaf::schema_poset_member::size(), sheaf::schema_poset_member::type(), 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().
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()).
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().
|
pure virtual |
The product structure for this id space (const version).
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 673 of file index_space_handle.cc.
References has_product_structure(), and is_attached().
Referenced by fiber_bundle::product_section_space_schema_member::alignment(), delete_product_structure(), fiber_bundle::sparse_section_dof_map::get_component(), fiber_bundle::sparse_section_dof_map::get_dof(), fiber_bundle::sparse_section_dof_map::get_fiber(), fiber_bundle::product_section_space_schema_member::offset(), product_structure(), product_structure_conforms_to(), fiber_bundle::sparse_section_dof_map::put_component(), fiber_bundle::sparse_section_dof_map::put_dof(), fiber_bundle::sparse_section_dof_map::put_fiber(), fiber_bundle::product_section_space_schema_member::size(), fiber_bundle::product_section_space_schema_member::type(), and fiber_bundle::section_space_schema_member::update_row_dof_id_space().
|
pure virtual |
The product structure for this id space (mutable version).
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().
const T & sheaf::index_space_handle::product_structure | ( | ) | const |
The product structure of type T for this id space (const version).
Definition at line 43 of file index_space_handle.impl.h.
References has_product_structure(), and product_structure().
T & sheaf::index_space_handle::product_structure | ( | ) |
The product structure of type T for this id space (mutable version).
Definition at line 66 of file index_space_handle.impl.h.
References has_product_structure(), product_structure(), and product_structure_conforms_to().
bool sheaf::index_space_handle::product_structure_conforms_to | ( | ) | const |
True if the product structure for this id space conforms to type T.
Definition at line 89 of file index_space_handle.impl.h.
References has_product_structure(), and product_structure().
Referenced by product_structure().
void sheaf::index_space_handle::put_name | ( | const std::string & | xname | ) |
Associate name xname with this id space.
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().
|
pure virtual |
Returns this id space handle to the handle pool.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 1237 of file index_space_handle.cc.
References allocated_id_space(), and is_attached().
Referenced by sheaf::schema_poset_member::attach_handle_data_members(), fields::base_space_map::base_space_map(), sheaf::schema_poset_member::detach_from_state(), get_id_space(), sheaf::id_block::put_id_space(), fiber_bundle::product_section_space_schema_member::update_row_cache(), fields::base_space_map::~base_space_map(), sheaf::id_block::~id_block(), and fiber_bundle::section_space_schema_jims_index_space_state::~section_space_schema_jims_index_space_state().
|
pure virtual |
Returns the id space iterator xitr to the iterator pool.
Implemented in sheaf::explicit_index_space_handle, and sheaf::forwarding_index_space_handle.
Definition at line 1316 of file index_space_handle.cc.
References allocated_iterator(), and is_attached().
Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), fiber_bundle::sec_vd_algebra::assign(), fiber_bundle::sec_vd::deep_copy(), fiber_bundle::sec_vd_algebra::extrema(), fields::average_base_space_map_push_action::finalize(), fiber_bundle::sparse_section_dof_map::get_dof_tuple(), get_iterator(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::sec_vd::new_comp(), fiber_bundle::operator<<(), sheaf::operator<<(), fiber_bundle::sparse_section_dof_map::put_dof_tuple(), and sheaf::schema_poset_member::update_dof_descriptors().
|
pure virtual |
The pod index in the unglued hub id space equivalent to xid in this id space.
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().