18 #ifndef UNARY_INDEX_SPACE_H 19 #define UNARY_INDEX_SPACE_H 21 #ifndef SHEAF_DLL_SPEC_H 22 #include "SheafSystem/sheaf_dll_spec.h" 26 #include "SheafSystem/unary_index.h" 29 #ifndef ASSERT_CONTRACT_H 30 #include "SheafSystem/assert_contract.h" 33 #ifndef RAGGED_ARRAY_H 34 #include "SheafSystem/ragged_array.h" 40 using namespace sheaf;
63 invariance(i_size >= 0);
64 invariance(size == i_size);
106 ensure(i_size == xct);
128 ensure(i_size == xct);
186 bool result = ((0 <= xindex) && (xindex < i_size));
190 ensure(result == ((0 <= xindex) && (xindex < i_size)));
209 #ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 216 #endif // ifndef DOXYGEN_1_5_4_SKIP_UNKNOWN 221 #endif // ifndef UNARY_INDEX_SPACE_H unary_index_space operator*(const unary_index_space &xother) const
Cartesian product.
void put_bounds(unary_index xct=0)
Sets i_size = xct and recomputes size.
unary_index i_size
Upper bound for the i index.
bool invariant() const
Class invariant.
unary_index_space(unary_index xct)
Creates an instance with bound (xct).
A bounded domain for unary_index objects.
bool contains(const unary_index &xindex) const
True if xindex is in this space.
unary_index_space operator+(const unary_index_space &xother) const
Sum.
unary_index size
Number in the space.
Namespace for the sheaves component of the sheaf system.
A two index array with variable length rows.
unary_index_space()
Creates an instance with bound (0,0).
Namespace for the fiber_bundles component of the sheaf system.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const binary_index &xbi)
Insert binary_index& xbi into ostream& os.