4 #include <zerobuf/ConstAllocator.h> 5 #include <zerobuf/Vector.h> 6 #include <zerobuf/Zerobuf.h> 15 enum class CellSetBinaryOpType
20 std::string to_string(
const CellSetBinaryOpType& val );
21 CellSetBinaryOpType string_to_CellSetBinaryOpType(
const std::string& val );
22 std::ostream& operator << ( std::ostream& os,
const CellSetBinaryOpType& val );
24 class CellSetBinaryOp;
25 typedef std::unique_ptr< const CellSetBinaryOp > ConstCellSetBinaryOpPtr;
30 typedef ::zerobuf::Vector< uint32_t > First;
37 CellSetBinaryOp::First& getFirst();
38 const CellSetBinaryOp::First& getFirst()
const;
46 void setFirst( uint32_t
const * value,
size_t size );
47 std::vector< uint32_t > getFirstVector()
const;
54 void setFirst(
const std::vector< uint32_t >& value );
56 typedef ::zerobuf::Vector< uint32_t > Second;
63 CellSetBinaryOp::Second& getSecond();
64 const CellSetBinaryOp::Second& getSecond()
const;
72 void setSecond( uint32_t
const * value,
size_t size );
73 std::vector< uint32_t > getSecondVector()
const;
80 void setSecond(
const std::vector< uint32_t >& value );
82 CellSetBinaryOpType getOperation()
const;
89 void setOperation( CellSetBinaryOpType value );
91 void compact(
float threshold = 0.1f )
final;
93 CellSetBinaryOp(
const std::vector< uint32_t >& firstValue,
const std::vector< uint32_t >& secondValue,
const CellSetBinaryOpType& operationValue );
103 std::string getSchema()
const final;
104 static std::string ZEROBUF_SCHEMA();
105 std::string getTypeName()
const final {
return "lexis::data::CellSetBinaryOp"; }
106 static std::string ZEROBUF_TYPE_NAME() {
return "lexis::data::CellSetBinaryOp"; }
107 ::zerobuf::uint128_t getTypeIdentifier()
const final { return ::zerobuf::uint128_t( 0x6f17efb37fd8ef59ull, 0x77ea04162eeacb02ull ); }
108 static ::zerobuf::uint128_t ZEROBUF_TYPE_IDENTIFIER() { return ::zerobuf::uint128_t( 0x6f17efb37fd8ef59ull, 0x77ea04162eeacb02ull ); }
109 size_t getZerobufStaticSize()
const final {
return 40; }
110 static size_t ZEROBUF_STATIC_SIZE() {
return 40; }
111 size_t getZerobufNumDynamics()
const final {
return 2; }
112 static size_t ZEROBUF_NUM_DYNAMICS() {
return 2; }
113 static ConstCellSetBinaryOpPtr create(
const void* data,
const size_t size ) {
return ConstCellSetBinaryOpPtr(
new CellSetBinaryOp( ::zerobuf::AllocatorPtr( new ::zerobuf::ConstAllocator( reinterpret_cast< const uint8_t* >( data ), size )))); }
115 void _parseJSON(
const Json::Value& json )
final;
116 void _createJSON( Json::Value& json )
const final;
127 template<> std::string enum_to_string(
const lexis::data::CellSetBinaryOpType& val );
128 template<> lexis::data::CellSetBinaryOpType string_to_enum(
const std::string& val );