32#ifndef _QORE_BINARYNODE_H 
   34#define _QORE_BINARYNODE_H 
   36#include <qore/AbstractQoreNode.h> 
The base class for all value and parse types in Qore expression trees.
Definition AbstractQoreNode.h:57
 
holds arbitrary binary data
Definition BinaryNode.h:41
 
DLLEXPORT void splice(qore_offset_t offset, qore_offset_t length, BinaryNode *extract=0)
removes "length" characters from the binary data starting at position "offset"
 
DLLEXPORT void append(const void *nptr, size_t size)
resizes the object and appends a copy of the data passed to the object
 
DLLEXPORT void append(const BinaryNode *b)
resizes the object and appends a copy of the data passed to the object
 
virtual DLLEXPORT bool getAsBoolImpl() const
returns false unless perl-boolean-evaluation is enabled, in which case it returns false only when emp...
 
DLLEXPORT void splice(qore_offset_t offset, qore_offset_t length, const void *data, size_t data_len, BinaryNode *extract=0)
removes "length" characters from the binary data starting at position "offset" and replaces them with...
 
DLLEXPORT int preallocate(size_t size)
pre-allocates a buffer of a certain size
 
virtual DLLEXPORT QoreString * getAsString(bool &del, int foff, class ExceptionSink *xsink) const
returns a QoreString giving the verbose string representation of the List (including all contained va...
 
DLLEXPORT int substr(BinaryNode &b, qore_offset_t offset, qore_offset_t length) const
copies data to the BinaryNode argument starting with byte position "offset"
 
DLLEXPORT BinaryNode(void *p=0, size_t size=0)
creates the object
 
DLLEXPORT size_t size() const
returns the number of bytes in the object
 
DLLEXPORT int writeTo(size_t pos, const void *nptr, size_t size)
writes the given data to the given location in the object
 
virtual DLLEXPORT bool is_equal_hard(const AbstractQoreNode *v, ExceptionSink *xsink) const
tests for equality
 
DLLEXPORT void * giveBuffer()
returns the data being managed and leaves this object empty
 
static DLLLOCAL qore_type_t getStaticTypeCode()
returns the type code (useful in templates)
Definition BinaryNode.h:233
 
static DLLLOCAL const char * getStaticTypeName()
returns the type name (useful in templates)
Definition BinaryNode.h:228
 
virtual DLLEXPORT int getAsString(QoreString &str, int foff, class ExceptionSink *xsink) const
concatenate the verbose string representation of the value to an existing QoreString
 
virtual DLLEXPORT ~BinaryNode()
frees and memory owned by the object
 
DLLEXPORT bool empty() const
returns true if empty
 
DLLEXPORT int setSize(size_t size)
sets the buffer size after preallocation
 
virtual DLLEXPORT const char * getTypeName() const
returns the type name as a c string
 
virtual DLLEXPORT class AbstractQoreNode * realCopy() const
returns a copy of the object; the caller owns the reference count
 
DLLEXPORT void clear()
frees any managed memory and sets the size to 0
 
virtual DLLLOCAL int parseInit(QoreValue &val, QoreParseContext &parse_context)
returns the type information
 
DLLEXPORT BinaryNode * binRefSelf() const
 
virtual DLLEXPORT bool is_equal_soft(const AbstractQoreNode *v, ExceptionSink *xsink) const
tests for equality
 
DLLEXPORT int substr(BinaryNode &b, qore_offset_t offset) const
copies data to the BinaryNode argument starting with byte position "offset"
 
DLLEXPORT void append(const BinaryNode &b)
resizes the object and appends a copy of the data passed to the object
 
DLLEXPORT BinaryNode * copy() const
returns a copy of the object
 
DLLEXPORT const void * getPtr() const
returns the pointer to the data
 
DLLEXPORT void prepend(const void *nptr, size_t size)
resizes the object and prepends a copy of the data passed to the beginning of the object
 
DLLEXPORT int compare(const BinaryNode *obj) const
returns 0 = equal, 1 = not equal
 
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition ExceptionSink.h:50
 
Qore's string type supported by the QoreEncoding class.
Definition QoreString.h:93
 
manages a reference count of a pointer to a class that takes a simple "deref()" call with no argument...
Definition ReferenceHolder.h:127
 
base class for simple value types
Definition AbstractQoreNode.h:372
 
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode)
Definition common.h:76
 
intptr_t qore_offset_t
used for offsets that could be negative
Definition common.h:82
 
const qore_type_t NT_BINARY
type value for BinaryNode
Definition node_types.h:49
 
The main value class in Qore, designed to be passed by value.
Definition QoreValue.h:279