1 #ifndef EXAMPLE2_H_
2 #define EXAMPLE2_H_
3 #include <memory>
4 #include <vector>
5 #include <string>
6 #include <tuple>
7 #include "example3.h"
8 
9 template <typename T, int size>
10 class fooray {
11   T foor[size];
12 };
13 
14 template <class _T1, class _T2>
15 struct __find_exactly_one_check {
16     static constexpr bool __matches[] = {std::is_same<_T1, _T2>::value};
17 };
18 
19 namespace test2 {
20 struct HelloAgain {
21   std::vector<HelloAgain *> foo_again;
22   int bar_again;
23   static int hello_forever;
24   virtual int again();
~HelloAgainHelloAgain25   virtual ~HelloAgain() {}
26 };
27 struct NowWeCrash;
28 }  // namespace test2
29 
30 enum Foo_s {
31   foosball = 10,
32   foosbat
33 };
34 
35 static constexpr bool __test_var[] = {true, false};
36 
37 namespace test3 {
38 template <typename T>
39 struct ByeAgain {
40   T foo_again;
41   int bar_again;
42   T method_foo(T);
43 };
44 
45 template<>
46 struct ByeAgain<float> {
47   float foo_again;
48   static int foo_forever;
49   float bar_Again;
50   float method_foo(int);
51 };
52 
53 ByeAgain<double> double_bye;
54 
55 template <typename T1, typename T2>
56 bool Begin( T1 arg1, T2 arg2, int c);
57 
58 bool End ( float arg = 2.0) {
59   bool ret = Begin(arg, 2, 2);
60   return true;
61 }
62 
63 
64 enum Kind {
65   kind1 = 24,
66   kind2 = 2312
67 };
68 
69 class Outer {
70  public:
71   int a;
72  private:
73   class Inner {
74     int b;
75   };
76 };
77 
78 std::vector<int *> Dummy(int t);
79 
80 }  // namespace test3
81 
82 #endif  // EXAMPLE2_H_
83