#include <srawbuf.hpp>
Inheritance diagram for SExpressionRawBuffer:
The class implements an S-expression which carries memory buffer
Definition at line 26 of file srawbuf.hpp.
Public Member Functions | |
SExpressionRawBuffer (int size) | |
The constructor. | |
virtual class SString | TextRepresentation () const |
Text representation of the S-expression. | |
virtual SExpression * | Clone () const |
Clone a changeable object. | |
void * | GetBuffer () const |
Just get the buffer's location. | |
int | GetSize () const |
Get the size of the buffer. | |
void | Resize (int newsize) |
Change the size of the buffer. | |
int | Append (void *buf, int buflen) |
Append another buffer, extending the length accordingly. | |
const IntelibTypeId & | TermType () const |
Actual S-expression type. | |
bool | IsChangeable () const |
Can it be changed during the lifetime of the object? | |
virtual bool | SpecificEql (const SExpression *) const |
Are the two objects EQL (while not EQ). | |
Static Public Attributes | |
static IntelibTypeId | TypeId |
The type identifier. | |
Protected Member Functions | |
~SExpressionRawBuffer () | |
bool | CanDie () |
Is it OK to delete the object now? |
|
The constructor.
Definition at line 23 of file srawbuf.cpp. Referenced by Clone(). |
|
Definition at line 35 of file srawbuf.cpp. |
|
Text representation of the S-expression. Returns the text string which represents the given S-expression as for real Lisp (for example, (25 36 49)) Implements SExpression. Definition at line 42 of file srawbuf.cpp. |
|
Clone a changeable object. The method should return the pointer created with new
Reimplemented from SExpression. Definition at line 48 of file srawbuf.cpp. References buf, and SExpressionRawBuffer(). |
|
Just get the buffer's location.
Definition at line 47 of file srawbuf.hpp. |
|
Get the size of the buffer.
Definition at line 49 of file srawbuf.hpp. |
|
Change the size of the buffer. The data is copied; if you shrink the buffer, the remaining data is lost Definition at line 56 of file srawbuf.cpp. Referenced by Append(). |
|
Append another buffer, extending the length accordingly.
Definition at line 67 of file srawbuf.cpp. References Resize(). |
|
Actual S-expression type.
Definition at line 195 of file sexpress.hpp. Referenced by SReference::DynamicCastGetPtr(), SchReference::IsEql(), LReference::IsEql(), SReference::SimpleCastGetPtr(), SchReference::TextRepresentation(), and LReference::TextRepresentation(). |
|
Can it be changed during the lifetime of the object?
Definition at line 198 of file sexpress.hpp. References IntelibTypeId::IsChangeable(). |
|
Are the two objects EQL (while not EQ). This function is overriden by those SExpressions able to be EQL while being not EQ.
Reimplemented in SExpressionInt, SExpressionFloat, SExpressionChar, and SExpressionString. Definition at line 235 of file sexpress.hpp. Referenced by SchReference::IsEql(), and LReference::IsEql(). |
|
Is it OK to delete the object now? Our children have no access to the private attribute RefCount and should never need it except when checking if the destruction is not an error. This solves the problem. Definition at line 53 of file refcount.hpp. |
|
The type identifier.
Reimplemented from SExpression. |