/* * Sizing.h * openChams * * Created by damien dupuis on 08/02/10. * Copyright 2010 UPMC / LIP6. All rights reserved. * */ #ifndef __OPENCHAMS_SIZING_H__ #define __OPENCHAMS_SIZING_H__ #include #include "Name.h" namespace OpenChams { class Circuit; class Operator; class Sizing { public: Sizing(Circuit*); Operator* addOperator(Name instanceName, Name operatorName, Name simulModel, unsigned callOrder); void addEquation(Name equationName, std::string equation); inline bool hasNoOperators(); inline bool hasNoEquations(); inline const std::map& getOperators(); inline const std::map& getEquations(); private: Circuit* _circuit; std::map _operators; //instanceName <-> operator std::map _equations; //equationName <-> equation (string) }; inline bool Sizing::hasNoOperators() { return (_operators.size() == 0) ? true : false; }; inline bool Sizing::hasNoEquations() { return (_equations.size() == 0) ? true : false; }; inline const std::map& Sizing::getOperators() { return _operators; }; inline const std::map& Sizing::getEquations() { return _equations; }; } // namespace #endif