summaryrefslogtreecommitdiff
path: root/boost/geometry/util/compress_variant.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/util/compress_variant.hpp')
-rw-r--r--boost/geometry/util/compress_variant.hpp44
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;