X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Fcml%2Fcore%2Fmeta%2Fcommon.h;fp=src%2Fcml%2Fcore%2Fmeta%2Fcommon.h;h=0000000000000000000000000000000000000000;hp=6d9b8761b439ed689ce5eb5cac3050cf80286cc5;hb=c2321281bf12a7efaedde930422c7ddbc92080d4;hpb=87bc17e55b0c1dc73ecc66df856d3f08fd7a7724 diff --git a/src/cml/core/meta/common.h b/src/cml/core/meta/common.h deleted file mode 100644 index 6d9b876..0000000 --- a/src/cml/core/meta/common.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- C++ -*- ------------------------------------------------------------ - -Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/ - -The Configurable Math Library (CML) is distributed under the terms of the -Boost Software License, v1.0 (see cml/LICENSE for details). - - *-----------------------------------------------------------------------*/ -/** @file - * @brief - */ - -#ifndef core_meta_common_h -#define core_meta_common_h - -namespace cml { - -/** Type of a true statement. */ -struct true_type {}; - -/** Type of a false statement. */ -struct false_type {}; - -template struct is_true { - typedef false_type result; -}; - -template<> struct is_true { - typedef true_type result; -}; - -/** A "type pair". */ -template struct type_pair { - typedef T1 first; - typedef T2 second; -}; - -/** A "type quadruple". */ -template -struct type_quad { - typedef T1 first; - typedef T2 second; - typedef T3 third; - typedef T3 fourth; -}; - -/** Match any type (for use with same_type<> and select_switch<>). */ -struct any_type {}; - -/** Determine if two types are the same. - * - * Defaults to false. - */ -template struct same_type { - typedef false_type result; - enum { is_true = false, is_false = true }; -}; - -/** Match the same type for both of same_type's template arguments. */ -template struct same_type { - typedef true_type result; - enum { is_true = true, is_false = false }; -}; - -/** Match a type and any_type. */ -template struct same_type { - typedef true_type result; - enum { is_true = true, is_false = false }; -}; - -/** Match a type and any_type. */ -template struct same_type { - typedef true_type result; - enum { is_true = true, is_false = false }; -}; - -/** Disambiguate pair of any_type's. */ -template<> struct same_type { - typedef true_type result; - enum { is_true = true, is_false = false }; -}; - -} // namespace cml - -#endif - -// ------------------------------------------------------------------------- -// vim:ft=cpp