From 764b7fe5488b2fdf25bb73c4a19c4468d6383a40 Mon Sep 17 00:00:00 2001 From: nobody Date: Wed, 6 Mar 2002 14:13:30 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'perforce_2_4_merge_1'. [SVN r13112] --- include/boost/pending/cstddef.hpp | 12 ---- include/boost/pending/ct_if.hpp | 101 ------------------------------ 2 files changed, 113 deletions(-) delete mode 100644 include/boost/pending/cstddef.hpp delete mode 100644 include/boost/pending/ct_if.hpp diff --git a/include/boost/pending/cstddef.hpp b/include/boost/pending/cstddef.hpp deleted file mode 100644 index 279bec0..0000000 --- a/include/boost/pending/cstddef.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// -*- C++ -*- forwarding header. - -#ifndef BOOST_CSTDDEF_HPP -#define BOOST_CSTDDEF_HPP - -#if defined(__sgi) && !defined(__GNUC__) -# include -#else -# include -#endif - -#endif diff --git a/include/boost/pending/ct_if.hpp b/include/boost/pending/ct_if.hpp deleted file mode 100644 index 1655cfa..0000000 --- a/include/boost/pending/ct_if.hpp +++ /dev/null @@ -1,101 +0,0 @@ -// (C) Copyright Jeremy Siek 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// The ct_if implementation that avoids partial specialization is -// based on the IF class by Ulrich W. Eisenecker and Krzysztof -// Czarnecki. - -#ifndef BOOST_CT_IF_HPP -#define BOOST_CT_IF_HPP - -#include - -/* - There is a bug in the Borland compiler with regards to using - integers to specialize templates. This made it hard to use ct_if in - the graph library. Changing from 'ct_if' to 'ct_if_t' fixed the - problem. -*/ - -namespace boost { - - struct ct_if_error { }; - - struct true_type { enum { value = true }; }; - struct false_type { enum { value = false }; }; - - template - struct ct_and { typedef false_type type; }; - template <> struct ct_and { typedef true_type type; }; - - template struct ct_not { typedef ct_if_error type; }; - template <> struct ct_not { typedef false_type type; }; - template <> struct ct_not { typedef true_type type; }; - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - template - struct ct_if { typedef ct_if_error type; }; - template - struct ct_if<1, A, B> { typedef A type; }; - template - struct ct_if<0, A, B> { typedef B type; }; - - template - struct ct_if_t { typedef ct_if_error type; }; - template - struct ct_if_t { typedef A type; }; - template - struct ct_if_t { typedef B type; }; - -#else - - namespace detail { - - template struct IF; - template struct SlectSelector; - struct SelectFirstType; - struct SelectSecondType; - - struct SelectFirstType { - template - struct Template { typedef A type; }; - }; - - struct SelectSecondType { - template - struct Template { typedef B type; }; - }; - - template - struct SlectSelector { - typedef SelectFirstType type; - }; - - template <> - struct SlectSelector<0> { - typedef SelectSecondType type; - }; - - } // namespace detail - - template - struct ct_if - { - typedef typename detail::SlectSelector::type Selector; - typedef typename Selector::template Template::type type; - }; - - template - struct ct_if_t { - typedef typename ct_if::type type; - }; - -#endif - -} // namespace boost - -#endif // BOOST_CT_IF_HPP -