static constexpr const char *key = "unit"; /**< unique key to access */
using prop_tag = uint_prop_tag; /**< property type */
- bool is_valid(const unsigned int &v) override { return v > 0; }
+ bool isValid(const unsigned int &v) const override { return v > 0; }
};
} // namespace props
* @throw std::invalid_argument if argument is not valid
*/
void set(const T &v) {
- NNTR_THROW_IF(is_valid(v) == false, std::invalid_argument)
+ NNTR_THROW_IF(isValid(v) == false, std::invalid_argument)
<< "argument is not valid";
value = v;
}
* @return true if valid
* @return false if not valid
*/
- virtual bool is_valid(const T &v) { return true; }
+ virtual bool isValid(const T &v) const { return true; }
private:
T value; /**< underlying data */
* @throw std::invalid_argument if argument is not valid
*/
void set(const std::string &v) {
- if (!is_valid(v)) {
+ if (!isValid(v)) {
throw std::invalid_argument("argument is not valid");
}
value = v;
* @return true if valid
* @return false if not valid
*/
- virtual bool is_valid(const std::string &v) { return true; }
+ virtual bool isValid(const std::string &v) const { return true; }
private:
std::string value; /**< underlying data */
static constexpr const char *key = "num_banana"; /**< unique key to access */
using prop_tag = banana_prop_tag; /**< property type */
- bool is_valid(const int &v) override { return v >= 0; }
+ bool isValid(const int &v) const override { return v >= 0; }
};
/**
static constexpr const char *key = "quality_banana";
using prop_tag = nntrainer::str_prop_tag;
- bool is_valid(const std::string &v) override {
+ bool isValid(const std::string &v) const override {
/// assuming quality of banana property must ends with word "good";
return nntrainer::endswith(v, "good");
}