From a2dccfd6aea5fc272349d6e27b472a2071bf3077 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 16 Jul 2015 18:12:06 +0300 Subject: [PATCH 1/2] Add skeleton headers for things not yet implemented. --- include/boost/mp11.hpp | 3 +++ include/boost/mp11/algorithm.hpp | 2 ++ include/boost/mp11/function.hpp | 23 +++++++++++++++++++++++ include/boost/mp11/map.hpp | 22 ++++++++++++++++++++++ include/boost/mp11/set.hpp | 20 ++++++++++++++++++++ 5 files changed, 70 insertions(+) create mode 100644 include/boost/mp11/function.hpp create mode 100644 include/boost/mp11/map.hpp create mode 100644 include/boost/mp11/set.hpp diff --git a/include/boost/mp11.hpp b/include/boost/mp11.hpp index e623917..4060a3f 100644 --- a/include/boost/mp11.hpp +++ b/include/boost/mp11.hpp @@ -12,5 +12,8 @@ #include #include #include +#include +#include +#include #endif // #ifndef BOOST_MP11_HPP_INCLUDED diff --git a/include/boost/mp11/algorithm.hpp b/include/boost/mp11/algorithm.hpp index 3a4d8b8..c2cb64e 100644 --- a/include/boost/mp11/algorithm.hpp +++ b/include/boost/mp11/algorithm.hpp @@ -621,6 +621,8 @@ template class P> using mp_find_if = mp_drop // mp_fold // mp_reverse_fold +// mp_unique +// mp_remove } // namespace boost diff --git a/include/boost/mp11/function.hpp b/include/boost/mp11/function.hpp new file mode 100644 index 0000000..68d1494 --- /dev/null +++ b/include/boost/mp11/function.hpp @@ -0,0 +1,23 @@ +#ifndef BOOST_MP11_FUNCTION_HPP_INCLUDED +#define BOOST_MP11_FUNCTION_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// Distributed under 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 + +namespace boost +{ + +// mp_plus +// mp_not +// mp_all +// mp_and +// mp_any +// mp_or + +} // namespace boost + +#endif // #ifndef BOOST_MP11_FUNCTION_HPP_INCLUDED diff --git a/include/boost/mp11/map.hpp b/include/boost/mp11/map.hpp new file mode 100644 index 0000000..8c5afc3 --- /dev/null +++ b/include/boost/mp11/map.hpp @@ -0,0 +1,22 @@ +#ifndef BOOST_MP11_MAP_HPP_INCLUDED +#define BOOST_MP11_MAP_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// Distributed under 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 + +namespace boost +{ + +// mp_map_find +// mp_map_contains +// mp_map_insert +// mp_map_replace +// mp_map_update + +} // namespace boost + +#endif // #ifndef BOOST_MP11_MAP_HPP_INCLUDED diff --git a/include/boost/mp11/set.hpp b/include/boost/mp11/set.hpp new file mode 100644 index 0000000..faed816 --- /dev/null +++ b/include/boost/mp11/set.hpp @@ -0,0 +1,20 @@ +#ifndef BOOST_MP11_SET_HPP_INCLUDED +#define BOOST_MP11_SET_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// Distributed under 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 + +namespace boost +{ + +// mp_set_contains +// mp_set_push_back +// mp_set_push_front + +} // namespace boost + +#endif // #ifndef BOOST_MP11_SET_HPP_INCLUDED From b5d9b957097a14e0e0e1eecde83348f14819a1ab Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 23 Jul 2015 18:35:25 +0300 Subject: [PATCH 2/2] Extend msvc-12.0 workarounds to msvc-14.0 as needed. --- include/boost/mp11/algorithm.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/mp11/algorithm.hpp b/include/boost/mp11/algorithm.hpp index c2cb64e..b079624 100644 --- a/include/boost/mp11/algorithm.hpp +++ b/include/boost/mp11/algorithm.hpp @@ -76,7 +76,7 @@ template struct mp_fill_impl; template class L, class... T, class V> struct mp_fill_impl, V> { -#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 ) +#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1900 ) template struct _f { using type = V; }; using type = L::type...>; @@ -146,7 +146,7 @@ template class L, class... T, template class P> str template class L, class... T, template class P> struct mp_count_if_impl, P> { -#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 ) +#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1900 ) template struct _f { using type = mp_to_bool>; }; using type = mp_size_t::type...>::value>;