std_pair.hpp 984 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // boost/endian/std_pair.hpp ---------------------------------------------------------//
  2. // Copyright Beman Dawes 2013
  3. // Distributed under the Boost Software License, Version 1.0.
  4. // http://www.boost.org/LICENSE_1_0.txt
  5. //--------------------------------------------------------------------------------------//
  6. #ifndef BOOST_ENDIAN_STD_PAIR_HPP
  7. #define BOOST_ENDIAN_STD_PAIR_HPP
  8. #include <boost/endian/conversion.hpp>
  9. #include <utility>
  10. namespace boost
  11. {
  12. namespace endian
  13. {
  14. template <class ReversibleValueT, class ReversibleValueU>
  15. std::pair<ReversibleValueT, ReversibleValueU>
  16. reverse_value(std::pair<ReversibleValueT, ReversibleValueU> x)
  17. {
  18. return std::pair<ReversibleValueT, ReversibleValueU>(reverse_value(x.first),
  19. reverse_value(x.second));
  20. }
  21. template <class ReversibleT, class ReversibleU>
  22. void reverse(std::pair<ReversibleT, ReversibleU>& x)
  23. {
  24. reverse(x.first);
  25. reverse(x.second);
  26. }
  27. }
  28. }
  29. #endif // BOOST_ENDIAN_STD_PAIR_HPP