#pragma once #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) const; void addChild(ModuleInstantiation *ch); void apply(Context &ctx) const; AssignmentList assignments; ModuleInstantiationList children; typedef boost::unordered_map FunctionContainer; FunctionContainer functions; typedef boost::unordered_map AbstractModuleContainer; AbstractModuleContainer modules; };