18 typedef boost::iterator_range<ByteBuffer::iterator> buffer_range;
19 typedef boost::iterator_range<ByteBuffer::const_iterator> buffer_const_range;
40 buffer_const_range
operator[](OsiLayer layer)
const;
57 void trim(OsiLayer from,
unsigned bytes);
63 std::size_t
size()
const;
70 std::size_t
size(OsiLayer single_layer)
const;
78 std::size_t
size(OsiLayer from, OsiLayer to)
const;
84 const ByteBuffer&
buffer()
const {
return m_buffer; }
87 void reset_iterators(OsiLayer layer);
89 buffer_const_range get(
unsigned idx)
const;
90 buffer_range get(
unsigned idx);
93 std::array<ByteBuffer::iterator, osi_layers.size() + 1> m_iterators;