Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Static Protected Member Functions | Friends
Term Class Reference
Inheritance diagram for Term:
ArithmeticTerm ConstantTerm FunctionTerm VariableTerm

List of all members.

Public Member Functions

template<class Archive >
void save (Archive &ar, const unsigned int version) const
template<class Archive >
void load (Archive &ar, const unsigned int version)
virtual bool operator== (const Term &other)=0
virtual string to_string ()=0
term_type get_term_type ()
bool is_specialized ()
int get_specialization ()
term_attribute_type get_attribute ()
string get_attribute_string ()
void get_attributes (set< CNode * > &attributes)
void set_attribute (term_attribute_type ta)
size_t hash_code ()
void get_nested_vars (set< int > &vars)
void get_nested_terms (set< Term * > &terms, bool include_function_subterms=true, bool include_constants=true)
virtual Termsubstitute (map< Term *, Term * > &subs)=0
Termsubstitute (Term *(*sub_func)(Term *t))
virtual Termsubstitute (Term *(*sub_func)(Term *t, void *data), void *my_data)
void clear_representatives ()
Termreplace_term (Term *old_term, Term *new_term)
void get_vars (set< string > &vars)
void get_vars (set< int > &vars)
void get_vars (set< Term * > &vars)
bool contains_term (Term *t)
bool contains_term (set< Term * > &terms)
bool contains_var (int var_id)
void get_all_fun_ids (set< int > &ids)
void get_all_arguments (int fun_id, int arg_num, set< Term * > &args)
void get_all_first_arguments (set< int > &fn_ids, map< int, set< Term * > > &fn_id_to_first_arg)
Termreplace_argument (int fun_id, int arg_num, Term *replacement)
Termreplace_first_argument (map< int, Term * > &fun_id_to_replacements)
bool shares_subterms (Term *other)
bool contains_var ()
Termrename_variable (int old_var_id, int new_var_id)
Termrename_variables (map< int, int > &replacements)
Termflip_sign ()
Termmultiply (long int factor)
Termadd (long int constant)
Termadd (Term *t)
Termsubtract (Term *t)
Termevalute_term (map< Term *, SatValue > &assignments)
Termmultiply (Term *t)

Static Public Member Functions

static Termget_term (Term *t)
static Termget_term_nodelete (Term *t)
static Termuniquify_term (Term *t)
static void delete_loaded_terms ()

Public Attributes

size_t hash_c
term_type type
term_attribute_type attribute
int specialization_type
Termrepresentative

Static Public Attributes

static unordered_set< Term
*, std::hash< Term * >
, term_eq
terms
static set< Term * > to_delete

Static Protected Member Functions

static void clear ()

Friends

class boost::serialization::access
class CNode

The documentation for this class was generated from the following files: