epoc32/include/stdapis/boost/graph/detail/is_same.hpp
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 //=======================================================================
     2 // Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
     3 // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
     4 //
     5 // Distributed under the Boost Software License, Version 1.0. (See
     6 // accompanying file LICENSE_1_0.txt or copy at
     7 // http://www.boost.org/LICENSE_1_0.txt)
     8 //=======================================================================
     9 #ifndef BOOST_GRAPH_DETAIL_IS_SAME_HPP
    10 #define BOOST_GRAPH_DETAIL_IS_SAME_HPP
    11 
    12 #include <boost/pending/ct_if.hpp>
    13 
    14 namespace boost {
    15   struct false_tag;
    16   struct true_tag;
    17 
    18   namespace graph_detail {
    19     
    20 #if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
    21     template <class U, class V>
    22     struct is_same {
    23       typedef boost::false_tag is_same_tag; 
    24     };
    25     template <class U>
    26     struct is_same<U, U> {
    27       typedef boost::true_tag is_same_tag;
    28     };
    29 #else
    30     template <class U, class V>
    31     struct is_same {
    32       enum { Unum = U::num, Vnum = V::num };
    33       typedef typename boost::ct_if< (Unum == Vnum),
    34                boost::true_tag, boost::false_tag>::type is_same_tag;
    35     };
    36 #endif
    37   } // namespace graph_detail
    38 } // namespace boost
    39 
    40 #endif