#include <sstream.hpp>
Inheritance diagram for SExpressionStreamCharbuf:
Definition at line 140 of file sstream.hpp.
Public Member Functions | |
SExpressionStreamCharbuf (char *initbuf=((void *) 0), bool mpass=false) | |
void | AddChar (char) |
void | AddString (char *) |
void | Cleanup () |
virtual int | Getc () |
read one char like fgetc(3) | |
virtual int | Ungetc (int c) |
return a char to the input buffer just like ungetc(3) | |
virtual int | Putc (int c) |
output a single char | |
virtual int | Puts (char *s) |
output a string | |
virtual char * | Gets (char *buf, int bufsize) |
read a string just like fgets(3) | |
virtual int | Seek (long pos) |
perform positioning operation (like lseek(fd, pos, SEEK_SET)) | |
virtual long | Tell () |
return the current position | |
virtual int | Close () |
close the stream | |
virtual int | Flush () |
perform flush operation if it is supported | |
virtual int | Fileno () |
returns the corresponding file descriptor, or -1 if none | |
virtual SString | TextRepresentation () |
virtual class SString | TextRepresentation () const =0 |
Text representation of the S-expression. | |
const IntelibTypeId & | TermType () const |
Actual S-expression type. | |
bool | IsChangeable () const |
Can it be changed during the lifetime of the object? | |
virtual SExpression * | Clone () const |
Clone a changeable 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 | |
~SExpressionStreamCharbuf () | |
bool | CanDie () |
Is it OK to delete the object now? |
|
Definition at line 103 of file sstream.cpp. |
|
Definition at line 110 of file sstream.cpp. |
|
Definition at line 113 of file sstream.cpp. |
|
Definition at line 118 of file sstream.cpp. |
|
Definition at line 123 of file sstream.cpp. References SString::c_str(). |
|
read one char like fgetc(3)
Implements SExpressionStream. Definition at line 130 of file sstream.cpp. References EOF, and SString::length(). |
|
return a char to the input buffer just like ungetc(3)
Implements SExpressionStream. Definition at line 141 of file sstream.cpp. References SString::c_str(). |
|
output a single char
Implements SExpressionStream. Definition at line 152 of file sstream.cpp. |
|
output a string
Implements SExpressionStream. Definition at line 159 of file sstream.cpp. |
|
read a string just like fgets(3)
Implements SExpressionStream. Definition at line 165 of file sstream.cpp. References SString::length(). |
|
perform positioning operation (like lseek(fd, pos, SEEK_SET))
Implements SExpressionStream. Definition at line 183 of file sstream.cpp. References SString::length(). |
|
return the current position
Implements SExpressionStream. Definition at line 196 of file sstream.cpp. |
|
close the stream
Implements SExpressionStream. Definition at line 201 of file sstream.cpp. |
|
perform flush operation if it is supported
Implements SExpressionStream. Definition at line 207 of file sstream.cpp. |
|
returns the corresponding file descriptor, or -1 if none
Implements SExpressionStream. Definition at line 212 of file sstream.cpp. |
|
Definition at line 27 of file sstream.cpp. References SExpressionStream::Fileno(). |
|
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)) Implemented in SExpressionDoubleList, SExpressionInt, SExpressionFloat, SExpressionChar, SExpressionString, SExpressionClassicAtom, SExpressionLabel, SExpressionCons, SExpressionHashTable, SExpressionLocation, SExpressionRawBuffer, SExpressionVector, SExpressionWrapper< Data >, SExpressionIndirect, SExpressionIndirectAccessor, LExpressionContext, LExpressionLambda, LExpressionMacro, LExpressionUserCFunction, SchExpressionContext, and SchExpressionLambda. Referenced by SExpressionVector::TextRepresentation(), SchReference::TextRepresentation(), and LReference::TextRepresentation(). |
|
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(). |
|
Clone a changeable object. The method should return the pointer created with new
Reimplemented in SExpressionBacklink, SExpressionCons, SExpressionHashTable, SExpressionRawBuffer, and SExpressionVector. Definition at line 214 of file sexpress.hpp. |
|
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. Reimplemented in SExpressionStreamFile, and SExpressionStreamTextInput. Referenced by SExpressionStream::SExpressionStream(). |