46 std::uint32_t pre_encode(
const std::string& field_value)
override;
47 std::string post_decode(
const std::uint32_t& wire_value)
override;
49 dccl::Bitset encode()
override {
return dccl::Bitset(size(), 0); }
50 dccl::Bitset encode(
const std::uint32_t& wire_value)
override
52 return dccl::Bitset(size(), wire_value);
54 std::uint32_t decode(dccl::Bitset* bits)
override {
return bits->to<std::uint32_t>(); }
55 unsigned size()
override {
return 32; }
62 dccl::Bitset encode()
override {
return dccl::Bitset(size(), 0); }
64 dccl::Bitset encode(
const std::uint32_t& wire_value)
override
66 unsigned short val = wire_value & 0xFFFF;
67 unsigned short val_le = ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);
68 return dccl::Bitset(size(), val_le);
70 std::uint32_t decode(dccl::Bitset* bits)
override
72 unsigned short val = bits->to<std::uint32_t>();
73 return ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);
75 unsigned size()
override {
return 16; }
80 :
public dccl::TypedFixedFieldCodec<goby::acomms::protobuf::IPv4Header::FlagsFragOffset>
83 dccl::Bitset encode()
override {
return dccl::Bitset(size(), 0); }
93 unsigned short val_le = ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);
94 return dccl::Bitset(size(), val_le);
98 unsigned short val_le = bits->to<std::uint32_t>();
99 unsigned short val = ((val_le & 0xFF) << 8) | ((val_le >> 8) & 0xFF);
106 unsigned size()
override {
return 16; }