21 #ifndef IJK_CONNECTIVITY_INDEX_SPACE_INTERVAL_H 22 #define IJK_CONNECTIVITY_INDEX_SPACE_INTERVAL_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef FORWARDING_INDEX_SPACE_HANDLE_H 29 #include "SheafSystem/forwarding_index_space_handle.h" 32 #ifndef INDEX_SPACE_INTERVAL_H 33 #include "SheafSystem/index_space_interval.h" 37 #include "SheafSystem/list_pool.h" 43 using namespace sheaf;
45 class ijk_connectivity_implicit_index_space_iterator;
202 virtual const std::string& class_name()
const;
216 static bool make_prototype();
266 virtual void remove(
pod_type xlocal_id);
322 virtual bool is_persistent(
pod_type xlocal_id)
const;
342 virtual void new_product_structure(
pod_type xlocal_id,
348 virtual void delete_product_structure(
pod_type xlocal_id);
363 virtual bool has_product_structure(
pod_type xlocal_id)
const;
454 virtual bool is_ancestor_of(
const any *other)
const;
459 virtual bool invariant()
const;
481 #endif // ifndef IJK_CONNECTIVITY_INDEX_SPACE_INTERVAL_H list_pool< forwarding_index_space_handle > _handles
The handle pool.
An abstract class that defines the product structure for an id space.
An abstract iterator over the ids of an id space.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
pod_index_type pod_type
The "plain old data" index type for this.
An implementation of index_space_interval for an interval of implicit id spaces for the connectivity ...
Abstract base class with useful features for all objects.
An implemenation of index_space_collection that adds an interface for the interval [begin()...
size_type _k_vertex_size
The number of vertices in the k direction.
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of th...
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
size_type _j_vertex_size
The number of vertices in the j direction.
list_pool< ijk_connectivity_implicit_index_space_iterator > _iterators
The iterator pool.
ijk_connectivity_index_space_interval(const ijk_connectivity_index_space_interval &xother)
Copy constructor; disabled.
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.
size_type _k_size
The number of zones in the k direction.
SHEAF_DLL_SPEC size_t deep_size(const ijk_connectivity_index_space_interval &xn, bool xinclude_shallow=true)
The deep size of ijk_connectivity_index_space_interval& xn.
size_type _jk_vertex_size
The number of vertices in the j*k direction.
Namespace for the sheaves component of the sheaf system.
pod_type end() const
Ending space id of this interval in the id space family scope.
virtual bool contains(pod_type xlocal_id) const
True if this collection contains the id space with local id xlocal_id.
Factory and container for a family of id spaces.
size_type _j_size
The number of zones in the j direction.
Namespace for the fiber_bundles component of the sheaf system.
pod_type begin() const
Beginning space id of this interval in the id space family scope.
A reallocated pool of objects of type T. Objects in the pool are either allocated or stored in a free...