summaryrefslogtreecommitdiff
path: root/libcult/cult/meta
diff options
context:
space:
mode:
Diffstat (limited to 'libcult/cult/meta')
-rw-r--r--libcult/cult/meta/answer.hxx27
-rw-r--r--libcult/cult/meta/class-p.hxx33
-rw-r--r--libcult/cult/meta/polymorphic-p.hxx56
-rw-r--r--libcult/cult/meta/remove-c.hxx27
-rw-r--r--libcult/cult/meta/remove-cv.hxx24
-rw-r--r--libcult/cult/meta/remove-v.hxx27
6 files changed, 0 insertions, 194 deletions
diff --git a/libcult/cult/meta/answer.hxx b/libcult/cult/meta/answer.hxx
deleted file mode 100644
index 402d152..0000000
--- a/libcult/cult/meta/answer.hxx
+++ /dev/null
@@ -1,27 +0,0 @@
-// file : cult/meta/answer.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_ANSWER_HXX
-#define CULT_META_ANSWER_HXX
-
-#include <cult/types/fundamental.hxx>
-
-namespace Cult
-{
- namespace Meta
- {
- struct Yes
- {
- Char filling;
- };
-
- struct No
- {
- Char filling[2];
- };
- }
-}
-
-#endif // CULT_META_ANSWER_HXX
diff --git a/libcult/cult/meta/class-p.hxx b/libcult/cult/meta/class-p.hxx
deleted file mode 100644
index 6ac056d..0000000
--- a/libcult/cult/meta/class-p.hxx
+++ /dev/null
@@ -1,33 +0,0 @@
-// file : cult/meta/class-p.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_CLASS_HXX
-#define CULT_META_CLASS_HXX
-
-#include <cult/types/fundamental.hxx>
-
-#include <cult/meta/answer.hxx>
-
-namespace Cult
-{
- namespace Meta
- {
- template <typename X>
- class class_p
- {
- //@@ g++ bug 14881
- public:
- template <typename Y> static No test (...);
- template <typename Y> static Yes test (Void* Y::*);
-
- public:
- //@@ Qualification bug fixed for g++ 3.4.0.
- static Boolean const r =
- sizeof (class_p<X>::template test<X> (0)) == sizeof (Yes);
- };
- }
-}
-
-#endif // CULT_META_CLASS_HXX
diff --git a/libcult/cult/meta/polymorphic-p.hxx b/libcult/cult/meta/polymorphic-p.hxx
deleted file mode 100644
index 0743de3..0000000
--- a/libcult/cult/meta/polymorphic-p.hxx
+++ /dev/null
@@ -1,56 +0,0 @@
-// file : cult/meta/polymorphic-p.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_POLYMORPHIC_HXX
-#define CULT_META_POLYMORPHIC_HXX
-
-#include <cult/types/fundamental.hxx>
-
-#include <cult/meta/class-p.hxx>
-#include <cult/meta/remove-cv.hxx>
-
-namespace Cult
-{
- namespace Meta
- {
- template <typename CVX>
- class polymorphic_p
- {
- typedef typename remove_cv<CVX>::R X;
-
- template <typename Y, Boolean c>
- struct impl
- {
- static const Boolean r = false;
- };
-
- template <typename Y>
- struct impl<Y, true>
- {
- //@@ private
-
- struct S1 : Y
- {
- S1 ();
- };
-
- struct S2 : Y
- {
- S2 ();
-
- virtual
- ~S2 () throw ();
- };
-
- static const Boolean r = sizeof (S1) == sizeof (S2);
- };
-
- public:
- static const Boolean r = impl<X, class_p<X>::r>::r;
- };
- }
-}
-
-#endif // CULT_META_POLYMORPHIC_HXX
diff --git a/libcult/cult/meta/remove-c.hxx b/libcult/cult/meta/remove-c.hxx
deleted file mode 100644
index a25382c..0000000
--- a/libcult/cult/meta/remove-c.hxx
+++ /dev/null
@@ -1,27 +0,0 @@
-// file : cult/meta/remove-c.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_REMOVE_C_HXX
-#define CULT_META_REMOVE_C_HXX
-
-namespace Cult
-{
- namespace Meta
- {
- template <typename X>
- struct remove_c
- {
- typedef X R;
- };
-
- template <typename X>
- struct remove_c<X const>
- {
- typedef X R;
- };
- }
-}
-
-#endif // CULT_META_REMOVE_C_HXX
diff --git a/libcult/cult/meta/remove-cv.hxx b/libcult/cult/meta/remove-cv.hxx
deleted file mode 100644
index 190e393..0000000
--- a/libcult/cult/meta/remove-cv.hxx
+++ /dev/null
@@ -1,24 +0,0 @@
-// file : cult/meta/remove-cv.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_REMOVE_CV_HXX
-#define CULT_META_REMOVE_CV_HXX
-
-#include <cult/meta/remove-c.hxx>
-#include <cult/meta/remove-v.hxx>
-
-namespace Cult
-{
- namespace Meta
- {
- template <typename X>
- struct remove_cv
- {
- typedef typename remove_v<typename remove_c<X>::R>::R R;
- };
- }
-}
-
-#endif // CULT_META_REMOVE_CV_HXX
diff --git a/libcult/cult/meta/remove-v.hxx b/libcult/cult/meta/remove-v.hxx
deleted file mode 100644
index eb6e4ee..0000000
--- a/libcult/cult/meta/remove-v.hxx
+++ /dev/null
@@ -1,27 +0,0 @@
-// file : cult/meta/remove-v.hxx
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2005-2010 Boris Kolpackov
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef CULT_META_REMOVE_V_HXX
-#define CULT_META_REMOVE_V_HXX
-
-namespace Cult
-{
- namespace Meta
- {
- template <typename X>
- struct remove_v
- {
- typedef X R;
- };
-
- template <typename X>
- struct remove_v<X volatile>
- {
- typedef X R;
- };
- }
-}
-
-#endif // CULT_META_REMOVE_V_HXX