LCOV - code coverage report
Current view: top level - libs/url/src/grammar/error.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 25 25
Test Date: 2024-08-20 16:05:53 Functions: 100.0 % 7 7

            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              : 
      11              : #include <boost/url/detail/config.hpp>
      12              : #include <boost/url/grammar/error.hpp>
      13              : 
      14              : namespace boost {
      15              : namespace urls {
      16              : namespace grammar {
      17              : 
      18              : namespace detail {
      19              : 
      20              : const char*
      21           72 : error_cat_type::
      22              : name() const noexcept
      23              : {
      24           72 :     return "boost.url.grammar";
      25              : }
      26              : 
      27              : std::string
      28           72 : error_cat_type::
      29              : message(int code) const
      30              : {
      31           72 :     return message(code, nullptr, 0);
      32              : }
      33              : 
      34              : char const*
      35           72 : error_cat_type::
      36              : message(
      37              :     int code,
      38              :     char*,
      39              :     std::size_t) const noexcept
      40              : {
      41           72 :     switch(static_cast<error>(code))
      42              :     {
      43            1 :     default:
      44            1 : case error::need_more: return "need more";
      45           14 : case error::mismatch: return "mismatch";
      46           13 : case error::invalid: return "invalid";
      47            1 : case error::end_of_range: return "end of range";
      48           42 : case error::leftover: return "leftover";
      49            1 : case error::out_of_range: return "out of range";
      50              :     }
      51              : }
      52              : 
      53              : system::error_condition
      54            6 : error_cat_type::
      55              : default_error_condition(
      56              :     int ev) const noexcept
      57              : {
      58            6 :     switch(static_cast<error>(ev))
      59              :     {
      60            2 : case error::invalid:
      61              : case error::out_of_range:
      62            2 :         return condition::fatal;
      63            4 :     default:
      64            4 :         return {ev, *this};
      65              :     }
      66              : }
      67              : 
      68              : //------------------------------------------------
      69              : 
      70              : const char*
      71            5 : condition_cat_type::
      72              : name() const noexcept
      73              : {
      74            5 :     return "boost.url.grammar";
      75              : }
      76              : 
      77              : std::string
      78            5 : condition_cat_type::
      79              : message(int code) const
      80              : {
      81            5 :     return message(code, nullptr, 0);
      82              : }
      83              : 
      84              : char const*
      85            5 : condition_cat_type::
      86              : message(
      87              :     int code, char*, std::size_t) const noexcept
      88              : {
      89              :     switch(static_cast<condition>(code))
      90              :     {
      91              :     default:
      92              :     case condition::fatal:
      93            5 :         return "fatal condition";
      94              :     }
      95              : }
      96              : 
      97              : //-----------------------------------------------
      98              : 
      99              : // msvc 14.0 has a bug that warns about inability
     100              : // to use constexpr construction here, even though
     101              : // there's no constexpr construction
     102              : #if defined(_MSC_VER) && _MSC_VER <= 1900
     103              : # pragma warning( push )
     104              : # pragma warning( disable : 4592 )
     105              : #endif
     106              : 
     107              : error_cat_type error_cat;
     108              : condition_cat_type condition_cat;
     109              : 
     110              : #if defined(_MSC_VER) && _MSC_VER <= 1900
     111              : # pragma warning( pop )
     112              : #endif
     113              : 
     114              : } // detail
     115              : 
     116              : } // grammar
     117              : } // urls
     118              : } // boost
     119              : 
        

Generated by: LCOV version 2.1