SheafSystem  0.0.0.0
sheaf::index_equivalence_class Class Reference

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_typemember_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_typelist_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_classoperator= (const index_equivalence_class &xother)
 Assignment operator. More...
 
const list_typeequivalence_list (pod_index_type xrep_id) const
 The equivalence list for the representive id, xrep_id. More...
 
const list_typeequivalence_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...
 

Detailed Description

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.

Member Typedef Documentation

◆ list_type

The equivalence id list type for this.

Definition at line 90 of file index_equivalence_class.h.

◆ 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.

◆ pod_type

The "plain old data" index type for this.

Definition at line 78 of file index_equivalence_class.h.

Constructor & Destructor Documentation

◆ index_equivalence_class() [1/3]

◆ ~index_equivalence_class()

sheaf::index_equivalence_class::~index_equivalence_class ( )
virtual

Destructor.

Definition at line 114 of file index_equivalence_class.cc.

References operator=().

Referenced by index_equivalence_class().

◆ index_equivalence_class() [2/3]

sheaf::index_equivalence_class::index_equivalence_class ( )
inlineprotected

Default constructor; disabled.

Definition at line 151 of file index_equivalence_class.h.

◆ index_equivalence_class() [3/3]

sheaf::index_equivalence_class::index_equivalence_class ( const index_equivalence_class xother)
inlineprotected

Copy constructor; disabled.

Definition at line 156 of file index_equivalence_class.h.

Member Function Documentation

◆ contains_rep_id() [1/2]

bool sheaf::index_equivalence_class::contains_rep_id ( pod_index_type  xrep_id) const

True if this class contains the representive id, xrep_id.

Postcondition
  • is_basic_query

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().

◆ contains_rep_id() [2/2]

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().

◆ equivalence_ct() [1/2]

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.

Precondition
  • contains_rep_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().

◆ equivalence_ct() [2/2]

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.

Precondition
  • contains_rep_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().

◆ equivalence_list() [1/2]

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.

Precondition
  • contains_rep_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().

◆ equivalence_list() [2/2]

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.

Precondition
  • contains_rep_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().

◆ id_space_less_than()

bool sheaf::index_equivalence_class::id_space_less_than ( const member_type xitem1,
const member_type xitem2 
)
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().

◆ operator=()

Member Data Documentation

◆ _equivalence_lists

block<list_type> sheaf::index_equivalence_class::_equivalence_lists
protected

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=().


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