24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/assert_contract.h" 30 #ifndef STD_IOSTREAM_H 31 #include "SheafSystem/std_iostream.h" 35 #include "SheafSystem/std_limits.h" 70 bool invariant()
const;
107 bool domain_is_valid()
const;
117 bool index_in_bounds(
int i)
const;
122 bool index_in_bounds(
const block<int>* indices)
const;
137 int false_ct()
const;
142 void extend_to(
int xub);
147 size_t capacity()
const;
198 inline word_t* values()
217 inline bool operator [] (
int i)
const 221 require(index_in_bounds(i));
225 bool result = (get_word(i) & get_mask(i)) != 0;
233 bool is_true_for(
const block<int>* indices)
const;
238 bool is_false_for(
const block<int>* indices)
const;
243 void put(
int i,
bool value);
248 void put(
const block<int>* indices,
bool value);
253 void force(
int i,
bool value);
271 inline word_t& get_word(
int xindex)
273 return(*(_values+(xindex/BITS_PER_WORD)));
279 inline const word_t& get_word(
int xindex)
const 281 return(*(_values+(xindex/BITS_PER_WORD)));
287 inline word_t get_mask(
int xindex)
const 289 return( 1 << (xindex%BITS_PER_WORD) );
301 bool is_true()
const;
306 bool is_false()
const;
312 bool is_equal_to(
const zn_to_bool* other)
const;
355 void make_false_sa();
463 #endif // ifndef ZN_TO_BOOL_H A client handle for a subposet.
unsigned int word_t
The type of the private, internal representation used for bits; Unsigned int is the type used in the ...
A map from Zn (the integers mod n) to bools. A characteristic function used to represent subsets of Z...
static_const_int
Number of bits per word.
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.
Iterates over the subset of Zn defined by the characteristic function host().
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.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.