From 807b2c601d84231a235bd20093edc6dd152c94c4 Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Thu, 30 Nov 2006 00:55:41 +0000 Subject: [PATCH] Missing file in thrift parser, sorry d00dz! Summary: Forgot to svn add git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664885 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/parse/t_const_value.h | 94 ++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 compiler/cpp/src/parse/t_const_value.h diff --git a/compiler/cpp/src/parse/t_const_value.h b/compiler/cpp/src/parse/t_const_value.h new file mode 100644 index 00000000..3d99c857 --- /dev/null +++ b/compiler/cpp/src/parse/t_const_value.h @@ -0,0 +1,94 @@ +#ifndef T_CONST_VALUE_H +#define T_CONST_VALUE_H + +#include "t_const.h" +#include +#include + +/** + * A const value is something parsed that could be a map, set, list, struct + * or whatever. + * + * @author Mark Slee + */ +class t_const_value { + public: + + enum t_const_value_type { + CV_INTEGER, + CV_DOUBLE, + CV_STRING, + CV_MAP, + CV_LIST + }; + + t_const_value() {} + + void set_string(std::string val) { + valType_ = CV_STRING; + stringVal_ = val; + } + + std::string get_string() const { + return stringVal_; + } + + void set_integer(int val) { + valType_ = CV_INTEGER; + intVal_ = val; + } + + int get_integer() const { + return intVal_; + } + + void set_double(double val) { + valType_ = CV_DOUBLE; + doubleVal_ = val; + } + + double get_double() const { + return doubleVal_; + } + + void set_map() { + valType_ = CV_MAP; + } + + void add_map(t_const_value* key, t_const_value* val) { + mapVal_[key] = val; + } + + const std::map& get_map() const { + return mapVal_; + } + + void set_list() { + valType_ = CV_LIST; + } + + void add_list(t_const_value* val) { + listVal_.push_back(val); + } + + const std::vector& get_list() const { + return listVal_; + } + + t_const_value_type get_type() const { + return valType_; + } + + private: + std::map mapVal_; + std::vector listVal_; + std::string stringVal_; + int intVal_; + double doubleVal_; + + t_const_value_type valType_; + +}; + +#endif + -- 2.17.1