#include <parser-classes.hpp>
Inheritance diagram for c_term:
Public Member Functions | |
c_term () | |
~c_term () | |
virtual void | deep_delete () |
void | deep_copy (c_term *copy, bool reindex=false) const |
void | get_variables (std::set< std::string > &vars) const |
void | insert_list (const std::vector< c_term * > &list, const c_term *rest=0, const size_t start_index=0) |
void | sort_before (const c_term *t) const |
void | sort_same (const c_term *t) const |
Public Attributes | |
std::string | name |
std::vector< c_term * > | arglist |
bool | negated |
c_term * | list_head |
c_term * | list_tail |
bool | list_empty |
bool | match_rest |
int | type |
std::map< const c_term *, int > | sorted_terms |
Static Public Attributes | |
int | count = 0 |
|
Default constructor. |
|
Destructor. |
|
Copy this c_term recursively into another c_term.
|
|
Calls delete on all subterms recursively. Note that this should NOT be done on a term that wasn't created using deep_copy during safety mode off. Implements c_base. |
|
Inserts the variables of this term into a supplied set.
|
|
Inserts the given list, starting at the given index, at this position (only applicable in case this c_term is a list).
|
|
Mark this term as sorted before another term.
|
|
Mark this term as sorted at the same place as another term.
|
|
The arguments in case of a functor. |
|
The number of c_* instances allocated and not destroyed. |
|
Is this an empty list? |
|
Head of the list in case of a list, 0 otherwise. |
|
Tail of the list in case of a list, 0 otherwise. |
|
This term was given after a pipe in a list and therefore matches the rest of any list |
|
The name in case of a functor or variable. |
|
Is this a negated functor? |
|
Cached orderings between this term and others. |
|
The type of this term. (T_VARIABLE, T_FUNCTOR or T_LIST) |