SheafSystem
0.0.0.0
|
A handle for a scattered_insertion_index_space_state. More...
#include <scattered_insertion_index_space_handle.h>
Friends | |
class | scattered_insertion_index_space_state |
class | id_space_names_record |
SCATTERED_INSERTION_INDEX_SPACE_HANDLE FACET | |
scattered_insertion_index_space_handle () | |
Default constructor. More... | |
scattered_insertion_index_space_handle (const scattered_insertion_index_space_handle &xother) | |
Copy constructor. More... | |
scattered_insertion_index_space_handle (const index_space_family &xid_spaces, pod_type xindex) | |
Constructor: Attach to state with index xindex in the family xid_spaces. More... | |
scattered_insertion_index_space_handle (const index_space_family &xid_spaces, const std::string &xname) | |
Constructor: Attach to state with name xname in the family xid_spaces. More... | |
scattered_insertion_index_space_handle & | operator= (const scattered_insertion_index_space_handle &xother) |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More... | |
virtual | ~scattered_insertion_index_space_handle () |
Destructor. More... | |
scattered_insertion_index_space_state & | state () |
The mutable id space state (mutable version). More... | |
const scattered_insertion_index_space_state & | state () const |
The mutable id space state (const version). More... | |
MUTABLE INDEX SPACE FACET | |
void | insert (pod_type xid, const scoped_index &xhub_id) |
Make id xid in this id space equivalent to xhub_id in the hub id space. synonym for insert(xid, xhub_id.hub_pod()). More... | |
void | insert (pod_type xid, pod_type xhub_id) |
Make id xid in this id space equivalent to xhub_id in the hub id space. More... | |
INDEX_SPACE_HANDLE FACET | |
virtual scattered_insertion_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... | |
virtual scattered_insertion_index_space_handle * | clone () const |
Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state. More... | |
HANDLE FACET | |
virtual bool | conforms_to_state (const index_space_collection &xhost, pod_type xlocal_id) const |
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... | |
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 Types inherited from sheaf::index_space_handle | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
Public Member Functions inherited from sheaf::gathered_insertion_index_space_handle | |
gathered_insertion_index_space_handle () | |
Default constructor. More... | |
gathered_insertion_index_space_handle (const gathered_insertion_index_space_handle &xother) | |
Copy constructor. More... | |
gathered_insertion_index_space_handle (const index_space_family &xid_spaces, pod_type xindex) | |
Constructor: Attach to state with index xindex in the family xid_spaces. More... | |
gathered_insertion_index_space_handle (const index_space_family &xid_spaces, const std::string &xname) | |
Constructor: Attach to state with name xname in the family xid_spaces. More... | |
gathered_insertion_index_space_handle & | operator= (const gathered_insertion_index_space_handle &xother) |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More... | |
virtual | ~gathered_insertion_index_space_handle () |
Destructor. More... | |
void | push_back (const scoped_index &xhub_id) |
Make the next id in this space equivalent to xhub_id in the hub id space. synonym for push_back(xhub_id.hub_pod()). More... | |
void | push_back (pod_type xid) |
Make the next id in this space equivalent to xhub_id in the hub id space. More... | |
void | push (index_space_iterator &xitr, const scoped_index &xhub_id) |
Makes id xitr.id() in this id space equivalent to xhub_id in the hub id space. Increments all ids greater than xitr.id() if any by one. Xitr will be set to the entry with id, xitr.id()+1. synonym for push(xitr, xhub_id.pod()). More... | |
void | push (index_space_iterator &xitr, pod_type xhub_id) |
Makes id xitr.id() in this id space equivalent to xhub_id in the hub id space. Increments all ids greater than xitr.id() if any by one. Xitr will be set to the entry with id, xitr.id()+1. More... | |
pod_type | next_id () const |
The id inserted by the next call to push_back. More... | |
size_type | remove (const scoped_index &xid, bool update_extrema) |
Removes the equivalence associated with xid.hub_pod(). synonym for remove_hub(xid.hub_pod(), xupdate_extrema). Returns the number of entries actually removed, either 0 or 1. More... | |
size_type | remove (pod_type xid, bool update_extrema) |
Removes the equivalence associated with id xid. Returns the number of entries actually removed, either 0 or 1. More... | |
size_type | remove_hub (pod_type xhub_id, bool update_extrema) |
Removes the equivalence associated with hub id xhub_id. Returns the number of entries actually removed, either 0 or 1. More... | |
void | remove (index_space_iterator &xitr, bool update_extrema) |
Removes the equivalence associated with id xitr.pod(). Increments xitr to the next entry if any. More... | |
void | gather () |
Gathers this id space into an interval. More... | |
void | update_extrema () |
Update the id extrema. More... | |
void | reserve (size_type xcapacity) |
Reserve enough memory for xcapacity number of ids. More... | |
size_type | capacity () const |
The number of ids reserved in memory. More... | |
void | clear () |
Delete all ids. More... | |
void | put_is_persistent (bool xis_persistent) |
Set if this id space should be written to disk. More... | |
Public Member Functions inherited from sheaf::explicit_index_space_handle | |
explicit_index_space_handle () | |
Default constructor. More... | |
explicit_index_space_handle (const explicit_index_space_handle &xother) | |
Copy constructor. More... | |
explicit_index_space_handle (const index_space_family &xid_spaces, pod_type xindex) | |
Constructor: Attach to state with index xindex in the family xid_spaces. More... | |
explicit_index_space_handle (const index_space_family &xid_spaces, const std::string &xname) | |
Constructor: Attach to state with name xname in the family xid_spaces. More... | |
explicit_index_space_handle & | operator= (const explicit_index_space_handle &xother) |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother). More... | |
virtual | ~explicit_index_space_handle () |
Destructor. More... | |
virtual const index_space_family & | id_spaces () const |
The id space family for this (const version). More... | |
virtual index_space_family & | id_spaces () |
The id space family for this (mutable version). More... | |
virtual size_type | ct () const |
The number of members. More... | |
virtual pod_type | begin () const |
Beginning id of this space. More... | |
virtual pod_type | end () const |
Ending id of this space. More... | |
virtual bool | contains (pod_type xid) const |
True if this space contains id xid. More... | |
virtual bool | contains_unglued_hub (pod_type xid) const |
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 |
True if this space contains an id equivalent to xid in the glued hub id space. More... | |
virtual bool | contains (pod_type xid, pod_type xhub_id) const |
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 |
The pod index in this space equivalent to xid in the hub id space. More... | |
virtual pod_type | unglued_hub_pod (pod_type xid) const |
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 |
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 |
True if this id space should be written to disk. More... | |
virtual void | new_product_structure (const abstract_product_structure &xproduct) |
Creates a new product structure for this id space by cloning the product structure, xproduct. More... | |
virtual void | delete_product_structure () |
Deletes the product structure for this id space. More... | |
virtual const abstract_product_structure & | product_structure () const |
The product structure for this id space (const version). More... | |
virtual abstract_product_structure & | product_structure () |
The product structure for this id space (mutable version). More... | |
virtual bool | has_product_structure () const |
True if this id space has a product structure. More... | |
virtual const index_space_collection & | host () const |
The host collection. More... | |
virtual pod_type | index () const |
Index of this space. More... | |
virtual bool | is_attached () const |
True if this handle is attached to a state. More... | |
virtual void | attach_to (pod_type xindex) |
Attach to the state with index xindex in the id space family id_spaces(). More... | |
virtual void | attach_to (const index_space_collection &xhost, pod_type xlocal_id) |
Attach to the state with local scope id, xlocal_id in the host id space collection xhost. More... | |
virtual void | detach () |
Detach this handle form its state, if any. More... | |
virtual index_space_handle & | get_id_space () const |
Allocates an id space handle from the handle pool. More... | |
virtual void | release_id_space () const |
Returns this id space handle to the handle pool. More... | |
virtual bool | allocated_id_space () const |
True if and only if this id space handle was allocated by the handle pool. More... | |
virtual index_space_iterator & | get_iterator () const |
Allocates an id space iterator from the iterator pool. More... | |
virtual void | release_iterator (index_space_iterator &xitr) const |
Returns the id space iterator xitr to the iterator pool. More... | |
virtual bool | allocated_iterator (const index_space_iterator &xitr) const |
True if and only if id space iterator xitr was allocated by the iterator pool. More... | |
Public Member Functions inherited from sheaf::index_space_handle | |
virtual | ~index_space_handle () |
Destructor. More... | |
bool | operator== (const index_space_handle &xother) const |
True if this is a handle has the same state as xother. More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space. More... | |
bool | is_empty () const |
True if there are no ids in the space. More... | |
bool | is_gathered () const |
True if begin() == 0 and end() == ct(). 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... | |
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... | |
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... | |
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... | |
template<typename T > | |
bool | product_structure_conforms_to () const |
True if the product structure for this id space conforms to type T. 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... | |
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... | |
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... | |
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::gathered_insertion_index_space_handle | |
gathered_insertion_index_space_state & | state () |
The gathered_insertion id space state (gathered_insertion version). More... | |
const gathered_insertion_index_space_state & | state () const |
The gathered_insertion id space state (const version). More... | |
Protected Member Functions inherited from sheaf::explicit_index_space_handle | |
explicit_index_space_state & | state () |
The explicit state (mutable version). More... | |
const explicit_index_space_state & | state () const |
The explicit state (const version). More... | |
void | attach_to (explicit_index_space_state *xstate) |
Attach to the explicit id space state xstate. More... | |
virtual bool | conforms_to_state (explicit_index_space_state *xstate) const |
True if this conforms to the iterator type required by the explicit id space state xstate. More... | |
explicit_index_space_state * | state (pod_type xindex) const |
The explicit id space state at id xindex in id space family id_spaces(). Returns null if no id space stae is available at index xindex. More... | |
explicit_index_space_state * | state (const index_space_collection &xhost, pod_type xlocal_id) const |
The explicit id space state with local scope id xlocal_id in the host id space collection xhost. More... | |
Protected Member Functions inherited from sheaf::index_space_handle | |
index_space_handle () | |
Default constructor. More... | |
index_space_handle (const index_space_handle &xother) | |
Copy constructor; disabled. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::explicit_index_space_handle | |
explicit_index_space_state * | _state |
The explicit state. More... | |
A handle for a scattered_insertion_index_space_state.
Definition at line 40 of file scattered_insertion_index_space_handle.h.
sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle | ( | ) |
Default constructor.
Definition at line 35 of file scattered_insertion_index_space_handle.cc.
References invariant().
Referenced by clone(), and scattered_insertion_index_space_handle().
sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle | ( | const scattered_insertion_index_space_handle & | xother | ) |
Copy constructor.
Definition at line 52 of file scattered_insertion_index_space_handle.cc.
References invariant(), and scattered_insertion_index_space_handle().
sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle | ( | const index_space_family & | xid_spaces, |
pod_type | xindex | ||
) |
Constructor: Attach to state with index xindex in the family xid_spaces.
Definition at line 71 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::attach_to(), conforms_to_state(), sheaf::index_space_family::contains(), sheaf::explicit_index_space_handle::id_spaces(), sheaf::explicit_index_space_handle::index(), invariant(), sheaf::explicit_index_space_handle::is_attached(), and scattered_insertion_index_space_handle().
sheaf::scattered_insertion_index_space_handle::scattered_insertion_index_space_handle | ( | const index_space_family & | xid_spaces, |
const std::string & | xname | ||
) |
Constructor: Attach to state with name xname in the family xid_spaces.
Definition at line 96 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::attach_to(), conforms_to_state(), sheaf::index_space_family::contains(), sheaf::explicit_index_space_handle::id_spaces(), invariant(), sheaf::explicit_index_space_handle::is_attached(), sheaf::index_space_handle::name(), and operator=().
|
virtual |
Destructor.
Definition at line 142 of file scattered_insertion_index_space_handle.cc.
References state().
Referenced by operator=().
|
virtual |
Virtual constructor, makes a new instance of the same type as this. If the handle is attached, attach to the same state.
Reimplemented from sheaf::gathered_insertion_index_space_handle.
Reimplemented in sheaf::interval_index_space_handle, sheaf::list_index_space_handle, sheaf::array_index_space_handle, and sheaf::hash_index_space_handle.
Definition at line 327 of file scattered_insertion_index_space_handle.cc.
References conforms_to_state(), sheaf::any::is_same_type(), and scattered_insertion_index_space_handle().
Referenced by operator=().
|
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.
Reimplemented from sheaf::gathered_insertion_index_space_handle.
Reimplemented in sheaf::interval_index_space_handle, sheaf::list_index_space_handle, sheaf::array_index_space_handle, and sheaf::hash_index_space_handle.
Definition at line 370 of file scattered_insertion_index_space_handle.cc.
References sheaf::index_space_collection::contains(), is_ancestor_of(), and state().
Referenced by clone(), operator=(), and scattered_insertion_index_space_handle().
void sheaf::scattered_insertion_index_space_handle::insert | ( | pod_type | xid, |
const scoped_index & | xhub_id | ||
) |
Make id xid in this id space equivalent to xhub_id in the hub id space. synonym for insert(xid, xhub_id.hub_pod()).
Definition at line 214 of file scattered_insertion_index_space_handle.cc.
References sheaf::scoped_index::hub_pod(), sheaf::scoped_index::in_scope(), and sheaf::explicit_index_space_handle::is_attached().
Referenced by fiber_bundle::unstructured_block_builder::build_block_decomposition(), sheaf::dof_tuple_record_set::compute_ext_id(), fields::field_vd::embed_property(), fiber_bundle::zone_nodes_block_crg_interval::initialize_vertex_client_id_space(), sheaf::member_record::internalize(), sheaf::member_record_set::make_internal_dataspace(), fields::zone_centered_tet_refiner::modify_subposets(), fields::zone_centered_segment_refiner::modify_subposets(), fields::zone_centered_triangle_refiner::modify_subposets(), fields::edge_centered_polygon_refiner::modify_subposets(), fiber_bundle::unstructured_block_builder::put_name_mode(), state(), sheaf::subposet_names_record::transfer_internal_buffer_to_poset(), and fiber_bundle::section_space_schema_member::update_table_cache().
Make id xid in this id space equivalent to xhub_id in the hub id space.
Definition at line 237 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::begin(), sheaf::explicit_index_space_handle::contains(), sheaf::index_space_handle::contains_hub(), sheaf::explicit_index_space_handle::ct(), sheaf::explicit_index_space_handle::end(), sheaf::index_space_handle::hub_id_space(), sheaf::scattered_insertion_index_space_state::insert(), invariant(), sheaf::explicit_index_space_handle::is_attached(), sheaf::is_valid(), operator=(), and state().
|
virtual |
Class invariant.
Reimplemented from sheaf::gathered_insertion_index_space_handle.
Reimplemented in sheaf::interval_index_space_handle, sheaf::list_index_space_handle, sheaf::array_index_space_handle, and sheaf::hash_index_space_handle.
Definition at line 424 of file scattered_insertion_index_space_handle.cc.
References sheaf::deep_size(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::gathered_insertion_index_space_handle::invariant(), and sheaf::any::invariant_check().
Referenced by insert(), sheaf::hash_index_space_handle::invariant(), sheaf::array_index_space_handle::invariant(), sheaf::list_index_space_handle::invariant(), sheaf::interval_index_space_handle::invariant(), is_ancestor_of(), operator=(), and scattered_insertion_index_space_handle().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::gathered_insertion_index_space_handle.
Reimplemented in sheaf::interval_index_space_handle, sheaf::list_index_space_handle, sheaf::array_index_space_handle, and sheaf::hash_index_space_handle.
Definition at line 403 of file scattered_insertion_index_space_handle.cc.
References invariant().
Referenced by conforms_to_state().
sheaf::scattered_insertion_index_space_handle & sheaf::scattered_insertion_index_space_handle::operator= | ( | const scattered_insertion_index_space_handle & | xother | ) |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).
Definition at line 121 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::attach_to(), conforms_to_state(), invariant(), sheaf::explicit_index_space_handle::is_attached(), and ~scattered_insertion_index_space_handle().
Referenced by insert(), and scattered_insertion_index_space_handle().
|
virtual |
Assignment operator; attach this handle to the state of xother. synonym for attach_to(xother).
Reimplemented from sheaf::gathered_insertion_index_space_handle.
Reimplemented in sheaf::interval_index_space_handle, sheaf::list_index_space_handle, sheaf::array_index_space_handle, and sheaf::hash_index_space_handle.
Definition at line 305 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::attach_to(), clone(), conforms_to_state(), invariant(), and sheaf::index_space_handle::is_attached().
|
protected |
The mutable id space state (mutable version).
Definition at line 161 of file scattered_insertion_index_space_handle.cc.
References sheaf::explicit_index_space_handle::is_attached().
Referenced by conforms_to_state(), insert(), sheaf::id_space_names_record::transfer_poset_to_internal_buffer(), and ~scattered_insertion_index_space_handle().
|
protected |
The mutable id space state (const version).
Definition at line 183 of file scattered_insertion_index_space_handle.cc.
References insert(), and sheaf::explicit_index_space_handle::is_attached().