Alchemy  1.0
A framework to robustly process network messages and structured data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
msg_fwd.h
1 /// @file detail/msg_fwd.h
2 ///
3 /// Forward declarations for message processing functions.
4 ///
5 /// The MIT License(MIT)
6 /// @copyright 2014 Paul M Watt
7 // ****************************************************************************
8 #ifndef MSG_FWD_H_INCLUDED
9 #define MSG_FWD_H_INCLUDED
10 // Includes *******************************************************************
11 #include <memory>
12 
13 namespace Hg
14 {
15 
16 // Forward Declarations *******************************************************
17 // ****************************************************************************
18 template< typename MsgT,
19  typename BufferT,
20  typename SizeTraitT
21  >
22 std::shared_ptr<BufferT>
23  pack_message( MsgT &msg_values,
24  size_t size);
25 
26 // ****************************************************************************
27 template< typename MsgT,
28  typename BufferT,
29  typename SizeTraitT
30  >
31 size_t pack_message(MsgT &msg_values,
32  BufferT &buffer,
33  size_t offset);
34 
35 
36 // ****************************************************************************
37 template< typename MsgT,
38  typename BufferT,
39  typename SizeTraitT
40  >
41 MsgT& unpack_message( MsgT &msg_values,
42  const BufferT &buffer);
43 
44 
45 // ****************************************************************************
46 template< typename MsgT,
47  typename BufferT,
48  typename SizeTraitT
49  >
50 size_t unpack_message(MsgT &msg_values,
51  BufferT &buffer,
52  size_t offset);
53 
54 
55 } // namespace Hg
56 
57 #endif