]> git.eshelyaron.com Git - emacs.git/commitdiff
(isFooLike, A, B, main2): New test tweaked from example by Liang Wang
authorEric Ludlam <eric@siege-engine.com>
Sun, 18 Oct 2015 14:11:33 +0000 (10:11 -0400)
committerEdward John Steere <edward.steere@gmail.com>
Wed, 25 Jan 2017 16:30:35 +0000 (18:30 +0200)
test/manual/cedet/cedet/semantic/tests/testtemplates.cpp

index fde8de55cc47c383529b1a5975ccf96ce590c767..9d34ab704e607ea5658aa68527c3545122c280cb 100644 (file)
@@ -88,3 +88,40 @@ main(void) {
     ;
 
 }
+
+// More Namespace Magic using member constants.
+
+template<typename T>
+struct isFooLike {
+  static const bool value = false;
+};
+
+template <>
+struct isFooLike<int> {
+  static const bool value = true;
+};
+
+
+template <typename T, bool isFoo>
+class A {
+public:
+  A();
+  void foo() {};
+};
+
+
+template <typename T>
+class FooFour : public A<T, isPodLike<T>::value> {
+public:
+  bool bar() {}
+};
+
+
+int main2() {
+
+  FooFour<int> ff;
+
+  ff.// -9-
+    ; // #9# ( "bar" "foo" );
+
+}