/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
}
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const { return "bool"; }
+ virtual std::string typeString() const { return "bool"; }
virtual std::string formatSingleValue(const bool &value) const;
+ //! \copydoc BooleanOptionInfo::defaultValue()
+ bool defaultValue() const { return valueCount() > 0 && values()[0]; }
+
private:
virtual void convertValue(const std::string &value);
}
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const
+ virtual std::string typeString() const
{ return isVector() ? "vector" : "int"; }
virtual std::string formatSingleValue(const int &value) const;
}
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const
- { return "int"; }
+ virtual std::string typeString() const { return "int"; }
virtual std::string formatSingleValue(const gmx_int64_t &value) const;
private:
explicit DoubleOptionStorage(const DoubleOption &settings);
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const;
+ virtual std::string typeString() const;
virtual std::string formatSingleValue(const double &value) const;
//! \copydoc DoubleOptionInfo::isTime()
explicit FloatOptionStorage(const FloatOption &settings);
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const;
+ virtual std::string typeString() const;
virtual std::string formatSingleValue(const float &value) const;
//! \copydoc DoubleOptionStorage::isTime()
explicit StringOptionStorage(const StringOption &settings);
virtual OptionInfo &optionInfo() { return info_; }
- virtual const char *typeString() const { return allowed_.empty() ? "string" : "enum"; }
+ virtual std::string typeString() const
+ { return allowed_.empty() ? "string" : "enum"; }
+ virtual std::string formatExtraDescription() const;
virtual std::string formatSingleValue(const std::string &value) const;
//! \copydoc StringOptionInfo::allowedValues()
virtual void convertValue(const std::string &value);
virtual void refreshValues();
+ void refreshEnumIndexStore();
+
StringOptionInfo info_;
ValueList allowed_;
int *enumIndexStore_;