LCOV - code coverage report
Current view: top level - boost/url/impl - error.hpp (source / functions) Hit Total Coverage
Test: coverage_filtered.info Lines: 5 5 100.0 %
Date: 2024-04-08 19:38:36 Functions: 2 2 100.0 %

          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/url
       8             : //
       9             : 
      10             : #ifndef BOOST_URL_IMPL_ERROR_HPP
      11             : #define BOOST_URL_IMPL_ERROR_HPP
      12             : 
      13             : #include <type_traits>
      14             : 
      15             : namespace boost {
      16             : 
      17             : //-----------------------------------------------
      18             : namespace system {
      19             : template<>
      20             : struct is_error_code_enum<::boost::urls::error>
      21             : {
      22             :     static bool const value = true;
      23             : };
      24             : } // system
      25             : //-----------------------------------------------
      26             : 
      27             : namespace urls {
      28             : 
      29             : namespace detail {
      30             : 
      31             : struct BOOST_SYMBOL_VISIBLE
      32             :     error_cat_type
      33             :     : system::error_category
      34             : {
      35             :     BOOST_URL_DECL
      36             :     const char* name(
      37             :         ) const noexcept override;
      38             : 
      39             :     BOOST_URL_DECL
      40             :     std::string message(
      41             :         int) const override;
      42             : 
      43             :     BOOST_URL_DECL
      44             :     char const* message(
      45             :         int, char*, std::size_t
      46             :             ) const noexcept override;
      47             : 
      48             :     BOOST_URL_DECL
      49             :     system::error_condition
      50             :         default_error_condition(
      51             :             int code) const noexcept override;
      52             : 
      53          72 :     BOOST_SYSTEM_CONSTEXPR error_cat_type() noexcept
      54          72 :         : error_category(0xbc15399d7a4ce829)
      55             :     {
      56          72 :     }
      57             : };
      58             : 
      59             : BOOST_URL_DECL extern
      60             :     error_cat_type error_cat;
      61             : 
      62             : } // detail
      63             : 
      64             : inline
      65             : BOOST_SYSTEM_CONSTEXPR
      66             : system::error_code
      67         104 : make_error_code(
      68             :     error ev) noexcept
      69             : {
      70             :     return system::error_code{
      71             :         static_cast<std::underlying_type<
      72             :             error>::type>(ev),
      73         104 :         detail::error_cat};
      74             : }
      75             : 
      76             : } // urls
      77             : } // boost
      78             : 
      79             : #endif

Generated by: LCOV version 1.15