Sha256: 0c8df69b7bc21a3dea651a141772422f328f67026b4fe96ecf1877db0a7ebab7
Contents?: true
Size: 1.2 KB
Versions: 24
Compression:
Stored size: 1.2 KB
Contents
// Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey // Please see LICENSE for license or visit https://github.com/taocpp/json/ #ifndef TAO_JSON_MESSAGE_EXTENSION_HPP #define TAO_JSON_MESSAGE_EXTENSION_HPP #include <ostream> #include <string> namespace tao::json { template< typename T, typename = void > struct message_extension { const T& m_v; explicit message_extension( const T& v ) noexcept : m_v( v ) {} friend std::ostream& operator<<( std::ostream& os, const message_extension& /*unused*/ ) noexcept { return os; } }; template< typename T > struct message_extension< T, decltype( std::declval< const T& >().public_base().append_message_extension( std::declval< std::ostream& >() ), void() ) > { const T& m_v; explicit message_extension( const T& v ) noexcept : m_v( v ) {} friend std::ostream& operator<<( std::ostream& os, const message_extension& v ) { os << ' '; v.m_v.public_base().append_message_extension( os ); return os; } }; template< typename T > message_extension( const T& )->message_extension< T >; } // namespace tao::json #endif
Version data entries
24 entries across 24 versions & 1 rubygems