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();
25 };
26 struct NowWeCrash;
27 } // namespace test2
28 
29 enum Foo_s {
30   foosball = 10,
31   foosbat
32 };
33 
34 static constexpr bool __test_var[] = {true, false};
35 
36 namespace test3 {
37 template <typename T>
38 struct ByeAgain {
39   T foo_again;
40   int bar_again;
41   T method_foo(T);
42 };
43 
44 template<>
45 struct ByeAgain<float> {
46   float foo_again;
47   static int foo_forever;
48   float bar_Again;
49   float method_foo(int);
50 };
51 
52 ByeAgain<double> double_bye;
53 
54 template <typename T1, typename T2>
55 bool Begin( T1 arg1, T2 arg2, int c);
56 
57 bool End ( float arg = 2.0) {
58   bool ret = Begin(arg, 2, 2);
59   return true;
60 }
61 
62 
63 enum Kind {
64   kind1 = 24,
65   kind2 = 2312
66 };
67 
68 class Outer {
69  public:
70   int a;
71  private:
72   class Inner {
73     int b;
74   };
75 };
76 
77 std::vector<int *> Dummy(int t);
78 
79 } // namespace test3
80 
81 #endif  // EXAMPLE2_H_
82