Alchemy  1.0
A framework to robustly process network messages and structured data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
meta_fwd.h
1 /// @file meta/meta_fwd.h
2 ///
3 /// Forward declarations for template types used in meta framework.
4 ///
5 /// The MIT License(MIT)
6 /// @copyright 2014 Paul M Watt
7 // ****************************************************************************
8 #ifndef META_FWD_H_INCLUDED
9 #define META_FWD_H_INCLUDED
10 // Includes *******************************************************************
11 #include <cstddef>
12 #include <memory>
13 #include <Pb/meta_util.h>
14 #include <Pb/meta_error.h>
15 
16 namespace Hg
17 {
18 
19 template <typename ContainerT>
20 struct front
21 {
22  typedef Hg::MT type;
23 };
24 
25 template <typename ContainerT>
26 struct pop_front
27 {
28  typedef Hg::MT type;
29 };
30 
31 template <typename ContainerT,
32  typename T>
33 struct push_front;
34 
35 template <typename ContainerT,
36  typename T>
37 struct push_back;
38 
39 template <typename ContainerT>
40 struct back;
41 
42 template <size_t Index,
43  typename ContainerT,
44  typename ErrorT>
45 struct TypeAt;
46 
47 template <typename ContainerT>
48 struct length;
49 
50 template <size_t index,
51  typename ContainerT>
52 struct SizeAt;
53 
54 template <typename T>
55 struct SizeOf;
56 
57 template <size_t Index,
58  typename ContainerT>
59 struct OffsetOf;
60 
61 template <typename ContainerT>
62 struct ContainerSize;
63 
64 } // namespace Hg
65 
66 #endif