Added boost header
This commit is contained in:
46
test/external/boost/graph/overloading.hpp
vendored
Normal file
46
test/external/boost/graph/overloading.hpp
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
// Copyright 2004 The Trustees of Indiana University.
|
||||
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// Authors: Douglas Gregor
|
||||
// Andrew Lumsdaine
|
||||
|
||||
//
|
||||
// This file contains helps that enable concept-based overloading
|
||||
// within the Boost Graph Library.
|
||||
//
|
||||
#ifndef BOOST_GRAPH_OVERLOADING_HPP
|
||||
#define BOOST_GRAPH_OVERLOADING_HPP
|
||||
|
||||
#include <boost/type_traits/is_base_and_derived.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
|
||||
namespace boost { namespace graph { namespace detail {
|
||||
|
||||
struct no_parameter {};
|
||||
|
||||
} } } // end namespace boost::graph::detail
|
||||
|
||||
#ifndef BOOST_NO_SFINAE
|
||||
|
||||
#define BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag, Type) \
|
||||
typename enable_if_c<(is_base_and_derived< \
|
||||
Tag, \
|
||||
typename graph_traits<Graph>::traversal_category>::value), \
|
||||
Type>::type
|
||||
|
||||
#define BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, Tag) \
|
||||
, BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag, \
|
||||
::boost::graph::detail::no_parameter) \
|
||||
= ::boost::graph::detail::no_parameter()
|
||||
|
||||
#else
|
||||
|
||||
#define BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag, Type) Type
|
||||
#define BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, Tag)
|
||||
|
||||
#endif // no SFINAE support
|
||||
|
||||
#endif // BOOST_GRAPH_OVERLOADING_HPP
|
||||
Reference in New Issue
Block a user