#include <YCPTerm.h>
Inheritance diagram for YCPTermRep:
Public Member Functions | |
string | name () const |
YCPList | args () const |
YCPOrder | compare (const YCPTerm &v) const |
virtual const YCPElementRep * | shallowCopy () const |
YCPTerm | functionalAdd (const YCPValue &value) const |
string | toString () const |
std::ostream & | toStream (std::ostream &str) const |
bool | isEmpty () const |
int | size () const |
void | reserve (int size) |
YCPValue | value (int n) const |
void | set (const int n, const YCPValue &value) |
void | add (const YCPValue &value) |
YCPValueType | valuetype () const |
Protected Member Functions | |
YCPTermRep (const string &s) | |
YCPTermRep (const string &s, const YCPList &l) | |
~YCPTermRep () | |
Private Member Functions | |
void | setName (string name) |
Private Attributes | |
Ustring | s |
YCPList | l |
Friends | |
class | YCPTerm |
|
Creates a new and empty term with the string s. |
|
Creates a new term with the string s and argument list l. |
|
Cleans up |
|
Mapping for the term's list add() function |
|
Returns the term's arguments list |
|
Compares two YCPTerms for equality, greaterness or smallerness. The relation is lexicographically with respect to 1. the name of the term 2. the list of the term if the names are the same. (( `alpha() == `alpha() ) == true ) (( `alpha() < `alpha( 1 ) ) == true ) (( `alpha( 1 ) == `alpha( 1 ) ) == true ) (( `alpha( 1 ) < `beta( 1 ) ) == true ) (( `alpha( 1 ) < `alpha( 2 ) ) == true ) (( `alpha( 1 ) < { term b = `beta( 1 ); return b; } ) == true ) term/term (( `alpha( 1 ) > { term b = `beta( 1 ); } ) == true ) term/nil
|
|
Creates a new term, that is identical to this one with but one new value appended. Doesn't change this term. |
|
Mapping for the term's list isEmpty() function |
|
Returns the term's name |
|
Mapping for the term's list reserve (int) function |
|
Mapping for the term's list set() function |
|
Set the new term name |
|
Creates a copy of this term, i.e. creates a new term with the same elements and the same name as this one. The elements themselves are not copied, but only cloned! Reimplemented from YCPElementRep. |
|
Mapping for the term's list size() function |
|
Output value as bytecode to stream Implements YCPElementRep. |
|
Returns an ASCII representation of the term. Term are denoted by comma separated values enclosed by brackets precedeed by a name, for example `a(1,2) or `b() or `Hugo_17("hirn", c(true)). Implements YCPElementRep. |
|
Mapping for the term's list value() function |
|
Returns YT_TERM. See YCPValueRep::valuetype. Implements YCPValueRep. |
|
|
|
YCP list representing the term's arguments |
|
The terms name |