From 0f19e06a51a06ff6509482951ba40b7cf0620eb2 Mon Sep 17 00:00:00 2001 From: Daniel Frey Date: Fri, 28 Apr 2023 18:08:30 +0200 Subject: [PATCH] clang-tidy --- include/tao/json/binding/versions.hpp | 4 +-- include/tao/json/cbor/events/to_stream.hpp | 4 +-- include/tao/json/contrib/schema.hpp | 4 +-- .../tao/json/contrib/vector_bool_traits.hpp | 4 +-- include/tao/json/events/hash.hpp | 4 +-- include/tao/json/events/prefer_signed.hpp | 2 +- include/tao/json/events/prefer_unsigned.hpp | 2 +- include/tao/json/events/to_stream.hpp | 5 ++-- include/tao/json/events/transformer.hpp | 2 +- include/tao/json/internal/action.hpp | 4 +-- include/tao/json/internal/endian_gcc.hpp | 12 ++++---- include/tao/json/internal/escape.hpp | 2 +- include/tao/json/internal/uri_fragment.hpp | 2 +- .../tao/json/jaxn/events/to_pretty_stream.hpp | 2 +- include/tao/json/jaxn/events/to_stream.hpp | 2 +- include/tao/json/jaxn/internal/action.hpp | 4 +-- .../json/jaxn/internal/bunescape_action.hpp | 22 +++++++-------- include/tao/json/jaxn/internal/integer.hpp | 2 +- include/tao/json/msgpack/events/to_stream.hpp | 20 ++++++------- include/tao/json/msgpack/internal/grammar.hpp | 26 ++++++++--------- include/tao/json/msgpack/parts_parser.hpp | 22 +++++++-------- include/tao/json/parts_parser.hpp | 4 +-- include/tao/json/ubjson/events/to_stream.hpp | 28 +++++++++---------- include/tao/json/ubjson/internal/grammar.hpp | 13 ++++----- include/tao/json/ubjson/parts_parser.hpp | 2 +- 25 files changed, 96 insertions(+), 102 deletions(-) diff --git a/include/tao/json/binding/versions.hpp b/include/tao/json/binding/versions.hpp index dc344614..7d21c958 100644 --- a/include/tao/json/binding/versions.hpp +++ b/include/tao/json/binding/versions.hpp @@ -54,7 +54,7 @@ namespace tao::json::binding else { static_assert( std::is_void_v< V >, "neither V::to() nor V::as() found" ); } - return std::exception_ptr(); + return {}; } catch( ... ) { return std::current_exception(); @@ -96,7 +96,7 @@ namespace tao::json::binding auto m = parser.mark(); V::template consume< Traits >( parser, x ); (void)m( true ); - return std::exception_ptr(); + return {}; } catch( ... ) { return std::current_exception(); diff --git a/include/tao/json/cbor/events/to_stream.hpp b/include/tao/json/cbor/events/to_stream.hpp index 378243ae..a3ce8a22 100644 --- a/include/tao/json/cbor/events/to_stream.hpp +++ b/include/tao/json/cbor/events/to_stream.hpp @@ -95,13 +95,13 @@ namespace tao::json::cbor::events void string( const std::string_view v ) { number( internal::major::STRING, v.size() ); - os.write( v.data(), v.size() ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } void binary( const tao::binary_view v ) { number( internal::major::BINARY, v.size() ); - os.write( reinterpret_cast< const char* >( v.data() ), v.size() ); + os.write( reinterpret_cast< const char* >( v.data() ), static_cast< std::streamsize >( v.size() ) ); } void begin_array() diff --git a/include/tao/json/contrib/schema.hpp b/include/tao/json/contrib/schema.hpp index bd7ad81c..4c82cb1d 100644 --- a/include/tao/json/contrib/schema.hpp +++ b/include/tao/json/contrib/schema.hpp @@ -1015,7 +1015,7 @@ namespace tao::json } break; case HAS_MULTIPLE_OF_DOUBLE: - if( !is_multiple_of( double( v ), m_node->m_multiple_of.d ) ) { + if( !is_multiple_of( static_cast< double >( v ), m_node->m_multiple_of.d ) ) { m_match = false; } break; @@ -1031,7 +1031,7 @@ namespace tao::json } break; case HAS_MULTIPLE_OF_DOUBLE: - if( !is_multiple_of( double( v ), m_node->m_multiple_of.d ) ) { + if( !is_multiple_of( static_cast< double >( v ), m_node->m_multiple_of.d ) ) { m_match = false; } break; diff --git a/include/tao/json/contrib/vector_bool_traits.hpp b/include/tao/json/contrib/vector_bool_traits.hpp index 80ed61bc..692dbe5c 100644 --- a/include/tao/json/contrib/vector_bool_traits.hpp +++ b/include/tao/json/contrib/vector_bool_traits.hpp @@ -22,7 +22,7 @@ namespace tao::json v.emplace_array(); v.get_array().reserve( o.size() ); for( const auto e : o ) { - v.emplace_back( bool( e ) ); + v.emplace_back( static_cast< bool >( e ) ); } } @@ -31,7 +31,7 @@ namespace tao::json { c.begin_array( o.size() ); for( const auto i : o ) { - json::events::produce< Traits >( c, bool( i ) ); + json::events::produce< Traits >( c, static_cast< bool >( i ) ); c.element(); } c.end_array( o.size() ); diff --git a/include/tao/json/events/hash.hpp b/include/tao/json/events/hash.hpp index 149f5e63..fac0e485 100644 --- a/include/tao/json/events/hash.hpp +++ b/include/tao/json/events/hash.hpp @@ -88,14 +88,14 @@ namespace tao::json::events { if( v >= 0 ) { const auto u = static_cast< std::uint64_t >( v ); - if( u == v ) { + if( static_cast< double >( u ) == v ) { number( u ); return; } } else { const auto i = static_cast< std::int64_t >( v ); - if( i == v ) { + if( static_cast< double >( i ) == v ) { number( i ); return; } diff --git a/include/tao/json/events/prefer_signed.hpp b/include/tao/json/events/prefer_signed.hpp index 39d3398a..8cc07942 100644 --- a/include/tao/json/events/prefer_signed.hpp +++ b/include/tao/json/events/prefer_signed.hpp @@ -19,7 +19,7 @@ namespace tao::json::events void number( const std::uint64_t v ) { if( v <= 9223372036854775807ULL ) { - Consumer::number( std::int64_t( v ) ); + Consumer::number( static_cast< std::int64_t >( v ) ); } else { Consumer::number( v ); diff --git a/include/tao/json/events/prefer_unsigned.hpp b/include/tao/json/events/prefer_unsigned.hpp index 21362477..b458bc43 100644 --- a/include/tao/json/events/prefer_unsigned.hpp +++ b/include/tao/json/events/prefer_unsigned.hpp @@ -19,7 +19,7 @@ namespace tao::json::events void number( const std::int64_t v ) { if( v >= 0 ) { - Consumer::number( std::uint64_t( v ) ); + Consumer::number( static_cast< std::uint64_t >( v ) ); } else { Consumer::number( v ); diff --git a/include/tao/json/events/to_stream.hpp b/include/tao/json/events/to_stream.hpp index e212fcb7..6e729dc9 100644 --- a/include/tao/json/events/to_stream.hpp +++ b/include/tao/json/events/to_stream.hpp @@ -27,7 +27,7 @@ namespace tao::json::events { protected: std::ostream& os; - bool first; + bool first = true; void next() { @@ -38,8 +38,7 @@ namespace tao::json::events public: explicit to_stream( std::ostream& in_os ) noexcept - : os( in_os ), - first( true ) + : os( in_os ) {} void null() diff --git a/include/tao/json/events/transformer.hpp b/include/tao/json/events/transformer.hpp index c8971bf9..ddf72480 100644 --- a/include/tao/json/events/transformer.hpp +++ b/include/tao/json/events/transformer.hpp @@ -33,7 +33,7 @@ namespace tao::json T, decltype( std::declval< T< B > >().null(), std::declval< T< B > >().boolean( true ), - std::declval< T< B > >().number( double( 0.0 ) ), + std::declval< T< B > >().number( static_cast< double >( 0.0 ) ), std::declval< T< B > >().string( "" ), std::declval< T< B > >().element(), std::declval< T< B > >().member(), diff --git a/include/tao/json/internal/action.hpp b/include/tao/json/internal/action.hpp index 4397dc4f..35becf8e 100644 --- a/include/tao/json/internal/action.hpp +++ b/include/tao/json/internal/action.hpp @@ -119,7 +119,7 @@ namespace tao::json::internal template< typename Consumer > static void apply0( Consumer& consumer ) { - consumer.number( std::uint64_t( 0 ) ); + consumer.number( static_cast< std::uint64_t >( 0 ) ); } }; @@ -129,7 +129,7 @@ namespace tao::json::internal template< typename Consumer > static void apply0( Consumer& consumer ) { - consumer.number( std::int64_t( 0 ) ); + consumer.number( static_cast< std::int64_t >( 0 ) ); } }; diff --git a/include/tao/json/internal/endian_gcc.hpp b/include/tao/json/internal/endian_gcc.hpp index 7081f878..a0b7d3e5 100644 --- a/include/tao/json/internal/endian_gcc.hpp +++ b/include/tao/json/internal/endian_gcc.hpp @@ -45,7 +45,7 @@ namespace tao::json::internal { [[nodiscard]] static std::int16_t convert( const std::int16_t n ) noexcept { - return __builtin_bswap16( n ); + return static_cast< std::int16_t >( __builtin_bswap16( n ) ); } [[nodiscard]] static std::uint16_t convert( const std::uint16_t n ) noexcept @@ -68,7 +68,7 @@ namespace tao::json::internal [[nodiscard]] static std::int32_t convert( const std::int32_t n ) noexcept { - return __builtin_bswap32( n ); + return static_cast< std::int32_t >( __builtin_bswap32( n ) ); } [[nodiscard]] static std::uint32_t convert( const std::uint32_t n ) noexcept @@ -91,7 +91,7 @@ namespace tao::json::internal [[nodiscard]] static std::int64_t convert( const std::int64_t n ) noexcept { - return __builtin_bswap64( n ); + return static_cast< std::int64_t >( __builtin_bswap64( n ) ); } [[nodiscard]] static std::uint64_t convert( const std::uint64_t n ) noexcept @@ -134,7 +134,7 @@ namespace tao::json::internal { [[nodiscard]] static std::int16_t convert( const std::int16_t n ) noexcept { - return __builtin_bswap16( n ); + return static_cast< std::int16_t >( __builtin_bswap16( n ) ); } [[nodiscard]] static std::uint16_t convert( const std::uint16_t n ) noexcept @@ -157,7 +157,7 @@ namespace tao::json::internal [[nodiscard]] static std::int32_t convert( const std::int32_t n ) noexcept { - return __builtin_bswap32( n ); + return static_cast< std::int32_t >( __builtin_bswap32( n ) ); } [[nodiscard]] static std::uint32_t convert( const std::uint32_t n ) noexcept @@ -180,7 +180,7 @@ namespace tao::json::internal [[nodiscard]] static std::uint64_t convert( const std::uint64_t n ) noexcept { - return __builtin_bswap64( n ); + return static_cast< std::int64_t >( __builtin_bswap64( n ) ); } [[nodiscard]] static std::int64_t convert( const std::int64_t n ) noexcept diff --git a/include/tao/json/internal/escape.hpp b/include/tao/json/internal/escape.hpp index f999331f..344db425 100644 --- a/include/tao/json/internal/escape.hpp +++ b/include/tao/json/internal/escape.hpp @@ -25,7 +25,7 @@ namespace tao::json::internal os.write( l, p - l ); l = ++p; os.put( '\\' ); - os.put( c ); + os.put( static_cast< char >( c ) ); } else if( c < 32 || c == 127 ) { os.write( l, p - l ); diff --git a/include/tao/json/internal/uri_fragment.hpp b/include/tao/json/internal/uri_fragment.hpp index b7cfb3f6..cf071323 100644 --- a/include/tao/json/internal/uri_fragment.hpp +++ b/include/tao/json/internal/uri_fragment.hpp @@ -158,7 +158,7 @@ namespace tao::json::internal break; default: if( allowed_uri_fragment_characters[ c ] ) { - result += c; + result += static_cast< char >( c ); } else { result += '%'; diff --git a/include/tao/json/jaxn/events/to_pretty_stream.hpp b/include/tao/json/jaxn/events/to_pretty_stream.hpp index 424d211f..6498dfe8 100644 --- a/include/tao/json/jaxn/events/to_pretty_stream.hpp +++ b/include/tao/json/jaxn/events/to_pretty_stream.hpp @@ -53,7 +53,7 @@ namespace tao::json::jaxn::events { if( jaxn::is_identifier( v ) ) { next(); - os.write( v.data(), v.size() ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } else { string( v ); diff --git a/include/tao/json/jaxn/events/to_stream.hpp b/include/tao/json/jaxn/events/to_stream.hpp index b2825ea9..94298af6 100644 --- a/include/tao/json/jaxn/events/to_stream.hpp +++ b/include/tao/json/jaxn/events/to_stream.hpp @@ -45,7 +45,7 @@ namespace tao::json::jaxn::events { if( jaxn::is_identifier( v ) ) { next(); - os.write( v.data(), v.size() ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } else { string( v ); diff --git a/include/tao/json/jaxn/internal/action.hpp b/include/tao/json/jaxn/internal/action.hpp index eb4c0151..1d1218d9 100644 --- a/include/tao/json/jaxn/internal/action.hpp +++ b/include/tao/json/jaxn/internal/action.hpp @@ -165,7 +165,7 @@ namespace tao::json::jaxn::internal template< typename Consumer > static void apply0( Consumer& consumer ) { - consumer.number( std::uint64_t( 0 ) ); + consumer.number( static_cast< std::uint64_t >( 0 ) ); } }; @@ -175,7 +175,7 @@ namespace tao::json::jaxn::internal template< typename Consumer > static void apply0( Consumer& consumer ) { - consumer.number( std::int64_t( 0 ) ); + consumer.number( static_cast< std::int64_t >( 0 ) ); } }; diff --git a/include/tao/json/jaxn/internal/bunescape_action.hpp b/include/tao/json/jaxn/internal/bunescape_action.hpp index c752f71e..b348ec95 100644 --- a/include/tao/json/jaxn/internal/bunescape_action.hpp +++ b/include/tao/json/jaxn/internal/bunescape_action.hpp @@ -28,47 +28,47 @@ namespace tao::json::jaxn::internal { switch( *in.begin() ) { case '"': - value.push_back( std::byte( '"' ) ); + value.push_back( static_cast< std::byte >( '"' ) ); break; case '\'': - value.push_back( std::byte( '\'' ) ); + value.push_back( static_cast< std::byte >( '\'' ) ); break; case '\\': - value.push_back( std::byte( '\\' ) ); + value.push_back( static_cast< std::byte >( '\\' ) ); break; case '/': - value.push_back( std::byte( '/' ) ); + value.push_back( static_cast< std::byte >( '/' ) ); break; case 'b': - value.push_back( std::byte( '\b' ) ); + value.push_back( static_cast< std::byte >( '\b' ) ); break; case 'f': - value.push_back( std::byte( '\f' ) ); + value.push_back( static_cast< std::byte >( '\f' ) ); break; case 'n': - value.push_back( std::byte( '\n' ) ); + value.push_back( static_cast< std::byte >( '\n' ) ); break; case 'r': - value.push_back( std::byte( '\r' ) ); + value.push_back( static_cast< std::byte >( '\r' ) ); break; case 't': - value.push_back( std::byte( '\t' ) ); + value.push_back( static_cast< std::byte >( '\t' ) ); break; case 'v': - value.push_back( std::byte( '\v' ) ); + value.push_back( static_cast< std::byte >( '\v' ) ); break; case '0': - value.push_back( std::byte( '\0' ) ); + value.push_back( static_cast< std::byte >( '\0' ) ); break; default: diff --git a/include/tao/json/jaxn/internal/integer.hpp b/include/tao/json/jaxn/internal/integer.hpp index 1ef5b7b4..ae13f449 100644 --- a/include/tao/json/jaxn/internal/integer.hpp +++ b/include/tao/json/jaxn/internal/integer.hpp @@ -119,7 +119,7 @@ namespace tao::json::jaxn::internal::integer if( input[ 0 ] == '-' ) { return convert_hex_negative< Signed >( result, std::string_view( input.data() + 3, input.size() - 3 ) ); } - const auto offset = unsigned( input[ 0 ] == '+' ) + 2; // The "0x" prefix has length 2. + const auto offset = static_cast< unsigned >( input[ 0 ] == '+' ) + 2; // The "0x" prefix has length 2. return convert_hex_positive< Signed >( result, std::string_view( input.data() + offset, input.size() - offset ) ); } diff --git a/include/tao/json/msgpack/events/to_stream.hpp b/include/tao/json/msgpack/events/to_stream.hpp index fb446068..dc191d0b 100644 --- a/include/tao/json/msgpack/events/to_stream.hpp +++ b/include/tao/json/msgpack/events/to_stream.hpp @@ -35,19 +35,19 @@ namespace tao::json::msgpack::events void null() { - os.put( char( 0xc0 ) ); + os.put( static_cast< char >( 0xc0 ) ); } void boolean( const bool v ) { - os.put( char( 0xc2 ) + char( v ) ); + os.put( static_cast< char >( 0xc2 ) + static_cast< char >( v ) ); } template< typename Integer > void number_impl( const unsigned char tag, const std::uint64_t v ) { - os.put( char( tag ) ); - const Integer x = json::internal::h_to_be( Integer( v ) ); + os.put( static_cast< char >( tag ) ); + const Integer x = json::internal::h_to_be( static_cast< Integer >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } @@ -93,7 +93,7 @@ namespace tao::json::msgpack::events void number( const double v ) { - os.put( char( 0xcb ) ); + os.put( static_cast< char >( 0xcb ) ); const auto x = json::internal::h_to_be( v ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } @@ -101,7 +101,7 @@ namespace tao::json::msgpack::events void string( const std::string_view v ) { if( v.size() <= 31 ) { - os.put( char( v.size() + 0xa0 ) ); + os.put( static_cast< char >( v.size() + 0xa0 ) ); } else if( v.size() <= 255 ) { number_impl< std::uint8_t >( 0xd9, v.size() ); @@ -115,7 +115,7 @@ namespace tao::json::msgpack::events else { throw std::runtime_error( "string too long for msgpack" ); } - os.write( v.data(), v.size() ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } void binary( const tao::binary_view v ) @@ -132,7 +132,7 @@ namespace tao::json::msgpack::events else { throw std::runtime_error( "binary too long for msgpack" ); } - os.write( reinterpret_cast< const char* >( v.data() ), v.size() ); + os.write( reinterpret_cast< const char* >( v.data() ), static_cast< std::streamsize >( v.size() ) ); } void begin_array() // NOLINT(readability-convert-member-functions-to-static) @@ -143,7 +143,7 @@ namespace tao::json::msgpack::events void begin_array( const std::size_t size ) { if( size <= 15 ) { - os.put( char( 0x90 + size ) ); + os.put( static_cast< char >( 0x90 + size ) ); } else if( size <= 65535 ) { number_impl< std::uint16_t >( 0xdc, size ); @@ -175,7 +175,7 @@ namespace tao::json::msgpack::events void begin_object( const std::size_t size ) { if( size <= 15 ) { - os.put( char( 0x80 + size ) ); + os.put( static_cast< char >( 0x80 + size ) ); } else if( size <= 65535 ) { number_impl< std::uint16_t >( 0xde, size ); diff --git a/include/tao/json/msgpack/internal/grammar.hpp b/include/tao/json/msgpack/internal/grammar.hpp index cc0b1f98..b455d3e6 100644 --- a/include/tao/json/msgpack/internal/grammar.hpp +++ b/include/tao/json/msgpack/internal/grammar.hpp @@ -27,9 +27,9 @@ namespace tao::json::msgpack::internal [[nodiscard]] std::string_view read_string( Input& in ) { const auto b = json::internal::peek_uint8( in ); - if( ( std::uint8_t( format::FIXSTR_MIN ) <= b ) && ( b <= std::uint8_t( format::FIXSTR_MAX ) ) ) { + if( ( static_cast< std::uint8_t >( format::FIXSTR_MIN ) <= b ) && ( b <= static_cast< std::uint8_t >( format::FIXSTR_MAX ) ) ) { in.bump_in_this_line(); - return json::internal::read_string< U, std::string_view >( in, b - std::uint8_t( format::FIXSTR_MIN ) ); + return json::internal::read_string< U, std::string_view >( in, b - static_cast< std::uint8_t >( format::FIXSTR_MIN ) ); } switch( format( b ) ) { case format::STR8: @@ -72,28 +72,28 @@ namespace tao::json::msgpack::internal { const auto b = in.peek_uint8(); if( b <= std::uint8_t( format::POSITIVE_MAX ) ) { - consumer.number( std::uint64_t( b ) ); + consumer.number( static_cast< std::uint64_t >( b ) ); in.bump_in_this_line(); return; } if( b >= std::uint8_t( format::NEGATIVE_MIN ) ) { - consumer.number( std::int64_t( std::int8_t( b ) ) ); + consumer.number( static_cast< std::int64_t >( static_cast< std::int8_t >( b ) ) ); in.bump_in_this_line(); return; } - if( ( std::uint8_t( format::FIXMAP_MIN ) <= b ) && ( b <= std::uint8_t( format::FIXMAP_MAX ) ) ) { + if( ( static_cast< std::uint8_t >( format::FIXMAP_MIN ) <= b ) && ( b <= static_cast< std::uint8_t >( format::FIXMAP_MAX ) ) ) { in.bump_in_this_line(); - parse_object( in, consumer, b - std::uint8_t( format::FIXMAP_MIN ) ); + parse_object( in, consumer, b - static_cast< std::uint8_t >( format::FIXMAP_MIN ) ); return; } - if( ( std::uint8_t( format::FIXARRAY_MIN ) <= b ) && ( b <= std::uint8_t( format::FIXARRAY_MAX ) ) ) { + if( ( static_cast< std::uint8_t >( format::FIXARRAY_MIN ) <= b ) && ( b <= static_cast< std::uint8_t >( format::FIXARRAY_MAX ) ) ) { in.bump_in_this_line(); - parse_array( in, consumer, b - std::uint8_t( format::FIXARRAY_MIN ) ); + parse_array( in, consumer, b - static_cast< std::uint8_t >( format::FIXARRAY_MIN ) ); return; } - if( ( std::uint8_t( format::FIXSTR_MIN ) <= b ) && ( b <= std::uint8_t( format::FIXSTR_MAX ) ) ) { + if( ( static_cast< std::uint8_t >( format::FIXSTR_MIN ) <= b ) && ( b <= static_cast< std::uint8_t >( format::FIXSTR_MAX ) ) ) { in.bump_in_this_line(); - consumer.string( json::internal::read_string< V, std::string_view >( in, b - std::uint8_t( format::FIXSTR_MIN ) ) ); + consumer.string( json::internal::read_string< V, std::string_view >( in, b - static_cast< std::uint8_t >( format::FIXSTR_MIN ) ) ); return; } switch( format( b ) ) { @@ -217,14 +217,12 @@ namespace tao::json::msgpack::internal template< utf8_mode V > struct basic_grammar : pegtl::must< data< V >, pegtl::eof > - { - }; + {}; template< utf8_mode V > struct basic_embedded : pegtl::must< data< V > > - { - }; + {}; using grammar = basic_grammar< utf8_mode::check >; using embedded = basic_embedded< utf8_mode::check >; diff --git a/include/tao/json/msgpack/parts_parser.hpp b/include/tao/json/msgpack/parts_parser.hpp index c0f271e5..7e7154e5 100644 --- a/include/tao/json/msgpack/parts_parser.hpp +++ b/include/tao/json/msgpack/parts_parser.hpp @@ -60,23 +60,23 @@ namespace tao::json::msgpack [[nodiscard]] inline std::int64_t test_signed( const std::uint64_t i ) { - if( ( i & ( std::uint64_t( 1 ) << 63 ) ) != 0 ) { + if( ( i & ( static_cast< std::uint64_t >( 1 ) << 63 ) ) != 0 ) { throw std::runtime_error( "integer overflow for signed" ); } - return std::int64_t( i ); + return static_cast< std::int64_t >( i ); } template< typename Input > [[nodiscard]] std::int64_t read_signed( Input& in ) { const auto b = json::internal::peek_uint8( in ); - if( b <= std::uint8_t( format::POSITIVE_MAX ) ) { + if( b <= static_cast< std::uint8_t >( format::POSITIVE_MAX ) ) { in.bump_in_this_line(); - return std::int64_t( b ); + return static_cast< std::int64_t >( b ); } - if( b >= std::uint8_t( format::NEGATIVE_MIN ) ) { + if( b >= static_cast< std::uint8_t >( format::NEGATIVE_MIN ) ) { in.bump_in_this_line(); - return std::int64_t( std::int8_t( b ) ); + return static_cast< std::int64_t >( static_cast< std::int8_t >( b ) ); } switch( format( b ) ) { case format::UINT8: @@ -105,16 +105,16 @@ namespace tao::json::msgpack if( i < 0 ) { throw std::runtime_error( "negative number for unsigned" ); } - return std::uint64_t( i ); + return static_cast< std::uint64_t >( i ); } template< typename Input > [[nodiscard]] std::uint64_t read_unsigned( Input& in ) { const auto b = json::internal::peek_uint8( in ); - if( b <= std::uint8_t( format::POSITIVE_MAX ) ) { + if( b <= static_cast< std::uint8_t >( format::POSITIVE_MAX ) ) { in.bump_in_this_line(); - return std::uint64_t( b ); + return static_cast< std::uint64_t >( b ); } switch( format( b ) ) { case format::UINT8: @@ -155,9 +155,9 @@ namespace tao::json::msgpack [[nodiscard]] std::size_t read_container_size( Input& in ) { const auto b = json::internal::peek_uint8( in ); - if( ( std::uint8_t( Min ) <= b ) && ( b <= std::uint8_t( Max ) ) ) { + if( ( static_cast< std::uint8_t >( Min ) <= b ) && ( b <= static_cast< std::uint8_t >( Max ) ) ) { in.bump_in_this_line(); - return state_t( b - std::uint8_t( Min ) ); + return state_t( b - static_cast< std::uint8_t >( Min ) ); } switch( format( b ) ) { case S16: diff --git a/include/tao/json/parts_parser.hpp b/include/tao/json/parts_parser.hpp index 447881c5..a34e7cb5 100644 --- a/include/tao/json/parts_parser.hpp +++ b/include/tao/json/parts_parser.hpp @@ -129,12 +129,12 @@ namespace tao::json void number( const std::int64_t i ) { - converted = double( i ); + converted = static_cast< double >( i ); } void number( const std::uint64_t u ) { - converted = double( u ); + converted = static_cast< double >( u ); } double converted = 0.0; // TODO: Remove superfluous initialisation when we manage to shup up the warnings on all compilers. diff --git a/include/tao/json/ubjson/events/to_stream.hpp b/include/tao/json/ubjson/events/to_stream.hpp index efc73418..ce9c6285 100644 --- a/include/tao/json/ubjson/events/to_stream.hpp +++ b/include/tao/json/ubjson/events/to_stream.hpp @@ -45,17 +45,17 @@ namespace tao::json::ubjson::events } else if( ( v >= -32768 ) && ( v <= 32767 ) ) { os.put( 'I' ); - const std::uint16_t x = json::internal::h_to_be( std::uint16_t( v ) ); + const std::uint16_t x = json::internal::h_to_be( static_cast< std::uint16_t >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } else if( ( v >= -2147483648LL ) && ( v <= 2147483647LL ) ) { os.put( 'l' ); - const std::uint32_t x = json::internal::h_to_be( std::uint32_t( v ) ); + const std::uint32_t x = json::internal::h_to_be( static_cast< std::uint32_t >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } else { os.put( 'L' ); - const std::uint64_t x = json::internal::h_to_be( std::uint64_t( v ) ); + const std::uint64_t x = json::internal::h_to_be( static_cast< std::uint64_t >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } } @@ -69,12 +69,12 @@ namespace tao::json::ubjson::events } else if( v <= 32767 ) { os.put( 'I' ); - const std::uint16_t x = json::internal::h_to_be( std::uint16_t( v ) ); + const std::uint16_t x = json::internal::h_to_be( static_cast< std::uint16_t >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } else if( v <= 2147483647UL ) { os.put( 'l' ); - const std::uint32_t x = json::internal::h_to_be( std::uint32_t( v ) ); + const std::uint32_t x = json::internal::h_to_be( static_cast< std::uint32_t >( v ) ); os.write( reinterpret_cast< const char* >( &x ), sizeof( x ) ); } else if( v <= 9223372036854775807ULL ) { @@ -85,7 +85,7 @@ namespace tao::json::ubjson::events else { os.put( 'H' ); os.put( 'U' ); - os.put( char( 19 ) + char( v >= 10000000000000000000ULL ) ); + os.put( static_cast< char >( 19 ) + static_cast< char >( v >= 10000000000000000000ULL ) ); os << v; } } @@ -105,8 +105,8 @@ namespace tao::json::ubjson::events } else { os.put( 'S' ); - number( std::uint64_t( v.size() ) ); - os.write( v.data(), v.size() ); + number( static_cast< std::uint64_t >( v.size() ) ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } } @@ -114,8 +114,8 @@ namespace tao::json::ubjson::events { // NOTE: UBJSON encodes binary data as 'strongly typed array of uint8 values'. os.write( "[$U#", 4 ); - number( std::uint64_t( v.size() ) ); - os.write( reinterpret_cast< const char* >( v.data() ), v.size() ); + number( static_cast< std::uint64_t >( v.size() ) ); + os.write( reinterpret_cast< const char* >( v.data() ), static_cast< std::streamsize >( v.size() ) ); } void begin_array() @@ -126,7 +126,7 @@ namespace tao::json::ubjson::events void begin_array( const std::size_t size ) { os.write( "[#", 2 ); - number( std::uint64_t( size ) ); + number( static_cast< std::uint64_t >( size ) ); } void element() noexcept @@ -148,13 +148,13 @@ namespace tao::json::ubjson::events void begin_object( const std::size_t size ) { os.write( "{#", 2 ); - number( std::uint64_t( size ) ); + number( static_cast< std::uint64_t >( size ) ); } void key( const std::string_view v ) { - number( std::uint64_t( v.size() ) ); - os.write( v.data(), v.size() ); + number( static_cast< std::uint64_t >( v.size() ) ); + os.write( v.data(), static_cast< std::streamsize >( v.size() ) ); } void member() noexcept diff --git a/include/tao/json/ubjson/internal/grammar.hpp b/include/tao/json/ubjson/internal/grammar.hpp index 775e4cdf..13051872 100644 --- a/include/tao/json/ubjson/internal/grammar.hpp +++ b/include/tao/json/ubjson/internal/grammar.hpp @@ -245,7 +245,7 @@ namespace tao::json case marker::NO_OP: throw pegtl::parse_error( "unsupported ubjson no-op", in ); default: - throw pegtl::parse_error( "unknown ubjson type " + std::to_string( unsigned( c ) ), in ); + throw pegtl::parse_error( "unknown ubjson type " + std::to_string( static_cast< unsigned >( c ) ), in ); } } @@ -391,21 +391,18 @@ namespace tao::json }; struct nops - : pegtl::star< pegtl::one< char( marker::NO_OP ) > > - { - }; + : pegtl::star< pegtl::one< static_cast< char >( marker::NO_OP ) > > + {}; template< std::size_t L, utf8_mode V > struct basic_grammar : pegtl::must< nops, data< L, V >, nops, pegtl::eof > - { - }; + {}; template< std::size_t L, utf8_mode V > struct basic_embedded : pegtl::must< data< L, V > > - { - }; + {}; using grammar = basic_grammar< 1 << 24, utf8_mode::check >; using embedded = basic_embedded< 1 << 24, utf8_mode::check >; diff --git a/include/tao/json/ubjson/parts_parser.hpp b/include/tao/json/ubjson/parts_parser.hpp index 70a47604..bb8fea0e 100644 --- a/include/tao/json/ubjson/parts_parser.hpp +++ b/include/tao/json/ubjson/parts_parser.hpp @@ -62,7 +62,7 @@ namespace tao::json::ubjson if( i < 0 ) { throw std::runtime_error( "negative number for unsigned" ); } - return std::uint64_t( i ); + return static_cast< std::uint64_t >( i ); } template< typename Input >