21 #ifndef INDEX_SPACE_FAMILY_IMPL_H 22 #define INDEX_SPACE_FAMILY_IMPL_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef INDEX_SPACE_FAMILY_H 29 #include "SheafSystem/index_space_family.h" 32 #ifndef ASSERT_CONTRACT_H 33 #include "SheafSystem/assert_contract.h" 49 require(product_structure_conforms_to<T>(xname));
57 ensure(is_basic_query);
73 require(product_structure_conforms_to<T>(xspace_id));
81 ensure(is_basic_query);
97 require(product_structure_conforms_to<T>(xname));
105 ensure(is_basic_query);
121 require(product_structure_conforms_to<T>(xspace_id));
129 ensure(is_basic_query);
152 ensure(is_basic_query);
175 ensure(is_basic_query);
194 require(handle_conforms_to_state<T>(xname));
202 ensure(result.is_attached());
217 require(handle_conforms_to_state<T>(xid));
225 ensure(result.is_attached());
245 bool result = (
dynamic_cast<const T*
>(&lhandle) != 0);
251 ensure(is_basic_query);
271 bool result = (
dynamic_cast<const T*
>(&lhandle) != 0);
277 ensure(is_basic_query);
284 #endif // ifndef INDEX_SPACE_FAMILY_IMPL_H void release_id_space(index_space_handle &xid_space) const
Returns the id space handle xid_space to the handle pool.
const abstract_product_structure & product_structure(const std::string &xname) const
The product structure for the id space with name xname (const version).
index_space_handle & get_id_space(const std::string &xname) const
Allocates an id space handle from the handle pool attached to state with name xname.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
bool handle_conforms_to_state(const std::string &xname) const
True if handle of type T conforms to the state with name xname.
bool has_product_structure(const std::string &xname) const
True if the id space with name xname has a product structure.
pod_index_type pod_type
The "plain old data" index type for this.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
bool product_structure_conforms_to(const std::string &xname) const
True if the product structure for the id space with name xname conforms to type T.