Bitstream Interpretation Library (BIL)  0.1
Packet.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_PACKET_HPP
8 #define BIL_PACKET_HPP
9 
10 
11 namespace bil {
12 
13  class PacketVisitor;
14 
15 
24  class Packet {
25  public:
26 
27  /**********************************************************************/
28  /* CONSTRUCTION / DESTRUCTION */
29  /**********************************************************************/
30 
35  virtual Packet* clone() const = 0;
36 
40  virtual ~Packet();
41 
42 
43  /**********************************************************************/
44  /* VISITOR INTERFACE */
45  /**********************************************************************/
46 
51  virtual void accept(PacketVisitor& visitor) const = 0;
52 
53  };
54 
60  Packet* new_clone(const Packet& src);
61 
62 }
63 
64 #endif