LCOV - code coverage report
Current view: top level - json/impl - error.hpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 5 5
Test Date: 2025-12-23 17:20:51 Functions: 100.0 % 2 2

            Line data    Source code
       1              : //
       2              : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
       3              : //
       4              : // Distributed under the Boost Software License, Version 1.0. (See accompanying
       5              : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       6              : //
       7              : // Official repository: https://github.com/boostorg/json
       8              : //
       9              : 
      10              : #ifndef BOOST_JSON_IMPL_ERROR_HPP
      11              : #define BOOST_JSON_IMPL_ERROR_HPP
      12              : 
      13              : #include <boost/system/error_category.hpp>
      14              : #include <type_traits>
      15              : 
      16              : namespace boost {
      17              : namespace system {
      18              : template<>
      19              : struct is_error_code_enum< ::boost::json::error >
      20              : {
      21              :     static bool const value = true;
      22              : };
      23              : template<>
      24              : struct is_error_condition_enum< ::boost::json::condition >
      25              : {
      26              :     static bool const value = true;
      27              : };
      28              : } // system
      29              : } // boost
      30              : 
      31              : namespace std {
      32              : template<>
      33              : struct is_error_code_enum< ::boost::json::error >
      34              : {
      35              :     static bool const value = true;
      36              : };
      37              : template<>
      38              : struct is_error_condition_enum< ::boost::json::condition >
      39              : {
      40              :     static bool const value = true;
      41              : };
      42              : } // std
      43              : 
      44              : namespace boost {
      45              : namespace json {
      46              : namespace detail {
      47              : 
      48              : struct error_code_category_t
      49              :     : system::error_category
      50              : {
      51              :     constexpr
      52              :     error_code_category_t()
      53              :         : system::error_category(0xB9A9B9922177C772)
      54              :     {}
      55              : 
      56              :     BOOST_JSON_DECL
      57              :     const char*
      58              :     name() const noexcept override;
      59              : 
      60              :     BOOST_JSON_DECL
      61              :     char const*
      62              :     message( int ev, char* buf, std::size_t len ) const noexcept override;
      63              : 
      64              :     BOOST_JSON_DECL
      65              :     std::string
      66              :     message( int ev ) const override;
      67              : 
      68              :     BOOST_JSON_DECL
      69              :     system::error_condition
      70              :     default_error_condition( int ev ) const noexcept override;
      71              : };
      72              : 
      73              : extern
      74              : BOOST_JSON_DECL
      75              : error_code_category_t error_code_category;
      76              : 
      77              : struct error_condition_category_t
      78              :     : system::error_category
      79              : {
      80              :     constexpr
      81              :     error_condition_category_t()
      82              :         : system::error_category(0x37CEF5A036D24FD1)
      83              :     {}
      84              : 
      85              :     BOOST_JSON_DECL
      86              :     const char*
      87              :     name() const noexcept override;
      88              : 
      89              :     BOOST_JSON_DECL
      90              :     char const*
      91              :     message( int ev, char*, std::size_t ) const noexcept override;
      92              : 
      93              :     BOOST_JSON_DECL
      94              :     std::string
      95              :     message( int cv ) const override;
      96              : };
      97              : 
      98              : extern
      99              : BOOST_JSON_DECL
     100              : error_condition_category_t error_condition_category;
     101              : 
     102              : } // namespace detail
     103              : 
     104              : inline
     105              : BOOST_SYSTEM_CONSTEXPR
     106              : system::error_code
     107       105209 : make_error_code(error e) noexcept
     108              : {
     109              : 
     110              :     return system::error_code(
     111              :         static_cast<std::underlying_type<error>::type>(e),
     112       105209 :         detail::error_code_category );
     113              : }
     114              : 
     115              : inline
     116              : BOOST_SYSTEM_CONSTEXPR
     117              : system::error_condition
     118          154 : make_error_condition(condition c) noexcept
     119              : {
     120          154 :     return system::error_condition(
     121              :         static_cast<std::underlying_type<condition>::type>(c),
     122          154 :         detail::error_condition_category );
     123              : }
     124              : 
     125              : } // namespace json
     126              : } // namespace boost
     127              : 
     128              : #endif
        

Generated by: LCOV version 2.1