21 #ifndef EXPLICIT_INDEX_SPACE_COLLECTION_H 22 #define EXPLICIT_INDEX_SPACE_COLLECTION_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef INDEX_SPACE_COLLECTION_H 29 #include "SheafSystem/index_space_collection.h" 32 #ifndef STD_UNORDERED_MAP_H 33 #include "SheafSystem/std_unordered_map.h" 91 typedef unordered::unordered_map<pod_type, explicit_index_space_state*>
map_type;
118 virtual bool contains(pod_type xlocal_id)
const;
123 virtual bool contains_family(pod_type xspace_id)
const;
128 virtual pod_type local_scope(pod_type xspace_id)
const;
133 virtual pod_type family_scope(pod_type xlocal_id)
const;
173 virtual void remove(pod_type xlocal_id);
178 virtual size_type ct(pod_type xlocal_id)
const;
183 virtual pod_type begin(pod_type xlocal_id)
const;
188 virtual pod_type end(pod_type xlocal_id)
const;
193 virtual bool contains(pod_type xlocal_id, pod_type xid)
const;
199 virtual bool contains_unglued_hub(pod_type xlocal_id, pod_type xid)
const;
205 virtual bool contains(pod_type xlocal_id, pod_type xid, pod_type xhub_id)
const;
211 virtual pod_type pod(pod_type xlocal_id, pod_type xid)
const;
217 virtual pod_type unglued_hub_pod(pod_type xlocal_id, pod_type xid)
const;
222 virtual bool is_persistent(pod_type xlocal_id)
const;
247 virtual void new_product_structure(pod_type xlocal_id,
253 virtual void delete_product_structure(pod_type xlocal_id);
268 virtual bool has_product_structure(pod_type xlocal_id)
const;
349 virtual bool is_ancestor_of(
const any *other)
const;
354 virtual bool invariant()
const;
376 #endif // ifndef EXPLICIT_INDEX_SPACE_COLLECTION_H An abstract class that defines the product structure for an id space.
An abstract iterator over the ids of an id space.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
Abstract base class with useful features for all objects.
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of th...
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
A collection of id space states. This is a virtual class with provides an interface for accessing the...
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.
unordered::unordered_map< pod_type, explicit_index_space_state * > map_type
The type of explicit id space map.
map_type _states
The map from space id to explicit id space.
Namespace for the sheaves component of the sheaf system.
An implementation of index_space_collection for a sparse collection of explicit id spaces...
Factory and container for a family of id spaces.
index_space_family * _id_spaces
The index space family of this collection.