storage.hh File Reference

#include <iostream>
#include <gmpxx.h>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <stdint.h>
#include <assert.h>
#include "tree.hh"

Classes

class  str_node
struct  str_node::flag_t
class  exptree
class  exptree::index_iterator
class  nset_it_less
 Compare two nset iterators by comparing the strings to which they point. More...
class  tree_less_obj
 Compare two trees by pattern logic, i.e. modulo index names. More...
class  tree_less_modprel_obj
class  tree_equal_obj
class  tree_exact_less_obj
 Compare two trees exactly, i.e. including exact index names. More...
class  tree_exact_less_mod_prel_obj
class  tree_exact_equal_obj
class  tree_exact_equal_mod_prel_obj
class  tree_exact_less_no_wildcards_obj
 Compare two trees exactly, treat wildcard names as ordinary names. More...
class  tree_exact_less_no_wildcards_mod_prel_obj

Typedefs

typedef mpq_class multiplier_t
typedef std::set< std::string > nset_t
typedef std::set< multiplier_trset_t
typedef uintptr_t hashval_t

Functions

long to_long (multiplier_t)
std::string to_string (long)
void multiply (rset_t::iterator &, multiplier_t)
void add (rset_t::iterator &, multiplier_t)
void zero (rset_t::iterator &)
void one (rset_t::iterator &)
void flip_sign (rset_t::iterator &)
void half (rset_t::iterator &)
int subtree_compare (exptree::iterator one, exptree::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
bool tree_less (const exptree &one, const exptree &two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2)
bool tree_equal (const exptree &one, const exptree &two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2)
bool tree_exact_less (const exptree &one, const exptree &two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
bool tree_exact_equal (const exptree &one, const exptree &two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
bool subtree_less (exptree::iterator one, exptree::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2)
bool subtree_equal (exptree::iterator one, exptree::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2)
bool subtree_exact_less (exptree::iterator one, exptree::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
bool subtree_exact_equal (exptree::iterator one, exptree::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
bool operator== (const exptree &first, const exptree &second)

Variables

nset_t name_set
rset_t rat_set

Typedef Documentation

typedef uintptr_t hashval_t
 

typedef mpq_class multiplier_t
 

typedef std::set<std::string> nset_t
 

typedef std::set<multiplier_t> rset_t
 


Function Documentation

void add rset_t::iterator &  ,
multiplier_t 
 

void flip_sign rset_t::iterator &   ) 
 

void half rset_t::iterator &   ) 
 

void multiply rset_t::iterator &  ,
multiplier_t 
 

void one rset_t::iterator &   ) 
 

bool operator== const exptree first,
const exptree second
 

This operator does an exact comparison, with no symbols interpreted as wildcards or patterns.

int subtree_compare exptree::iterator  one,
exptree::iterator  two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2,
bool  literal_wildcards = false
 

bool subtree_equal exptree::iterator  one,
exptree::iterator  two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2
 

bool subtree_exact_equal exptree::iterator  one,
exptree::iterator  two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2,
bool  literal_wildcards = false
 

bool subtree_exact_less exptree::iterator  one,
exptree::iterator  two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2,
bool  literal_wildcards = false
 

bool subtree_less exptree::iterator  one,
exptree::iterator  two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2
 

long to_long multiplier_t   ) 
 

std::string to_string long   ) 
 

bool tree_equal const exptree one,
const exptree two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2
 

bool tree_exact_equal const exptree one,
const exptree two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2,
bool  literal_wildcards = false
 

bool tree_exact_less const exptree one,
const exptree two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2,
bool  literal_wildcards = false
 

bool tree_less const exptree one,
const exptree two,
int  mod_prel = -2,
bool  checksets = true,
int  compare_multiplier = -2
 

Various comparison functions, some exact, some with pattern logic. The mod_prel variable determines whether parent relations are taken into account when comparing:

-2: require that parent relations match (or that indices are position-free) -1: do not require that parent relations match >=0: do not require parent relations to match up to and including this level

Similar logic holds for the compare_multiplier parameter.

void zero rset_t::iterator &   ) 
 


Variable Documentation

nset_t name_set
 

rset_t rat_set
 


Generated on Sat Jul 18 23:03:14 2009 for cadabra by  doxygen 1.4.6