/* * ArgListInfo.hh * * Created on: Dec 03, 2020 * Author: AKKA */ #ifndef ARGLISTINFO_HH_ #define ARGLISTINFO_HH_ #include #include #include #include #include namespace AMDA { namespace parser { /** * @class ArgListInfo * @brief Information about an argument list. * @details */ class ArgListInfo { public: ArgListInfo () : _id(""), _values() {} friend std::ostream& operator<<(std::ostream& out_, const ArgListInfo& info); /* * @brief Get the argument list Id */ const std::string& getID() const { return _id; } /* * @brief Set the argument list Id */ void setID(const std::string& id) { _id = id; } /* * @brief Get list of available values for this argument list */ const std::map& getValues() const { return _values; } /* * @brief Add an available value for this argument list */ void addValue(const std::string& key, const std::string& value) { _values[key] = value; } protected: std::string _id; std::map _values; }; typedef std::map ArgListInfoMap; } /* namespace parser */ } /* namespace AMDA */ #endif /* ARGLISTINFO_HH_ */