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 Term * | substitute (map< Term *, Term * > &subs)=0 |
Term * | substitute (Term *(*sub_func)(Term *t)) |
virtual Term * | substitute (Term *(*sub_func)(Term *t, void *data), void *my_data) |
void | clear_representatives () |
Term * | replace_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) |
Term * | replace_argument (int fun_id, int arg_num, Term *replacement) |
Term * | replace_first_argument (map< int, Term * > &fun_id_to_replacements) |
bool | shares_subterms (Term *other) |
bool | contains_var () |
Term * | rename_variable (int old_var_id, int new_var_id) |
Term * | rename_variables (map< int, int > &replacements) |
Term * | flip_sign () |
Term * | multiply (long int factor) |
Term * | add (long int constant) |
Term * | add (Term *t) |
Term * | subtract (Term *t) |
Term * | evalute_term (map< Term *, SatValue > &assignments) |
Term * | multiply (Term *t) |
Static Public Member Functions | |
static Term * | get_term (Term *t) |
static Term * | get_term_nodelete (Term *t) |
static Term * | uniquify_term (Term *t) |
static void | delete_loaded_terms () |
Public Attributes | |
size_t | hash_c |
term_type | type |
term_attribute_type | attribute |
int | specialization_type |
Term * | representative |
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 |