LCOV - code coverage report
Current view: top level - /jenkins/workspace/boost-root/libs/capy/src - cond.cpp (source / functions) Coverage Total Hit Missed
Test: coverage_remapped.info Lines: 69.2 % 26 18 8
Test Date: 2026-02-17 18:14:47 Functions: 100.0 % 3 3

           TLA  Line data    Source code
       1                 : //
       2                 : // Copyright (c) 2025 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/cppalliance/capy
       8                 : //
       9                 : 
      10                 : #include <boost/capy/cond.hpp>
      11                 : #include <boost/capy/error.hpp>
      12                 : #include <system_error>
      13                 : 
      14                 : namespace boost {
      15                 : namespace capy {
      16                 : 
      17                 : namespace detail {
      18                 : 
      19                 : const char*
      20 HIT           1 : cond_cat_type::
      21                 : name() const noexcept
      22                 : {
      23               1 :     return "boost.capy";
      24                 : }
      25                 : 
      26                 : std::string
      27               3 : cond_cat_type::
      28                 : message(int code) const
      29                 : {
      30               3 :     switch(static_cast<cond>(code))
      31                 :     {
      32               3 :     case cond::eof: return "end of file";
      33               3 :     case cond::canceled: return "operation canceled";
      34 MIS           0 :     case cond::stream_truncated: return "stream truncated";
      35 HIT           3 :     case cond::not_found: return "not found";
      36 MIS           0 :     default:
      37               0 :         return "unknown";
      38                 :     }
      39                 : }
      40                 : 
      41                 : bool
      42 HIT        1391 : cond_cat_type::
      43                 : equivalent(
      44                 :     std::error_code const& ec,
      45                 :     int condition) const noexcept
      46                 : {
      47            1391 :     switch(static_cast<cond>(condition))
      48                 :     {
      49            1372 :     case cond::eof:
      50            1372 :         return ec == capy::error::eof;
      51                 : 
      52               5 :     case cond::canceled:
      53               5 :         if(ec == capy::error::canceled)
      54 MIS           0 :             return true;
      55 HIT           5 :         if(ec == std::errc::operation_canceled)
      56               2 :             return true;
      57               3 :         return false;
      58                 : 
      59 MIS           0 :     case cond::stream_truncated:
      60               0 :         return ec == capy::error::stream_truncated;
      61                 : 
      62 HIT          14 :     case cond::not_found:
      63              14 :         return ec == capy::error::not_found;
      64                 : 
      65 MIS           0 :     default:
      66               0 :         return false;
      67                 :     }
      68                 : }
      69                 : 
      70                 : //-----------------------------------------------
      71                 : 
      72                 : // msvc 14.0 has a bug that warns about inability
      73                 : // to use constexpr construction here, even though
      74                 : // there's no constexpr construction
      75                 : #if defined(_MSC_VER) && _MSC_VER <= 1900
      76                 : # pragma warning( push )
      77                 : # pragma warning( disable : 4592 )
      78                 : #endif
      79                 : 
      80                 : #if defined(__cpp_constinit) && __cpp_constinit >= 201907L
      81                 : constinit cond_cat_type cond_cat;
      82                 : #else
      83                 : cond_cat_type cond_cat;
      84                 : #endif
      85                 : 
      86                 : #if defined(_MSC_VER) && _MSC_VER <= 1900
      87                 : # pragma warning( pop )
      88                 : #endif
      89                 : 
      90                 : } // detail
      91                 : 
      92                 : } // capy
      93                 : } // boost
        

Generated by: LCOV version 2.3