diff options
Diffstat (limited to '3rdParty/Boost/boost/range/detail/remove_extent.hpp')
m--------- | 3rdParty/Boost | 0 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/range/detail/remove_extent.hpp | 157 |
2 files changed, 0 insertions, 157 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/range/detail/remove_extent.hpp b/3rdParty/Boost/boost/range/detail/remove_extent.hpp deleted file mode 100644 index 68e4597..0000000 --- a/3rdParty/Boost/boost/range/detail/remove_extent.hpp +++ /dev/null @@ -1,157 +0,0 @@ -// Boost.Range library -// -// Copyright Jonathan Turkanis 2005. Use, modification and -// distribution is subject to 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) -// -// For more information, see http://www.boost.org/libs/range/ -// - - -#ifndef BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP -#define BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP - -#include <boost/config.hpp> // MSVC, NO_INTRINSIC_WCHAR_T, put size_t in std. -#include <cstddef> -#include <boost/mpl/eval_if.hpp> -#include <boost/mpl/identity.hpp> -#include <boost/type_traits/is_same.hpp> - -namespace boost -{ - namespace range_detail - { - - template< typename Case1 = mpl::true_, - typename Type1 = mpl::void_, - typename Case2 = mpl::true_, - typename Type2 = mpl::void_, - typename Case3 = mpl::true_, - typename Type3 = mpl::void_, - typename Case4 = mpl::true_, - typename Type4 = mpl::void_, - typename Case5 = mpl::true_, - typename Type5 = mpl::void_, - typename Case6 = mpl::true_, - typename Type6 = mpl::void_, - typename Case7 = mpl::true_, - typename Type7 = mpl::void_, - typename Case8 = mpl::true_, - typename Type8 = mpl::void_, - typename Case9 = mpl::true_, - typename Type9 = mpl::void_, - typename Case10 = mpl::true_, - typename Type10 = mpl::void_, - typename Case11 = mpl::true_, - typename Type11 = mpl::void_, - typename Case12 = mpl::true_, - typename Type12 = mpl::void_, - typename Case13 = mpl::true_, - typename Type13 = mpl::void_, - typename Case14 = mpl::true_, - typename Type14 = mpl::void_, - typename Case15 = mpl::true_, - typename Type15 = mpl::void_, - typename Case16 = mpl::true_, - typename Type16 = mpl::void_, - typename Case17 = mpl::true_, - typename Type17 = mpl::void_, - typename Case18 = mpl::true_, - typename Type18 = mpl::void_, - typename Case19 = mpl::true_, - typename Type19 = mpl::void_, - typename Case20 = mpl::true_, - typename Type20 = mpl::void_> - struct select { - typedef typename - mpl::eval_if< - Case1, mpl::identity<Type1>, mpl::eval_if< - Case2, mpl::identity<Type2>, mpl::eval_if< - Case3, mpl::identity<Type3>, mpl::eval_if< - Case4, mpl::identity<Type4>, mpl::eval_if< - Case5, mpl::identity<Type5>, mpl::eval_if< - Case6, mpl::identity<Type6>, mpl::eval_if< - Case7, mpl::identity<Type7>, mpl::eval_if< - Case8, mpl::identity<Type8>, mpl::eval_if< - Case9, mpl::identity<Type9>, mpl::if_< - Case10, Type10, mpl::void_ > > > > > > > > > - >::type result1; - typedef typename - mpl::eval_if< - Case11, mpl::identity<Type11>, mpl::eval_if< - Case12, mpl::identity<Type12>, mpl::eval_if< - Case13, mpl::identity<Type13>, mpl::eval_if< - Case14, mpl::identity<Type14>, mpl::eval_if< - Case15, mpl::identity<Type15>, mpl::eval_if< - Case16, mpl::identity<Type16>, mpl::eval_if< - Case17, mpl::identity<Type17>, mpl::eval_if< - Case18, mpl::identity<Type18>, mpl::eval_if< - Case19, mpl::identity<Type19>, mpl::if_< - Case20, Type20, mpl::void_ > > > > > > > > > - > result2; - typedef typename - mpl::eval_if< - is_same<result1, mpl::void_>, - result2, - mpl::identity<result1> - >::type type; - }; - - template<typename T> - struct remove_extent { - static T* ar; - BOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0])); - - typedef typename - select< - is_same<T, bool[size]>, bool, - is_same<T, char[size]>, char, - is_same<T, signed char[size]>, signed char, - is_same<T, unsigned char[size]>, unsigned char, - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - is_same<T, wchar_t[size]>, wchar_t, - #endif - is_same<T, short[size]>, short, - is_same<T, unsigned short[size]>, unsigned short, - is_same<T, int[size]>, int, - is_same<T, unsigned int[size]>, unsigned int, - is_same<T, long[size]>, long, - is_same<T, unsigned long[size]>, unsigned long, - is_same<T, float[size]>, float, - is_same<T, double[size]>, double, - is_same<T, long double[size]>, long double - >::type result1; - typedef typename - select< - is_same<T, const bool[size]>, const bool, - is_same<T, const char[size]>, const char, - is_same<T, const signed char[size]>, const signed char, - is_same<T, const unsigned char[size]>, const unsigned char, - #ifndef BOOST_NO_INTRINSIC_WCHAR_T - is_same<T, const wchar_t[size]>, const wchar_t, - #endif - is_same<T, const short[size]>, const short, - is_same<T, const unsigned short[size]>, const unsigned short, - is_same<T, const int[size]>, const int, - is_same<T, const unsigned int[size]>, const unsigned int, - is_same<T, const long[size]>, const long, - is_same<T, const unsigned long[size]>, const unsigned long, - is_same<T, const float[size]>, const float, - is_same<T, const double[size]>, const double, - is_same<T, const long double[size]>, const long double - > result2; - typedef typename - mpl::eval_if< - is_same<result1, mpl::void_>, - result2, - mpl::identity<result1> - >::type type; - }; - - } // namespace 'range_detail' - -} // namespace 'boost' - - -#endif |