21 #ifndef RECORD_INDEX_H 22 #define RECORD_INDEX_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef ASSERT_CONTRACT_H 29 #include "SheafSystem/assert_contract.h" 32 #ifndef SCOPED_INDEX_H 33 #include "SheafSystem/scoped_index.h" 54 return (poset_id == xother.poset_id) && (member_id == xother.member_id);
110 : poset_id(xother.poset_id),
111 member_id(xother.member_id)
120 ensure(*
this == xother);
141 ensure(*
this == xother);
165 ensure(result == ((poset_id == xother.
poset_id) && (member_id == xother.
member_id)));
238 inline pod_type
pod()
const 241 result.poset_id = poset_id.
pod();
242 result.member_id = member_id.
pod();
257 poset_id.
put_pod(xpod.poset_id);
258 member_id.
put_pod(xpod.member_id);
262 ensure(pod() == xpod || !
is_valid());
275 #endif // ifndef RECORD_INDEX_H bool operator==(const namespace_relative_record_index &xother) const
Equality operator.
void put_pod(pod_type xpod)
Sets pod() to xpod.
bool is_valid() const
True if this is a valid id.
scoped_index record_index
The type used for indexing records in a dataset.
const pod_type & pod() const
The "plain old data" storage of this; the value in the external id space.
namespace_relative_record_index & operator=(const namespace_relative_record_index &xother)
Assignment operator.
namespace_relative_record_index()
Default constructor.
void invalidate()
Make this id invalid.
pod_type pod() const
The "plain old data" storage of this.
record_index member_id
The record index of the member relative to the poset.
An index within the external ("client") scope of a given id space.
Record index equivalent to namespace_relative_member_index and namespace_relative_subposet_index.
bool operator==(const singly_linked_list< T, Alloc > &lhs, const singly_linked_list< T, Alloc > &rhs)
Checks if the contents of lhs and rhs are equal, that is, whether lhs.size() == rhs.size() and each element in lhs compares equal with the element in rhs at the same position.
void invalidate()
Make this invalid.
pod_index_type pod_type
The "plain old data" storage type for this.
namespace_relative_record_index(const namespace_relative_record_index &xother)
Copy constructor.
Namespace for the sheaves component of the sheaf system.
record_index poset_id
The record index of the poset relative to the namespace.
namespace_relative_record_index_pod_type pod_type
The POD (plain old data) type associated this.
The POD (plain old data) type associated with this.
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
bool is_valid() const
True if this is a valid id.
void put_pod(pod_type xpod)
Sets pod() to xpod.
static const namespace_relative_record_index & INVALID()
The invalid id.