Vanetza
 
Loading...
Searching...
No Matches
buffer_packet.hpp
1#ifndef BUFFER_PACKET_HPP_QYLSJSX5
2#define BUFFER_PACKET_HPP_QYLSJSX5
3
4#include <vanetza/common/byte_buffer.hpp>
5#include <vanetza/net/osi_layer.hpp>
6#include <cstddef>
7#include <map>
8
9namespace vanetza
10{
11
13{
14public:
15 typedef std::map<OsiLayer, ByteBuffer> map_t;
17 void swap(OsiLayer layer, ByteBuffer&);
18 const ByteBuffer& operator[](OsiLayer layer) const;
19 ByteBuffer& operator[](OsiLayer layer) { return mBuffers[layer]; }
20 std::size_t size() const;
21 void clear();
22
23 map_t::iterator begin() { return mBuffers.begin(); }
24 map_t::iterator end() { return mBuffers.end(); }
25 map_t::const_iterator begin() const { return mBuffers.begin(); }
26 map_t::const_iterator end() const { return mBuffers.end(); }
27
28private:
29 map_t mBuffers;
30};
31
32} // namespace vanetza
33
34#endif /* BUFFER_PACKET_HPP_QYLSJSX5 */
35