SheafSystem
0.0.0.0
|
Data structure containing the id equivalence class for ab id space family. This class is used as a temporary data structured to be used by id equivalence iterator. This class consists of a block of lists. Each list has the equivalence id for the representive id in a given scope. More...
#include <index_equivalence_class.h>
Friends | |
class | index_equivalence_iterator |
INDEX_EQUIVALENCE_CLASS FACET | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
typedef std::pair< pod_type, pod_type > | member_type |
The member type for the equivalence id list. The first value in the pair is the index of the id space, the second value in the pair is the pod. More... | |
typedef std::list< member_type > | list_type |
The equivalence id list type for this. More... | |
block< list_type > | _equivalence_lists |
The block of equivalence id lists for a given representive id. More... | |
index_equivalence_class (const index_space_family &xid_spaces, bool xonly_persistent, bool xsort_ids) | |
Creates the id equivalence class for the id space family xid_spaces. If xonly_persistent, only store equivalence ids from persistent id spaces. If xsort_ids, sort the ids in the equivalence list in increased space id order. More... | |
virtual | ~index_equivalence_class () |
Destructor. More... | |
index_equivalence_class & | operator= (const index_equivalence_class &xother) |
Assignment operator. More... | |
const list_type & | equivalence_list (pod_index_type xrep_id) const |
The equivalence list for the representive id, xrep_id. More... | |
const list_type & | equivalence_list (const scoped_index &xrep_id) const |
The equivalence list for the representive id, xrep_id. More... | |
size_type | equivalence_ct (pod_index_type xrep_id) const |
The number of ids in the equivalence list for the representive id, xrep_id. More... | |
size_type | equivalence_ct (const scoped_index &xrep_id) const |
The number of ids in the equivalence list for the representive id, xrep_id. More... | |
bool | contains_rep_id (pod_index_type xrep_id) const |
True if this class contains the representive id, xrep_id. More... | |
bool | contains_rep_id (const scoped_index &xrep_id) const |
True if this class contains the representive id, xrep_id. More... | |
static bool | id_space_less_than (const member_type &xitem1, const member_type &xitem2) |
True if the id space of xitem1 is less than the id space of xitem2. More... | |
index_equivalence_class () | |
Default constructor; disabled. More... | |
index_equivalence_class (const index_equivalence_class &xother) | |
Copy constructor; disabled. More... | |
Data structure containing the id equivalence class for ab id space family. This class is used as a temporary data structured to be used by id equivalence iterator. This class consists of a block of lists. Each list has the equivalence id for the representive id in a given scope.
Definition at line 63 of file index_equivalence_class.h.
typedef std::list<member_type> sheaf::index_equivalence_class::list_type |
The equivalence id list type for this.
Definition at line 90 of file index_equivalence_class.h.
typedef std::pair<pod_type, pod_type> sheaf::index_equivalence_class::member_type |
The member type for the equivalence id list. The first value in the pair is the index of the id space, the second value in the pair is the pod.
Definition at line 85 of file index_equivalence_class.h.
The "plain old data" index type for this.
Definition at line 78 of file index_equivalence_class.h.
sheaf::index_equivalence_class::index_equivalence_class | ( | const index_space_family & | xid_spaces, |
bool | xonly_persistent, | ||
bool | xsort_ids | ||
) |
Creates the id equivalence class for the id space family xid_spaces. If xonly_persistent, only store equivalence ids from persistent id spaces. If xsort_ids, sort the ids in the equivalence list in increased space id order.
Definition at line 38 of file index_equivalence_class.cc.
References _equivalence_lists, sheaf::explicit_index_space_handle::contains(), sheaf::explicit_index_space_handle::end(), sheaf::index_space_family_iterator::get_id_space_iterator(), sheaf::index_space_family::hub_id_space(), sheaf::index_space_iterator::hub_pod(), id_space_less_than(), sheaf::index_space_family_iterator::index(), sheaf::index_space_iterator::index(), sheaf::explicit_index_space_handle::index(), sheaf::index_space_family_iterator::is_done(), sheaf::index_space_iterator::is_done(), sheaf::is_valid(), sheaf::index_space_family_iterator::next(), sheaf::index_space_iterator::next(), sheaf::index_space_family_iterator::only_persistent(), sheaf::index_space_iterator::pod(), sheaf::auto_block< T, S >::push_back(), sheaf::index_space_family_iterator::release_id_space_iterator(), sheaf::auto_block< T, S >::reserve(), sheaf::auto_block< T, S >::set_ct(), and ~index_equivalence_class().
|
virtual |
Destructor.
Definition at line 114 of file index_equivalence_class.cc.
References operator=().
Referenced by index_equivalence_class().
|
inlineprotected |
Default constructor; disabled.
Definition at line 151 of file index_equivalence_class.h.
|
inlineprotected |
Copy constructor; disabled.
Definition at line 156 of file index_equivalence_class.h.
bool sheaf::index_equivalence_class::contains_rep_id | ( | pod_index_type | xrep_id | ) | const |
True if this class contains the representive id, xrep_id.
Definition at line 226 of file index_equivalence_class.cc.
References _equivalence_lists, and sheaf::auto_block< T, S >::ct().
Referenced by contains_rep_id(), equivalence_ct(), and equivalence_list().
bool sheaf::index_equivalence_class::contains_rep_id | ( | const scoped_index & | xrep_id | ) | const |
True if this class contains the representive id, xrep_id.
Definition at line 245 of file index_equivalence_class.cc.
References contains_rep_id(), sheaf::scoped_index::hub_pod(), and id_space_less_than().
sheaf::size_type sheaf::index_equivalence_class::equivalence_ct | ( | pod_index_type | xrep_id | ) | const |
The number of ids in the equivalence list for the representive id, xrep_id.
Definition at line 194 of file index_equivalence_class.cc.
References _equivalence_lists, and contains_rep_id().
Referenced by sheaf::index_equivalence_iterator::ct(), equivalence_ct(), and equivalence_list().
sheaf::size_type sheaf::index_equivalence_class::equivalence_ct | ( | const scoped_index & | xrep_id | ) | const |
The number of ids in the equivalence list for the representive id, xrep_id.
Definition at line 213 of file index_equivalence_class.cc.
References contains_rep_id(), equivalence_ct(), and sheaf::scoped_index::hub_pod().
const sheaf::index_equivalence_class::list_type & sheaf::index_equivalence_class::equivalence_list | ( | pod_index_type | xrep_id | ) | const |
The equivalence list for the representive id, xrep_id.
Definition at line 162 of file index_equivalence_class.cc.
References _equivalence_lists, and contains_rep_id().
Referenced by equivalence_list(), operator=(), and sheaf::index_equivalence_iterator::reset().
const sheaf::index_equivalence_class::list_type & sheaf::index_equivalence_class::equivalence_list | ( | const scoped_index & | xrep_id | ) | const |
The equivalence list for the representive id, xrep_id.
Definition at line 181 of file index_equivalence_class.cc.
References contains_rep_id(), equivalence_ct(), equivalence_list(), and sheaf::scoped_index::hub_pod().
|
static |
True if the id space of xitem1 is less than the id space of xitem2.
Definition at line 256 of file index_equivalence_class.cc.
Referenced by contains_rep_id(), and index_equivalence_class().
sheaf::index_equivalence_class & sheaf::index_equivalence_class::operator= | ( | const index_equivalence_class & | xother | ) |
Assignment operator.
Definition at line 131 of file index_equivalence_class.cc.
References _equivalence_lists, sheaf::auto_block< T, S >::ct(), equivalence_list(), sheaf::auto_block< T, S >::push_back(), sheaf::auto_block< T, S >::reserve(), sheaf::auto_block< T, S >::set_ct(), and sheaf::auto_block< T, S >::ub().
Referenced by ~index_equivalence_class().
The block of equivalence id lists for a given representive id.
Definition at line 156 of file index_equivalence_class.h.
Referenced by contains_rep_id(), equivalence_ct(), equivalence_list(), index_equivalence_class(), and operator=().