1
0
forked from boostorg/mp11

Merge branch 'develop'

This commit is contained in:
Peter Dimov
2015-07-23 18:36:14 +03:00
5 changed files with 72 additions and 2 deletions

View File

@@ -12,5 +12,8 @@
#include <boost/mp11/algorithm.hpp> #include <boost/mp11/algorithm.hpp>
#include <boost/mp11/integral.hpp> #include <boost/mp11/integral.hpp>
#include <boost/mp11/utility.hpp> #include <boost/mp11/utility.hpp>
#include <boost/mp11/function.hpp>
#include <boost/mp11/map.hpp>
#include <boost/mp11/set.hpp>
#endif // #ifndef BOOST_MP11_HPP_INCLUDED #endif // #ifndef BOOST_MP11_HPP_INCLUDED

View File

@@ -76,7 +76,7 @@ template<class L, class V> struct mp_fill_impl;
template<template<class...> class L, class... T, class V> struct mp_fill_impl<L<T...>, V> template<template<class...> class L, class... T, class V> struct mp_fill_impl<L<T...>, V>
{ {
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 ) #if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1900 )
template<class...> struct _f { using type = V; }; template<class...> struct _f { using type = V; };
using type = L<typename _f<T>::type...>; using type = L<typename _f<T>::type...>;
@@ -146,7 +146,7 @@ template<template<class...> class L, class... T, template<class...> class P> str
template<template<class...> class L, class... T, template<class...> class P> struct mp_count_if_impl<L<T...>, P> template<template<class...> class L, class... T, template<class...> class P> struct mp_count_if_impl<L<T...>, P>
{ {
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1800 ) #if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1900 )
template<class T> struct _f { using type = mp_to_bool<P<T>>; }; template<class T> struct _f { using type = mp_to_bool<P<T>>; };
using type = mp_size_t<mp_plus<typename _f<T>::type...>::value>; using type = mp_size_t<mp_plus<typename _f<T>::type...>::value>;
@@ -621,6 +621,8 @@ template<class L, template<class...> class P> using mp_find_if = mp_drop<L, mp_f
// mp_reverse<L> // mp_reverse<L>
// mp_fold<L, V, F> // mp_fold<L, V, F>
// mp_reverse_fold<L, V, F> // mp_reverse_fold<L, V, F>
// mp_unique<L>
// mp_remove<L, V>
} // namespace boost } // namespace boost

View File

@@ -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<T...>
// mp_not<T>
// mp_all<T...>
// mp_and<T...>
// mp_any<T...>
// mp_or<T...>
} // namespace boost
#endif // #ifndef BOOST_MP11_FUNCTION_HPP_INCLUDED

View File

@@ -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<M, K>
// mp_map_contains<M, K>
// mp_map_insert<M, T>
// mp_map_replace<M, T>
// mp_map_update<M, T, F>
} // namespace boost
#endif // #ifndef BOOST_MP11_MAP_HPP_INCLUDED

View File

@@ -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<S, T>
// mp_set_push_back<S, T...>
// mp_set_push_front<S, T...>
} // namespace boost
#endif // #ifndef BOOST_MP11_SET_HPP_INCLUDED