Updated Boost libraries to version 1.49, and recompiled them with NDK r8d

This commit is contained in:
pelya
2013-01-05 20:34:39 +02:00
parent 1c1e8f84ad
commit ebebac16b6
3885 changed files with 464519 additions and 52852 deletions
@@ -25,13 +25,23 @@
#endif // BOOST_NO_SFINAE
#include <boost/assert.hpp>
#include <boost/static_assert.hpp>
#include <boost/type_traits/is_void.hpp>
#include <functional>
namespace boost
{
namespace ptr_container_detail
{
template <typename Type, typename Dummy>
struct make_lazy
{
typedef typename Type::type type;
};
}
template
<
class Fun
@@ -53,7 +63,7 @@ namespace boost
#ifdef BOOST_NO_SFINAE
Result
#else
BOOST_DEDUCED_TYPENAME result_of< Fun( BOOST_DEDUCED_TYPENAME pointee<T>::type& ) >::type
typename boost::result_of< const Fun( typename pointee<T>::type& ) >::type
#endif
operator()( const T& r ) const
{
@@ -64,8 +74,8 @@ namespace boost
#ifdef BOOST_NO_SFINAE
Result
#else
BOOST_DEDUCED_TYPENAME result_of< Fun( BOOST_DEDUCED_TYPENAME pointee<T>::type&,
BOOST_DEDUCED_TYPENAME pointee<U>::type& ) >::type
typename boost::result_of< const Fun( typename pointee<T>::type&,
typename pointee<U>::type& ) >::type
#endif
operator()( const T& r, const U& r2 ) const
{
@@ -92,6 +102,7 @@ namespace boost
class void_ptr_indirect_fun
{
Fun fun;
public:
void_ptr_indirect_fun() : fun(Fun())
@@ -99,24 +110,31 @@ namespace boost
void_ptr_indirect_fun( Fun f ) : fun(f)
{ }
template< class Void >
#ifdef BOOST_NO_SFINAE
Result
#else
BOOST_DEDUCED_TYPENAME result_of< Fun( Arg1& ) >::type
typename ptr_container_detail::make_lazy<
boost::result_of<const Fun(const Arg1&)>, Void>::type
#endif
operator()( const void* r ) const
operator()( const Void* r ) const
{
BOOST_STATIC_ASSERT(boost::is_void<Void>::value);
BOOST_ASSERT( r != 0 );
return fun( * static_cast<const Arg1*>( r ) );
}
template< class Void >
#ifdef BOOST_NO_SFINAE
Result
#else
BOOST_DEDUCED_TYPENAME result_of< Fun( Arg1&, Arg2& ) >::type
typename ptr_container_detail::make_lazy<
boost::result_of<const Fun(const Arg1&, const Arg2&)>, Void>::type
#endif
operator()( const void* l, const void* r ) const
operator()( const Void* l, const Void* r ) const
{
BOOST_STATIC_ASSERT(boost::is_void<Void>::value);
BOOST_ASSERT( l != 0 && r != 0 );
return fun( * static_cast<const Arg1*>( l ), * static_cast<const Arg2*>( r ) );
}