24 #ifndef DCCLV3FIELDCODECDEFAULT20140403H
25 #define DCCLV3FIELDCODECDEFAULT20140403H
27 #include "dccl/codecs2/field_codec_default.h"
35 template<
typename WireType,
typename FieldType = WireType>
52 int32 pre_encode(
const google::protobuf::EnumValueDescriptor*
const& field_value);
53 const google::protobuf::EnumValueDescriptor*
post_decode(
const int32& wire_value);
62 template<
typename TimeType>
64 { BOOST_STATIC_ASSERT(
sizeof(
TimeCodec) == 0); };
82 Bitset encode(
const std::string& wire_value);
83 std::string decode(
Bitset* bits);
85 unsigned size(
const std::string& wire_value);
google::protobuf::int32 int32
a signed 32 bit integer
Placeholder codec that takes no space on the wire (0 bits).
const google::protobuf::EnumValueDescriptor * post_decode(const int32 &wire_value)
Convert from the WireType representation (used with encode() and decode(), i.e. "on the wire") to the...
Dynamic Compact Control Language namespace.
google::protobuf::uint64 uint64
an unsigned 64 bit integer
Encodes time of day (default: second precision, but can be set with (dccl.field).precision extension)
Provides an variable length ASCII string encoder.
A variable size container of bits (subclassed from std::deque<bool>) with an optional hierarchy....
Provides a bool encoder. Uses 1 bit if field is required, 2 bits if optional
google::protobuf::int64 int64
a signed 64 bit integer
void validate()
Validate a field. Use require() inside your overloaded validate() to assert requirements or throw Exc...
int32 pre_encode(const google::protobuf::EnumValueDescriptor *const &field_value)
Convert from the FieldType representation (used in the Google Protobuf message) to the WireType repre...
Base class for static-typed (no boost::any) field encoders/decoders. Most single-valued user defined ...
Provides an enum encoder. This converts the enumeration to an integer and uses DefaultNumericFieldCod...
Provides an fixed length byte string encoder.
Provides a basic bounded arbitrary length numeric (double, float, uint32, uint64, int32,...