OmniSciDB  ba1bac9284
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Parser::PositiveOrZeroValidate Struct Reference

#include <ParserNode.h>

Public Member Functions

template<typename T >
decltype(auto) operator() (T t)
 

Detailed Description

Definition at line 2157 of file ParserNode.h.

Member Function Documentation

template<typename T >
decltype(auto) Parser::PositiveOrZeroValidate::operator() ( t)
inline

Definition at line 2159 of file ParserNode.h.

2159  {
2160  const std::string property_name(boost::to_upper_copy<std::string>(*t->get_name()));
2161  if (!dynamic_cast<const IntLiteral*>(t->get_value())) {
2162  throw std::runtime_error(property_name + " must be an integer literal.");
2163  }
2164  const auto val = static_cast<const IntLiteral*>(t->get_value())->get_intval();
2165  if (val < 0) {
2166  throw std::runtime_error(property_name + " must be greater than or equal to 0.");
2167  }
2168  return val;
2169  }
char * t

The documentation for this struct was generated from the following file: