20 #ifndef NAMESPACE_RELATIVE_SUBPOSET_INDEX_H 21 #define NAMESPACE_RELATIVE_SUBPOSET_INDEX_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 27 #ifndef ASSERT_CONTRACT_H 28 #include "SheafSystem/assert_contract.h" 32 #include "SheafSystem/scoped_index.h" 69 : poset_id(xid_space, xpod.poset_id),
70 subposet_id(xid_space, xpod.subposet_id)
74 ensure((pod() == xpod) || !
is_valid());
181 inline pod_type
pod()
const 184 result.poset_id = poset_id.
pod();
185 result.subposet_id = subposet_id.
pod();
200 poset_id.
put_pod(xpod.poset_id);
201 subposet_id.
put_pod(xpod.subposet_id);
205 ensure(pod() == xpod || !
is_valid());
234 #endif // ifndef NAMESPACE_RELATIVE_SUBPOSET_INDEX_H bool operator==(const namespace_relative_subposet_index &xother) const
Equality operator.
scoped_index poset_id
The index of the poset relative to the namespace.
bool is_valid() const
True if this is a valid id.
pod_type pod() const
The "plain old data" storage of this.
const pod_type & pod() const
The "plain old data" storage of this; the value in the external id space.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
void invalidate()
Make this id invalid.
namespace_relative_subposet_index()
Default constructor.
void invalidate()
Make this invalid.
void put_pod(pod_type xpod)
Sets pod() to xpod.
An index within the external ("client") scope of a given id space.
scoped_index subposet_id
The index of the subposet relative to the poset.
namespace_relative_subposet_index(const index_space_handle &xid_space, const pod_type &xpod)
Constructor from pod_type.
POD type associated with namespace_relative_subposet_index.
namespace_relative_subposet_index_pod_type pod_type
The POD (plain old data) type associated this.
Index for identifying a subposet relative to a given name space.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
bool is_valid() const
True if this is a valid id.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.
static const namespace_relative_subposet_index & INVALID()
The invalid id.
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
void put_pod(pod_type xpod)
Sets pod() to xpod.