#ifndef LOCALSCOPE_H_ #define LOCALSCOPE_H_ #include "typedefs.h" #include class LocalScope { public: LocalScope(); ~LocalScope(); size_t numElements() const { return assignments.size() + children.size(); } std::string dump(const std::string &indent) const; std::vector instantiateChildren(const class Context *evalctx, class FileContext *filectx = NULL) const; void addChild(ModuleInstantiation *ch); AssignmentList assignments; ModuleInstantiationList children; typedef boost::unordered_map FunctionContainer; FunctionContainer functions; typedef boost::unordered_map AbstractModuleContainer; AbstractModuleContainer modules; }; #endif