20 #include "SheafSystem/variable_length_record.h" 22 #include "SheafSystem/record_index.h" 23 #include "SheafSystem/assert_contract.h" 35 _buf_ub(xother._buf_ub),
36 _delete_buffer(xother._delete_buffer)
89 delete[]
static_cast<char*
>(_buf);
175 _delete_buffer =
false;
176 _is_internal =
false;
177 _is_external =
false;
184 ensure(&(
scaffold()) == &xscaffold);
247 require((xbuf == 0) == (xbuf_ub == 0));
248 require(unexecutable(xuf_ub == allocated size of xbuf));
252 _buf =
const_cast<void *
>(xbuf);
257 ensure(
buf() == xbuf);
258 ensure(
buf_ub() == xbuf_ub);
virtual bool invariant() const
Class invariant.
virtual ~variable_length_record()
Destructor.
poset_scaffold & scaffold()
The scaffold for the poset associated with this record (mutable version).
virtual bool invariant() const
Class invariant.
void * buf() const
The buffer.
bool delete_buffer()
True if this allocated the buffer and the dtor should delete it.
The general variable length record wrapper/adapter for transferring data between the kernel and the i...
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
record_index external_index() const
The external index of this record.
void put_buf(const void *xbuf, size_t xub)
Sets the buffer to xbuf.
Abstract base class with useful features for all objects.
variable_length_record(const variable_length_record &xother)
Copy constructor.
size_t buf_ub() const
The size of the buffer, in bytes.
bool is_internal() const
True if the internal buffer has been initialized.
The general variable length record wrapper/adapter for transferring data between the kernel and the i...
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
bool invariant_check() const
True if invariant checking is enabled.
virtual variable_length_record * clone() const
Virtual constructor; makes a new instance of the same type as this.
A poset specific collection of data converters, various buffers and other data used while transferrin...
bool is_external() const
True if the external buffer has been initialized.
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
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.