21 #include "SheafSystem/record_queue.h" 23 #include "SheafSystem/assert_contract.h" 91 _record_queue.push(xindex);
96 ensure(unexecutable(
ct() == old
ct() + 1));
118 ensure(unexecutable(
ct() == old
ct() - 1));
130 return _record_queue.size();
137 return _record_queue.empty();
237 bool result =
dynamic_cast<const record_queue*
>(other) != 0;
virtual bool invariant() const
Class invariant, intended to be redefined in each descendant. See below for template for invariant in...
int ct() const
The number of requests in the record queue.
void clear()
Makes the record queue empty.
bool is_empty() const
True if the record queue is empty.
virtual ~record_queue()
Destructor.
Abstract base class with useful features for all objects.
pod_index_type dequeue()
Removes and returns the index at the front of the record queue.
record_queue()
Default constructor.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
void enqueue(pod_index_type xindex)
Inserts xindex at the end of the record queue.
virtual record_queue * clone() const
Virtual constructor; makes a new instance of the same type as this.
bool invariant_check() const
True if invariant checking is enabled.
A queue for record read requests.
virtual bool invariant() const
Class invariant.
int_type pod_index_type
The plain old data index type.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.