diff options
Diffstat (limited to 'boost/geometry/util/compress_variant.hpp')
-rw-r--r-- | boost/geometry/util/compress_variant.hpp | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/boost/geometry/util/compress_variant.hpp b/boost/geometry/util/compress_variant.hpp index a94cf28894..363385965d 100644 --- a/boost/geometry/util/compress_variant.hpp +++ b/boost/geometry/util/compress_variant.hpp @@ -1,8 +1,13 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. +// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. + +// This file was modified by Oracle on 2015. +// Modifications copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. @@ -36,28 +41,31 @@ namespace detail template <typename Variant> struct unique_types: - mpl::fold< - typename mpl::reverse_fold< + boost::mpl::fold< + typename boost::mpl::reverse_fold< typename Variant::types, - mpl::set<>, - mpl::insert< - mpl::placeholders::_1, - mpl::placeholders::_2 + boost::mpl::set<>, + boost::mpl::insert< + boost::mpl::placeholders::_1, + boost::mpl::placeholders::_2 > >::type, - mpl::vector<>, - mpl::push_back<mpl::placeholders::_1, mpl::placeholders::_2> + boost::mpl::vector<>, + boost::mpl::push_back + < + boost::mpl::placeholders::_1, boost::mpl::placeholders::_2 + > > {}; template <typename Types> struct variant_or_single: - mpl::if_< - mpl::equal_to< - mpl::size<Types>, - mpl::int_<1> + boost::mpl::if_< + boost::mpl::equal_to< + boost::mpl::size<Types>, + boost::mpl::int_<1> >, - typename mpl::front<Types>::type, + typename boost::mpl::front<Types>::type, typename make_variant_over<Types>::type > {}; @@ -75,8 +83,8 @@ struct variant_or_single: \code typedef variant<int, float, int, long> variant_type; typedef compress_variant<variant_type>::type compressed; - typedef mpl::vector<int, float, long> result_types; - BOOST_MPL_ASSERT(( mpl::equal<compressed::types, result_types> )); + typedef boost::mpl::vector<int, float, long> result_types; + BOOST_MPL_ASSERT(( boost::mpl::equal<compressed::types, result_types> )); typedef variant<int, int, int> one_type_variant_type; typedef compress_variant<one_type_variant_type>::type single_type; |