<< ValueList
 Top   Types   Functions   Classes   Index 
ValueMapItemValue >>

struct CrlValueMap / crl_value_map_t

Concrete Class


Description

Maps store symbols to values. However, in CRL it can syntactically be indexed with numbers, too. These are parsed as numbers and converted to symbols in decimal notation before indexing the map. The interface also has indexing functions for char const *, symbol_t and signed_t.

The type for indexing with ints is signed_t, so be careful with larger, especially unsigned, values.

Kinship

Immediate super class: ValueNested

Slots

MapSymbolValue children

Inherited Slots

int Object::class_id
int Object::heap_sig
int Object::ref_count
UserData Object::user_data

Members

CrlValueMap()
CrlValueMap(ValueMap const &)
voidoperator=(ValueMap const &)
MapSymbolValue const *children() const
boolempty() const
Value *find(char const * key) const
boolfind(float_t & result, char const * key) const
boolfind(float_t & result, Value const * key) const
boolfind(signed_t & result, char const * key) const
boolfind(signed_t & result, Value const * key) const
boolfind(unsigned_t & result, char const * key) const
boolfind(unsigned_t & result, Value const * key) const
Value *find(Value const * key) const
boolfind_bool(char const * key) const
boolfind_bool(Value const * key) const
boolfind_bool_sym(symbol_t key) const
byte_tfind_byte(char const * key) const
byte_tfind_byte(Value const * key) const
byte_tfind_byte_sym(symbol_t key) const
intfind_int(char const * key) const
intfind_int(Value const * key) const
intfind_int_sym(symbol_t key) const
Item *find_item(char const * key) const
Item *find_item(Value const * key) const
Item *find_item_sym(symbol_t key) const
char const *find_string(char const * key) const
char const *find_string(Value const * key) const
char const *find_string_sym(symbol_t key) const
Value *find_sym(symbol_t key) const
boolfind_sym(float_t & result, symbol_t key) const
boolfind_sym(signed_t & result, symbol_t key) const
boolfind_sym(unsigned_t & result, symbol_t key) const
symbol_tfind_symbol(char const * key) const
symbol_tfind_symbol(Value const * key) const
symbol_tfind_symbol_sym(symbol_t key) const
word32_tfind_word32(char const * key) const
word32_tfind_word32(Value const * key) const
word32_tfind_word32_sym(symbol_t key) const
Value *get()
Value const *get() const
boolhas(signed_t key) const
boolhas(char const * key) const
boolhas(Value const * key) const
boolhas_sym(symbol_t key) const
boolinvalidate()
boolis_special(signed_t key) const
boolis_special(char const * key) const
boolis_special(Value const * key) const
boolis_special_sym(symbol_t key) const
boolis_valid() const
boolis_valid_special() const
intnentries() const
boolnon_empty() const
Value *nth(signed_t key) const
boolnth(float_t & result, signed_t key) const
boolnth(signed_t & result, signed_t key) const
boolnth(unsigned_t & result, signed_t key) const
boolnth_bool(signed_t key) const
byte_tnth_byte(signed_t key) const
intnth_int(signed_t key) const
Item *nth_item(signed_t key) const
char const *nth_string(signed_t key) const
symbol_tnth_symbol(signed_t key) const
word32_tnth_word32(signed_t key) const
boolpoke(Value * value)
boolpoke_once(Value * value)
voidreset(signed_t key)
voidreset(char const * key)
boolreset(Value const * key)
voidreset_sym(symbol_t key)
voidset(signed_t key, Value * value)
voidset(char const * key, Value * value)
voidset(char const * key, Item * value)
voidset(signed_t key, Item * value)
voidset(signed_t key, char const * value)
voidset(signed_t key, unsigned_t value)
voidset(char const * key, char const * value)
voidset(char const * key, unsigned_t value)
boolset(Value const * key, Value * value)
boolset(Value const * key, Item * value)
boolset(Value const * key, char const * value)
boolset(Value const * key, unsigned_t value)
voidset_float(char const * key, float_t value)
voidset_float(signed_t key, float_t value)
boolset_float(Value const * key, float_t value)
boolset_once(signed_t key, Value * value)
boolset_once(char const * key, Value * value)
boolset_once(char const * key, Item * value)
boolset_once(signed_t key, Item * value)
boolset_once(signed_t key, char const * value)
boolset_once(signed_t key, unsigned_t value)
boolset_once(char const * key, char const * value)
boolset_once(char const * key, unsigned_t value)
boolset_once(Value const * key, Value * value)
boolset_once(Value const * key, Item * value)
boolset_once(Value const * key, char const * value)
boolset_once(Value const * key, unsigned_t value)
boolset_once_float(char const * key, float_t value)
boolset_once_float(signed_t key, float_t value)
boolset_once_float(Value const * key, float_t value)
boolset_once_signed(signed_t key, signed_t value)
boolset_once_signed(char const * key, signed_t value)
boolset_once_signed(Value const * key, signed_t value)
boolset_once_sym(symbol_t key, Value * value)
boolset_once_sym(symbol_t key, Item * value)
boolset_once_sym(symbol_t key, char const * value)
boolset_once_sym(symbol_t key, unsigned_t value)
boolset_once_sym_float(symbol_t key, float_t value)
boolset_once_sym_signed(symbol_t key, signed_t value)
boolset_once_sym_symbol(symbol_t key, symbol_t value)
boolset_once_symbol(signed_t key, symbol_t value)
boolset_once_symbol(char const * key, symbol_t value)
boolset_once_symbol(Value const * key, symbol_t value)
voidset_signed(signed_t key, signed_t value)
voidset_signed(char const * key, signed_t value)
boolset_signed(Value const * key, signed_t value)
voidset_sym(symbol_t key, Value * value)
voidset_sym(symbol_t key, Item * value)
voidset_sym(symbol_t key, char const * value)
voidset_sym(symbol_t key, unsigned_t value)
voidset_sym_float(symbol_t key, float_t value)
voidset_sym_signed(symbol_t key, signed_t value)
voidset_sym_symbol(symbol_t key, symbol_t value)
voidset_symbol(signed_t key, symbol_t value)
voidset_symbol(char const * key, symbol_t value)
boolset_symbol(Value const * key, symbol_t value)
MapSymbolValue const *values() const

Inherited Members

From ClassC++C
Crl::address_default_user_print_file
Crl::address_default_user_print_vchar
Crl::bool_default_user_print_file
Crl::bool_default_user_print_vchar
Crl::context_default
Crl::enum_default_user_print_file
Crl::enum_default_user_print_vchar
Crl::float_default_user_print_file
Crl::float_default_user_print_vchar
Crl::get_string2symbol
Crl::get_string2symbol_default
Crl::get_user_data_delete_hook
Crl::gmt_default_user_print_file
Crl::gmt_default_user_print_vchar
Crl::identifier_default_user_print_file
Crl::identifier_default_user_print_vchar
Crl::is_c_identifier
Crl::is_initialised
Crl::is_lowcase_identifier
Crl::is_normalised_decimal
Crl::klass_id_to_crl_name
Crl::klass_id_to_name
Crl::set_handle_foreign_item
Crl::set_string2symbol
Crl::set_user_data_delete_hook
Crl::signed_default_user_print_file
Crl::signed_default_user_print_vchar
Crl::string2symbol
Crl::string_default_user_print_file
Crl::string_default_user_print_vchar
Crl::symbol_default_user_print_file
Crl::symbol_default_user_print_vchar
Crl::type_any
Crl::unsigned_default_user_print_file
Crl::unsigned_default_user_print_vchar
Object::operator delete
Object::operator new
Object::operator!=crl_value_map_is_not_equal
Object::operator<crl_value_map_is_less_than
Object::operator<=crl_value_map_is_less_equal
Object::operator==crl_value_map_is_equal
Object::operator>crl_value_map_is_greater_than
Object::operator>=crl_value_map_is_greater_equal
Object::_ref
Object::_ref_unref
Object::_unref
Object::_unref_no_delete
Object::check_sigcrl_value_map_check_sig
Value::childcrl_value_map_get_child
Object::class_idcrl_value_map_get_class_id
Object::cmpcrl_value_map_cmp
Object::cmp_shallowcrl_value_map_cmp_shallow
Object::graphcrl_value_map_get_graph_const
Object::hashcrl_value_map_hash
Object::hash_shallowcrl_value_map_hash_shallow
Object::heap_sigcrl_value_map_get_heap_sig
Value::item
Object::klass_idcrl_value_map_get_klass_id
Object::klass_namecrl_value_map_get_klass_name
Object::mapcrl_value_map_map
Object::map_subcrl_value_map_map_sub_with_data
Object::printcrl_value_map_print_vchar
Value::print_explicitcrl_value_map_print_explicit_file
Object::ref_count
Object::routinecrl_value_map_get_routine_const
Object::set_user_datacrl_value_map_set_user_data
Object::to_vcharcrl_value_map_to_vchar
Object::user_datacrl_value_map_get_user_data_const


Detailed Descriptions


#if CRL_NEED_VALUE_MAP

MapSymbolValue const * children () const

C++: CrlMapSymbolValue const * CrlValueMap::children () const
C: CrlMapSymbolValue const * crl_value_map_get_children (crl_value_map_t const * self)

Reader of slot 'children': The map of child values.

This reader is NULL safe; for this == NULL, it returns NULL.

#endif


#if CRL_NEED_VALUE_MAP

[constructor] CrlValueMap ()

C++: CrlValueMap::CrlValueMap ()
C: crl_value_map_t * crl_value_map_new (void)
#endif


#if CRL_NEED_VALUE_MAP

[constructor] CrlValueMap (ValueMap const &)

C++: CrlValueMap::CrlValueMap (CrlValueMap const &)
C: crl_value_map_t * crl_value_map_new_copy (crl_value_map_t const *)
#endif


#if CRL_NEED_VALUE_MAP

void operator= (ValueMap const &)

C++: void CrlValueMap::operator= (CrlValueMap const &)
C: void crl_value_map_assign (crl_value_map_t * self, crl_value_map_t const *)
#endif


#if CRL_NEED_VALUE_MAP

MapSymbolValue const * values () const

C++: CrlMapSymbolValue const * CrlValueMap::values () const
C: CrlMapSymbolValue const * crl_value_map_get_values (crl_value_map_t const * self)

This function redirects execution to children().

The implementation is NULL-safe; for this == NULL, this function returns NULL.

#endif


#if CRL_NEED_VALUE_MAP

int nentries () const

C++: int CrlValueMap::nentries () const
C: int crl_value_map_nentries (crl_value_map_t const * self)

limited editing:

NULL safe: if this == NULL, returns 0

#endif


#if CRL_NEED_VALUE_MAP

bool empty () const

C++: bool CrlValueMap::empty () const
C: crl_bool_t crl_value_map_empty (crl_value_map_t const * self)

NULL safe: if this == NULL, returns true

#endif


#if CRL_NEED_VALUE_MAP

bool non_empty () const

C++: bool CrlValueMap::non_empty () const
C: crl_bool_t crl_value_map_non_empty (crl_value_map_t const * self)

NULL safe: if this == NULL, returns false

#endif


#if CRL_NEED_VALUE_MAP

Value * find_sym (symbol_t key) const

C++: CrlValue * CrlValueMap::find_sym (crl_symbol_t key) const
C: crl_value_t * crl_value_map_find_sym (crl_value_map_t const * self, crl_symbol_t key)

native

#endif


#if CRL_NEED_VALUE_MAP

Value * get ()

C++: CrlValue * CrlValueMap::get ()
C: crl_value_t * crl_value_map_get (crl_value_map_t * self)
#endif


#if CRL_NEED_VALUE_MAP

bool has (signed_t key) const

C++: bool CrlValueMap::has (crl_signed_t key) const
C: crl_bool_t crl_value_map_has_nth (crl_value_map_t const * self, crl_signed_t key)
#endif


#if CRL_NEED_VALUE_MAP

bool has_sym (symbol_t key) const

C++: bool CrlValueMap::has_sym (crl_symbol_t key) const
C: crl_bool_t crl_value_map_has_sym (crl_value_map_t const * self, crl_symbol_t key)
#endif


#if CRL_NEED_VALUE_MAP

bool invalidate ()

C++: bool CrlValueMap::invalidate ()
C: crl_bool_t crl_value_map_invalidate (crl_value_map_t * self)
#endif


#if CRL_NEED_VALUE_MAP

bool is_special (signed_t key) const

C++: bool CrlValueMap::is_special (crl_signed_t key) const
C: crl_bool_t crl_value_map_is_special_nth (crl_value_map_t const * self, crl_signed_t key)
#endif


#if CRL_NEED_VALUE_MAP

bool is_special_sym (symbol_t key) const

C++: bool CrlValueMap::is_special_sym (crl_symbol_t key) const
C: crl_bool_t crl_value_map_is_special_sym (crl_value_map_t const * self, crl_symbol_t key)
#endif


#if CRL_NEED_VALUE_MAP

bool is_valid () const

C++: bool CrlValueMap::is_valid () const
C: crl_bool_t crl_value_map_is_valid (crl_value_map_t const * self)
#endif


#if CRL_NEED_VALUE_MAP

bool is_valid_special () const

C++: bool CrlValueMap::is_valid_special () const
C: crl_bool_t crl_value_map_is_valid_special (crl_value_map_t const * self)
#endif


#if CRL_NEED_VALUE_MAP

Value * nth (signed_t key) const

C++: CrlValue * CrlValueMap::nth (crl_signed_t key) const
C: crl_value_t * crl_value_map_nth (crl_value_map_t const * self, crl_signed_t key)
#endif


#if CRL_NEED_VALUE_MAP

bool poke (Value * value)

C++: bool CrlValueMap::poke (CrlValue * value)
C: crl_bool_t crl_value_map_poke (crl_value_map_t * self, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

bool poke_once (Value * value)

C++: bool CrlValueMap::poke_once (CrlValue * value)
C: crl_bool_t crl_value_map_poke_once (crl_value_map_t * self, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

void reset (signed_t key)

C++: void CrlValueMap::reset (crl_signed_t key)
C: void crl_value_map_reset_nth (crl_value_map_t * self, crl_signed_t key)
#endif


#if CRL_NEED_VALUE_MAP

void reset_sym (symbol_t key)

C++: void CrlValueMap::reset_sym (crl_symbol_t key)
C: void crl_value_map_reset_sym (crl_value_map_t * self, crl_symbol_t key)
#endif


#if CRL_NEED_VALUE_MAP

void set (signed_t key, Value * value)

C++: void CrlValueMap::set (crl_signed_t key, CrlValue * value)
C: void crl_value_map_set_nth (crl_value_map_t * self, crl_signed_t key, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

bool set_once (signed_t key, Value * value)

C++: bool CrlValueMap::set_once (crl_signed_t key, CrlValue * value)
C: crl_bool_t crl_value_map_set_once_nth (crl_value_map_t * self, crl_signed_t key, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

bool set_once_sym (symbol_t key, Value * value)

C++: bool CrlValueMap::set_once_sym (crl_symbol_t key, CrlValue * value)
C: crl_bool_t crl_value_map_set_once_sym (crl_value_map_t * self, crl_symbol_t key, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

void set_sym (symbol_t key, Value * value)

C++: void CrlValueMap::set_sym (crl_symbol_t key, CrlValue * value)
C: void crl_value_map_set_sym (crl_value_map_t * self, crl_symbol_t key, crl_value_t * value)
#endif


#if CRL_NEED_VALUE_MAP

Value * find (char const * key) const

C++: CrlValue * CrlValueMap::find (char const *