forked from Xeeynamo/sonic-hybrid-rsdk
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
1,755 additions
and
815 deletions.
There are no files selected for viewing
92 changes: 84 additions & 8 deletions
92
...n/sonic3air/build/_xcode/boost.framework/Versions/A/Headers/iterator/minimum_category.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,95 @@ | ||
// Copyright David Abrahams 2003. 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) | ||
#ifndef MINIMUM_CATEGORY_DWA20031119_HPP | ||
# define MINIMUM_CATEGORY_DWA20031119_HPP | ||
#ifndef BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ | ||
# define BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ | ||
|
||
# include <boost/iterator/minimum_category.hpp> | ||
# include <boost/static_assert.hpp> | ||
# include <boost/type_traits/is_convertible.hpp> | ||
# include <boost/type_traits/is_same.hpp> | ||
|
||
namespace boost { | ||
# include <boost/mpl/placeholders.hpp> | ||
# include <boost/mpl/aux_/lambda_support.hpp> | ||
|
||
// This import below (as well as the whole header) is for backward compatibility | ||
// with boost/token_iterator.hpp. It should be removed as soon as that header is fixed. | ||
namespace boost { | ||
namespace iterators { | ||
namespace detail { | ||
using iterators::minimum_category; | ||
|
||
template <bool GreaterEqual, bool LessEqual> | ||
struct minimum_category_impl; | ||
|
||
template <class T1, class T2> | ||
struct error_not_related_by_convertibility; | ||
|
||
template <> | ||
struct minimum_category_impl<true,false> | ||
{ | ||
template <class T1, class T2> struct apply | ||
{ | ||
typedef T2 type; | ||
}; | ||
}; | ||
|
||
template <> | ||
struct minimum_category_impl<false,true> | ||
{ | ||
template <class T1, class T2> struct apply | ||
{ | ||
typedef T1 type; | ||
}; | ||
}; | ||
|
||
template <> | ||
struct minimum_category_impl<true,true> | ||
{ | ||
template <class T1, class T2> struct apply | ||
{ | ||
BOOST_STATIC_ASSERT((is_same<T1,T2>::value)); | ||
typedef T1 type; | ||
}; | ||
}; | ||
|
||
template <> | ||
struct minimum_category_impl<false,false> | ||
{ | ||
template <class T1, class T2> struct apply | ||
: error_not_related_by_convertibility<T1,T2> | ||
{ | ||
}; | ||
}; | ||
|
||
} // namespace detail | ||
|
||
// | ||
// Returns the minimum category type or fails to compile | ||
// if T1 and T2 are unrelated. | ||
// | ||
template <class T1 = mpl::_1, class T2 = mpl::_2> | ||
struct minimum_category | ||
{ | ||
typedef boost::iterators::detail::minimum_category_impl< | ||
::boost::is_convertible<T1,T2>::value | ||
, ::boost::is_convertible<T2,T1>::value | ||
> outer; | ||
|
||
typedef typename outer::template apply<T1,T2> inner; | ||
typedef typename inner::type type; | ||
|
||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2)) | ||
}; | ||
|
||
template <> | ||
struct minimum_category<mpl::_1,mpl::_2> | ||
{ | ||
template <class T1, class T2> | ||
struct apply : minimum_category<T1,T2> | ||
{}; | ||
|
||
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2)) | ||
}; | ||
|
||
} // namespace iterators | ||
|
||
} // namespace boost | ||
|
||
#endif // MINIMUM_CATEGORY_DWA20031119_HPP | ||
#endif // BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.