12 #ifndef CPROVER_CPP_CPP_SCOPE_H
13 #define CPROVER_CPP_CPP_SCOPE_H
45 lookup_rec(base_name_to_lookup, kind, identifier_class, result);
54 cpp_id_mapt::iterator it=
55 sub.insert(std::pair<irep_idt, cpp_idt>
58 it->second.base_name=_base_name;
59 it->second.set_parent(*
this);
66 cpp_id_mapt::iterator it=
67 sub.insert(std::pair<irep_idt, cpp_idt>
70 it->second.set_parent(*
this);
cpp_idt & get_parent() const
scope_listt secondary_scopes
class cpp_scopet & new_scope(const irep_idt &new_scope_name)
id_sett lookup(const irep_idt &base_name_to_lookup, lookup_kindt kind, cpp_idt::id_classt identifier_class)
bool is_global_scope() const
cpp_scopet & get_parent() const
cpp_idt & insert(const cpp_idt &cpp_id)
void add_using_scope(cpp_scopet &other)
id_sett lookup_identifier(const irep_idt &id, cpp_idt::id_classt identifier_class)
std::set< cpp_idt * > id_sett
void lookup_rec(const irep_idt &base_name, lookup_kindt kind, id_sett &)
id_sett lookup(const irep_idt &base_name_to_lookup, lookup_kindt kind)
cpp_idt & insert(const irep_idt &_base_name)
bool is_root_scope() const
bool contains(const irep_idt &base_name_to_lookup)
void add_secondary_scope(cpp_scopet &other)
cpp_scopet & get_global_scope()
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
C++ Language Type Checking.
std::ostream & operator<<(std::ostream &out, cpp_scopet::lookup_kindt)
#define PRECONDITION(CONDITION)