updated boost on windows
This commit is contained in:
@@ -46,11 +46,12 @@ namespace boost {
|
||||
|
||||
|
||||
template <class Graph, class CostType>
|
||||
class astar_heuristic : public std::unary_function<
|
||||
typename graph_traits<Graph>::vertex_descriptor, CostType>
|
||||
class astar_heuristic
|
||||
{
|
||||
public:
|
||||
typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
|
||||
typedef Vertex argument_type;
|
||||
typedef CostType result_type;
|
||||
astar_heuristic() {}
|
||||
CostType operator()(Vertex u) { return static_cast<CostType>(0); }
|
||||
};
|
||||
@@ -325,7 +326,7 @@ namespace boost {
|
||||
bool decreased =
|
||||
relax(e, g, weight, predecessor, distance,
|
||||
combine, compare);
|
||||
Distance w_d = combine(get(distance, v), e_weight);
|
||||
combine(get(distance, v), e_weight);
|
||||
if (decreased) {
|
||||
vis.edge_relaxed(e, g);
|
||||
Distance w_rank = combine(get(distance, w), h(w));
|
||||
|
||||
@@ -289,7 +289,11 @@ namespace boost {
|
||||
// invalidation for add_edge() with EdgeList=vecS. Instead we
|
||||
// hold a pointer to the property. std::auto_ptr is not
|
||||
// a perfect fit for the job, but it is darn close.
|
||||
#ifdef BOOST_NO_AUTO_PTR
|
||||
std::unique_ptr<Property> m_property;
|
||||
#else
|
||||
std::auto_ptr<Property> m_property;
|
||||
#endif
|
||||
};
|
||||
#else
|
||||
template <class Vertex, class Property>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <iterator>
|
||||
#include <functional>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/iterator.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
|
||||
@@ -459,7 +459,7 @@ namespace detail {
|
||||
|
||||
edge_descriptor m_edge;
|
||||
|
||||
friend class iterator_core_access;
|
||||
friend class boost::iterator_core_access;
|
||||
};
|
||||
|
||||
template<typename CSRGraph>
|
||||
@@ -547,7 +547,7 @@ namespace detail {
|
||||
EdgeIndex m_index_in_backward_graph;
|
||||
const CSRGraph* m_graph;
|
||||
|
||||
friend class iterator_core_access;
|
||||
friend class boost::iterator_core_access;
|
||||
};
|
||||
|
||||
template <typename A, typename B>
|
||||
|
||||
@@ -82,8 +82,11 @@ namespace detail {
|
||||
// Similar to std::plus<T>, but maximizes parameters
|
||||
// rather than adding them.
|
||||
template <typename T>
|
||||
struct maximize : public std::binary_function<T, T, T>
|
||||
struct maximize
|
||||
{
|
||||
typedef T result_type;
|
||||
typedef T first_argument_type;
|
||||
typedef T second_argument_type;
|
||||
T operator ()(T x, T y) const
|
||||
{ BOOST_USING_STD_MAX(); return max BOOST_PREVENT_MACRO_SUBSTITUTION (x, y); }
|
||||
};
|
||||
@@ -93,11 +96,10 @@ namespace detail {
|
||||
// types, but should be specialized for those types that have
|
||||
// discrete notions of reciprocals.
|
||||
template <typename T>
|
||||
struct reciprocal : public std::unary_function<T, T>
|
||||
struct reciprocal
|
||||
{
|
||||
typedef std::unary_function<T, T> function_type;
|
||||
typedef typename function_type::result_type result_type;
|
||||
typedef typename function_type::argument_type argument_type;
|
||||
typedef T result_type;
|
||||
typedef T argument_type;
|
||||
T operator ()(T t)
|
||||
{ return T(1) / t; }
|
||||
};
|
||||
|
||||
@@ -228,6 +228,7 @@ BOOST_BGL_DECLARE_NAMED_PARAMS
|
||||
};
|
||||
|
||||
struct param_not_found {};
|
||||
static param_not_found g_param_not_found;
|
||||
|
||||
template <typename Tag, typename Args>
|
||||
struct get_param_type:
|
||||
@@ -237,7 +238,7 @@ BOOST_BGL_DECLARE_NAMED_PARAMS
|
||||
inline
|
||||
const typename lookup_named_param_def<Tag, Args, param_not_found>::type&
|
||||
get_param(const Args& p, Tag) {
|
||||
return lookup_named_param_def<Tag, Args, param_not_found>::get(p, param_not_found());
|
||||
return lookup_named_param_def<Tag, Args, param_not_found>::get(p, g_param_not_found);
|
||||
}
|
||||
|
||||
template <class P, class Default>
|
||||
|
||||
@@ -46,6 +46,8 @@ extern "C" {
|
||||
#include <gb_books.h> /* graphs based on literature */
|
||||
#include <gb_econ.h> /* graphs based on economic data */
|
||||
#include <gb_games.h> /* graphs based on football scores */
|
||||
#undef ap /* avoid name clash with BGL parameter */
|
||||
// ap ==> Vertex::u.I
|
||||
#include <gb_gates.h> /* graphs based on logic circuits */
|
||||
#undef val /* avoid name clash with g++ headerfile stl_tempbuf.h */
|
||||
// val ==> Vertex::x.I
|
||||
@@ -92,6 +94,9 @@ namespace boost {
|
||||
typedef directed_tag directed_category;
|
||||
typedef sgb_traversal_tag traversal_category;
|
||||
typedef allow_parallel_edge_tag edge_parallel_category;
|
||||
/** Return a null descriptor */
|
||||
static vertex_descriptor null_vertex()
|
||||
{ return NULL; }
|
||||
};
|
||||
template <> struct graph_traits<sgb_const_graph_ptr> {
|
||||
typedef Vertex* vertex_descriptor;
|
||||
@@ -107,6 +112,9 @@ namespace boost {
|
||||
typedef directed_tag directed_category;
|
||||
typedef sgb_traversal_tag traversal_category;
|
||||
typedef allow_parallel_edge_tag edge_parallel_category;
|
||||
/** Return a null descriptor */
|
||||
static vertex_descriptor null_vertex()
|
||||
{ return NULL; }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +41,9 @@ namespace boost
|
||||
{
|
||||
template < typename TheContainer, typename ST = std::size_t,
|
||||
typename VT = typename TheContainer::value_type >
|
||||
struct subscript_t:public std::unary_function < ST, VT >
|
||||
struct subscript_t
|
||||
{
|
||||
typedef ST argument_type;
|
||||
typedef VT& result_type;
|
||||
|
||||
subscript_t(TheContainer & c):container(&c)
|
||||
|
||||
Reference in New Issue
Block a user