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 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