00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef KUDU_CLIENT_VALUE_H
00018 #define KUDU_CLIENT_VALUE_H
00019
00020 #ifdef KUDU_HEADERS_NO_STUBS
00021 #include "kudu/gutil/macros.h"
00022 #include "kudu/gutil/port.h"
00023 #else
00024 #include "kudu/client/stubs.h"
00025 #endif
00026 #include "kudu/util/slice.h"
00027 #include "kudu/util/kudu_export.h"
00028
00029 namespace kudu {
00030 namespace client {
00031
00033 class KUDU_EXPORT KuduValue {
00034 public:
00036 KuduValue* Clone() const;
00037
00047 static KuduValue* FromInt(int64_t val);
00048 static KuduValue* FromFloat(float f);
00049 static KuduValue* FromDouble(double d);
00050 static KuduValue* FromBool(bool b);
00052
00058 static KuduValue* CopyString(Slice s);
00059
00060 ~KuduValue();
00061 private:
00062 friend class ComparisonPredicateData;
00063 friend class KuduColumnSpec;
00064
00065 class KUDU_NO_EXPORT Data;
00066 explicit KuduValue(Data* d);
00067
00068
00069 Data* data_;
00070
00071 DISALLOW_COPY_AND_ASSIGN(KuduValue);
00072 };
00073
00074 }
00075 }
00076 #endif