21 #ifndef HASH_INDEX_SPACE_STATE_H 22 #define HASH_INDEX_SPACE_STATE_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/list_pool.h" 32 #ifndef SCATTERED_INSERTION_INDEX_SPACE_STATE_H 33 #include "SheafSystem/scattered_insertion_index_space_state.h" 36 #ifndef STD_UNORDERED_MAP_H 37 #include "SheafSystem/std_unordered_map.h" 43 class hash_index_space_handle;
44 class hash_index_space_state;
45 class hash_index_space_iterator;
75 const std::string& xname,
87 const std::string& xname,
152 virtual void update_extrema();
157 virtual void reserve(
size_type xcapacity);
188 virtual void map_rep_push_back(
pod_type xrange_id);
213 virtual void map_rep_clear();
218 virtual void map_rep_gather();
223 typedef unordered::unordered_map<pod_type, pod_type>
map_type;
289 virtual bool contains(
pod_type xid)
const;
294 virtual bool contains_unglued_hub(
pod_type xid)
const;
334 static size_type handle_pool_deep_size();
379 static size_type iterator_pool_deep_size();
419 virtual const std::string& class_name()
const;
433 static bool make_prototype();
448 virtual bool is_ancestor_of(
const any *other)
const;
453 virtual bool invariant()
const;
475 #endif // ifndef HASH_INDEX_SPACE_STATE_H map_type to_range_type
The type of the domain id to range id map.
An abstract iterator over the ids of an id space.
The default name space; a poset which contains other posets as members.
An hash map implementation of class scattered_insertion_index_space_handle. This representation is in...
An implementation of class explicit_index_space_state that supports either gathered or scattered inse...
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
map_type to_domain_type
The type of the range id to domain id map.
virtual void update_extrema()=0
Update the id extrema.
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.
to_domain_type _to_domain
The representation of the range id to domain id map.
An hash map implementation of class scattered_insertion_index_space_state. This representation is int...
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.
to_range_type _to_range
The representation of the domain id to range id map.
pod_index_type pod_type
The "plain old data" index type for this.
Namespace for the sheaves component of the sheaf system.
An iterator over an id space in which the equivalence between the ids in the space and the hub id spa...
hash_index_space_state(const hash_index_space_state &xother)
Copy constructor; disabled.
Factory and container for a family of id spaces.
unordered::unordered_map< pod_type, pod_type > map_type
The type of the range id to domain id map.
A reallocated pool of objects of type T. Objects in the pool are either allocated or stored in a free...