17 #ifndef HH_SENF_Packets_PacketData_ 18 #define HH_SENF_Packets_PacketData_ 1 21 #include <boost/noncopyable.hpp> 22 #include <boost/utility/enable_if.hpp> 23 #include <boost/type_traits/is_convertible.hpp> 92 iterator
begin()
const;
98 size_type
size()
const;
111 void insert(iterator pos, byte v);
112 void insert(iterator pos, size_type n, byte v);
114 template <
class InputIterator>
115 void insert(iterator pos, InputIterator f, InputIterator l,
116 typename boost::disable_if< boost::is_convertible<InputIterator,size_type> >::type * = 0);
118 template <
class InputIterator>
119 void insert(iterator pos, InputIterator f, InputIterator l);
122 void erase(iterator pos);
123 void erase(iterator first, iterator last);
125 void zero(iterator first, iterator last);
127 void resize(size_type n, byte v=0);
185 #if !defined(HH_SENF_Packets_Packets__decls_) && !defined(HH_SENF_Packets_PacketData_i_) 186 #define HH_SENF_Packets_PacketData_i_ void clear()
All bytes of the packet data dropped, leaving the container with a size of 0. */. ...
detail::PacketImpl & impl() const
TruncatedPacketException(std::string const &description="")
void zero(iterator first, iterator last)
detail::PacketImpl * impl_
Need to make this protected so we can change it in the derived class.
senf::detail::packet::iterator iterator
bool usingExternalMemory() const
Check for external memory usage.
iterator begin() const
Return iterator to beginning.
void resize(size_type n, byte v=0)
byte operator[](size_type n) const
Access byte in the packet data.
PacketData(size_type b, size_type e)
byte const & const_reference
byte const * const_pointer
iterator end() const
Return iterator to end.
senf::detail::packet::difference_type difference_type
raw_container::const_iterator const_iterator
void releaseExternalMemory()
Release external memory.
Packet data STL-sequence view.
raw_container::size_type size_type
senf::detail::packet::const_iterator const_iterator
Internal: Packet data storage.
raw_container::iterator iterator
senf::detail::packet::size_type size_type
unspecified_keyword_type description
size_type size() const
Returns the number of bytes in the packet data.
raw_container::difference_type difference_type
void insert(iterator pos, byte v)
senf::detail::packet::byte byte
bool empty() const
Test whether the packet data is empty.
Invalid packet data access.