summaryrefslogtreecommitdiff
path: root/test/manual/cedet/tests/testtemplates.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/manual/cedet/tests/testtemplates.cpp')
-rw-r--r--test/manual/cedet/tests/testtemplates.cpp149
1 files changed, 0 insertions, 149 deletions
diff --git a/test/manual/cedet/tests/testtemplates.cpp b/test/manual/cedet/tests/testtemplates.cpp
deleted file mode 100644
index ed7a057df0b..00000000000
--- a/test/manual/cedet/tests/testtemplates.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// testtemplates.cpp --- semantic-ia-utest completion engine unit tests
-
-// Copyright (C) 2008-2021 Free Software Foundation, Inc.
-
-// Author: Eric M. Ludlam <zappo@gnu.org>
-
-// This file is part of GNU Emacs.
-
-// GNU Emacs is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// GNU Emacs is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
-
-
-// TODO - this probably means can't be part of emacs, as I don't know who this guy is.
-// Written by 'Raf'
-
-template <class T, int U, class V>
-class read_ref {
-public:
- const T* read_ref_member_one( T);
- const V* read_ref_member_two();
-};
-
-namespace NS {
- template <class T, int U, class V>
- class ref {
- public:
- read_ref<T,10,V> operator->() {
- m_// -1-
- ;
- // #1# ( "m_datas" )
- }
-
- private:
- T m_datas[U];
- };
-
-}
-
-class FooOne {
-public:
- int fooOneMember();
-};
-
-class FooTwo {
-public:
- int fooTwoMember();
-};
-
-class FooThree {
-public:
- int fooThreeMember();
-
- FooOne * operator->();
-};
-
-typedef ref<FooOne, 10,FooTwo> Test;
-
-using NS;
-
-void
-main(void) {
- ref<FooOne, 10, FooTwo> v;
-
- v->read_ref_member_one()-> // -2-
- ;
- // #2# ( "fooOneMember" )
-
- v->read_ref_member_two()-> // -3-
- ;
- // #3# ( "fooTwoMember" )
-
- v-> // -4-
- ;
- // #4# ( "read_ref_member_one" "read_ref_member_two" )
-
- Test t;
-
- t->read_ref_member_two()-> // -5-
- ;
- // #5# ( "fooTwoMember" )
-
- ref<FooOne, 10, FooThree> v2;
-
- v2->read_ref_member_two()-> // -6-
- ;
- // #6# ( "fooOneMember" )
-
- /* Try all these things by also specifying the namespace in the name. */
- NS::ref<FooOne, 10, FooTwo> v3;
-
- v3->read_ref_member_one()-> // -7-
- ;
- // #7# ( "fooOneMember" )
-
- v3->read_ref_member_two()-> // -8-
- ;
- // #8# ( "fooTwoMember" )
-
- v3->read_ref_member_two// @1@ 5
- ;
-
-}
-
-// 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- @ TODO - bring over patch from SF
- ; // #9# ( "bar" "foo" );
-
-}