rebind.hpp 851 B

1234567891011121314151617181920212223
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Copyright 2012 John Maddock.
  3. // Copyright Christopher Kormanyos 2013. Distributed under the Boost
  4. // Software License, Version 1.0. (See accompanying file
  5. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. //
  7. #ifndef BOOST_MP_DETAIL_REBIND_HPP
  8. #define BOOST_MP_DETAIL_REBIND_HPP
  9. namespace boost { namespace multiprecision { namespace backends { namespace detail {
  10. template <class value_type, class my_allocator>
  11. struct rebind
  12. {
  13. #ifndef BOOST_NO_CXX11_ALLOCATOR
  14. typedef typename std::allocator_traits<my_allocator>::template rebind_alloc<value_type> type;
  15. #else
  16. typedef typename my_allocator::template rebind<value_type>::other type;
  17. #endif
  18. };
  19. }}}} // namespace boost::multiprecision::backends::detail
  20. #endif // BOOST_MP_DETAIL_REBIND_HPP