3 #ifndef STREAMBASE_FIELDVALUE_HPP
4 #define STREAMBASE_FIELDVALUE_HPP
6 #include "StreamBase.hpp"
7 #include "CompleteDataType.hpp"
8 #include "Timestamp.hpp"
30 #ifndef DOXYGEN_INTERNAL_ONLY
38 #ifndef DOXYGEN_INTERNAL_ONLY
74 FieldValue(
const std::vector<FieldValue>& value);
85 bool operator==(
const FieldValue& t)
const {
return compare(t) == 0; }
86 bool operator!=(
const FieldValue& t)
const {
return compare(t) != 0; }
87 bool operator<(
const FieldValue& t)
const {
return compare(t) < 0; }
88 bool operator>(
const FieldValue& t)
const {
return compare(t) > 0; }
89 bool operator<=(
const FieldValue& t)
const {
return compare(t) <= 0; }
90 bool operator>=(
const FieldValue& t)
const {
return compare(t) >= 0; }
112 #ifndef DOXYGEN_INTERNAL_ONLY
113 size_t getSize()
const;
124 std::string as_string()
const;
126 #ifndef DOXYGEN_INTERNAL_ONLY
127 std::string toDelimitedString(
const std::string& delimiter,
128 const std::string& null_string,
130 bool quote_all_strings)
const;
132 std::string toCSVString(
char delim,
const std::string& null_string,
char quote)
const;
140 bool getBool()
const;
148 double getDouble()
const;
152 long long getLong()
const;
160 const std::string& getString()
const;
164 const std::string& getBlob()
const;
168 const Tuple& getTuple()
const;
172 const std::string& getCapture()
const;
176 const Function& getFunction()
const;
187 const std::vector<FieldValue>& getList()
const;
191 void setNull(
bool value =
true);
194 void setBool(
bool value);
197 void setInt(
int value);
200 void setDouble(
double value);
203 void setLong(
long long value);
207 long long getTimestampLong()
const;
209 void setTimestamp(
const Timestamp& value);
211 void setTimestampLong(
long long value);
214 void setString(
const std::string& value);
217 void setBlob(
const std::string& value);
221 const std::string& getVarLength()
const;
224 void setTuple(
const Tuple& value);
227 void setFunction(
const Function& value);
231 void setList(
const CompleteDataType& elemType,
const std::vector<FieldValue>& value);
235 void setList(
const std::vector<FieldValue>& value);
258 std::vector<FieldValue> elems;
264 Function* function_value;
270 std::string _captureName;
272 void verifyCheck(
const DataType& type)
const;
275 friend class sb_internal::SchemaUtil;
277 friend struct TuplePrivateImpl;