Sha256: eb73ceef984f44f24363250705fe71a04e0910d3355bb98a1dc733d9666e8a64
Contents?: true
Size: 1.22 KB
Versions: 6
Compression:
Stored size: 1.22 KB
Contents
// Copyright (c) 2017-2022 Dr. Colin Hirsch and Daniel Frey // Please see LICENSE for license or visit https://github.com/taocpp/json/ #ifndef TAO_JSON_BINARY_VIEW_HPP #define TAO_JSON_BINARY_VIEW_HPP #include "span.hpp" #include <algorithm> #include <cstddef> namespace tao { using binary_view = span< const std::byte >; template< typename T > [[nodiscard]] binary_view to_binary_view( const T* data, const std::size_t size ) noexcept { static_assert( sizeof( T ) == 1 ); return { reinterpret_cast< const std::byte* >( data ), size }; } template< typename T > [[nodiscard]] binary_view to_binary_view( const T& value ) noexcept { return tao::to_binary_view( std::data( value ), std::size( value ) ); } namespace internal { [[nodiscard]] inline bool binary_equal( const binary_view lhs, const binary_view rhs ) noexcept { return std::equal( lhs.begin(), lhs.end(), rhs.begin(), rhs.end() ); } [[nodiscard]] inline bool binary_less( const binary_view lhs, const binary_view rhs ) noexcept { return std::lexicographical_compare( lhs.begin(), lhs.end(), rhs.begin(), rhs.end() ); } } // namespace internal } // namespace tao #endif
Version data entries
6 entries across 6 versions & 1 rubygems