1 //=======================================================================
2 // Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
3 // Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
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
12 #include <boost/pending/ct_if.hpp>
18 namespace graph_detail {
20 #if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
21 template <class U, class V>
23 typedef boost::false_tag is_same_tag;
26 struct is_same<U, U> {
27 typedef boost::true_tag is_same_tag;
30 template <class U, class V>
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;
37 } // namespace graph_detail