KJB
|
Concrete semantic data class for storing hash codes about nodes. More...
#include <Semantic_elaboration.h>
Public Types | |
typedef Semantic_data< T, Traits > | Self_type |
typedef boost::shared_ptr < Semantic_data< T, Traits > > | Self_ptr |
typedef boost::array< Val_type, Traits::n_args > | Arg_list |
typedef boost::array< Key_type, Traits::n_args > | Arg_list_s |
typedef boost::array < Token_map *, Traits::n_args > | Arg_map_list |
Public Types inherited from semantics::Semantic_data_base | |
typedef Semantic_db::Val_type | Val_type |
typedef Semantic_db::Key_type | Key_type |
typedef boost::shared_ptr < Semantic_data_base > | Base_ptr |
typedef boost::tuple< size_t, size_t > | Hash_pair |
typedef std::map< size_t, std::string > | Map |
typedef std::pair< size_t, std::string > | Map_entry |
Public Member Functions | |
Semantic_data (const Val_type &head, const Arg_list &args) | |
standard constructor More... | |
Semantic_data (const Key_type &head, const Arg_list_s &args) | |
constructor from labels rather than codes More... | |
Semantic_data (const Val_type &head) | |
construct an argless node from a code More... | |
Semantic_data (const Key_type &head) | |
construct an argless node from a key More... | |
const Arg_list & | args () const |
return the actual arg tuple More... | |
const Val_type & | head () const |
return the actual head value More... | |
const Key_type & | head_s () const |
return the actual head value More... | |
const size_t & | head_code () const |
return hash code for head More... | |
const size_t & | args_code () const |
return hash code for arg list More... | |
const Hash_pair & | hash_pair () const |
return hash pair for head and args More... | |
Public Member Functions inherited from semantics::Semantic_data_base | |
virtual | ~Semantic_data_base () |
Static Public Member Functions | |
static Semantic_db & | head_map () |
static Arg_map_list & | arg_map_list () |
Static Public Member Functions inherited from semantics::Semantic_data_base | |
static Map & | global_head_map () |
static Map & | global_arg_map () |
Friends | |
class | Nonterminal_elaboration< T, Traits > |
std::ostream & | operator (std::ostream &os, Self_type d) |
display head and args readably More... | |
Concrete semantic data class for storing hash codes about nodes.
template parameter T is the type of elaboration (Color_primitive, Size_primitive, Binary_relation, etc.)
typedef boost::array<Val_type, Traits::n_args> semantics::Semantic_data< T, Traits >::Arg_list |
typedef boost::array<Key_type, Traits::n_args> semantics::Semantic_data< T, Traits >::Arg_list_s |
typedef boost::array<Token_map*, Traits::n_args> semantics::Semantic_data< T, Traits >::Arg_map_list |
typedef boost::shared_ptr<Semantic_data<T, Traits> > semantics::Semantic_data< T, Traits >::Self_ptr |
typedef Semantic_data<T, Traits> semantics::Semantic_data< T, Traits >::Self_type |
semantics::Semantic_data< T, Traits >::Semantic_data | ( | const Val_type & | head, |
const Arg_list & | args | ||
) |
standard constructor
semantics::Semantic_data< T, Traits >::Semantic_data | ( | const Key_type & | head, |
const Arg_list_s & | args | ||
) |
constructor from labels rather than codes
semantics::Semantic_data< T, Traits >::Semantic_data | ( | const Val_type & | head | ) |
construct an argless node from a code
semantics::Semantic_data< T, Traits >::Semantic_data | ( | const Key_type & | head | ) |
construct an argless node from a key
|
inlinestatic |
|
inline |
return the actual arg tuple
|
inlinevirtual |
return hash code for arg list
Implements semantics::Semantic_data_base.
|
inlinevirtual |
return hash pair for head and args
Implements semantics::Semantic_data_base.
|
inlinevirtual |
return the actual head value
Implements semantics::Semantic_data_base.
|
inlinevirtual |
return hash code for head
Implements semantics::Semantic_data_base.
|
inlinestatic |
|
inline |
return the actual head value
|
friend |
|
friend |
display head and args readably