LCOV - code coverage report
Current view: top level - boost/http/bcrypt - error.hpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 2 2
Test Date: 2026-02-02 17:02:49 Functions: 100.0 % 1 1

            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/http
       8              : //
       9              : 
      10              : #ifndef BOOST_HTTP_BCRYPT_ERROR_HPP
      11              : #define BOOST_HTTP_BCRYPT_ERROR_HPP
      12              : 
      13              : #include <boost/http/detail/config.hpp>
      14              : #include <boost/system/error_category.hpp>
      15              : #include <boost/system/is_error_code_enum.hpp>
      16              : #include <system_error>
      17              : 
      18              : namespace boost {
      19              : namespace http {
      20              : namespace bcrypt {
      21              : 
      22              : /** Error codes for bcrypt operations.
      23              : 
      24              :     These errors indicate malformed input from untrusted sources.
      25              : */
      26              : enum class error
      27              : {
      28              :     /// Success
      29              :     ok = 0,
      30              : 
      31              :     /// Salt string is malformed
      32              :     invalid_salt,
      33              : 
      34              :     /// Hash string is malformed
      35              :     invalid_hash
      36              : };
      37              : 
      38              : } // bcrypt
      39              : } // http
      40              : 
      41              : namespace system {
      42              : template<>
      43              : struct is_error_code_enum<
      44              :     ::boost::http::bcrypt::error>
      45              : {
      46              :     static bool const value = true;
      47              : };
      48              : } // system
      49              : } // boost
      50              : 
      51              : namespace std {
      52              : template<>
      53              : struct is_error_code_enum<
      54              :     ::boost::http::bcrypt::error>
      55              :     : std::true_type {};
      56              : } // std
      57              : 
      58              : namespace boost {
      59              : namespace http {
      60              : namespace bcrypt {
      61              : 
      62              : namespace detail {
      63              : 
      64              : struct BOOST_SYMBOL_VISIBLE
      65              :     error_cat_type
      66              :     : system::error_category
      67              : {
      68              :     BOOST_HTTP_DECL const char* name(
      69              :         ) const noexcept override;
      70              :     BOOST_HTTP_DECL std::string message(
      71              :         int) const override;
      72              :     BOOST_HTTP_DECL char const* message(
      73              :         int, char*, std::size_t
      74              :             ) const noexcept override;
      75              :     BOOST_SYSTEM_CONSTEXPR error_cat_type()
      76              :         : error_category(0xbc8f2a4e7c193d56)
      77              :     {
      78              :     }
      79              : };
      80              : 
      81              : BOOST_HTTP_DECL extern
      82              :     error_cat_type error_cat;
      83              : 
      84              : } // detail
      85              : 
      86              : inline
      87              : BOOST_SYSTEM_CONSTEXPR
      88              : system::error_code
      89           15 : make_error_code(
      90              :     error ev) noexcept
      91              : {
      92              :     return system::error_code{
      93              :         static_cast<std::underlying_type<
      94              :             error>::type>(ev),
      95           15 :         detail::error_cat};
      96              : }
      97              : 
      98              : } // bcrypt
      99              : } // http
     100              : } // boost
     101              : 
     102              : #endif
        

Generated by: LCOV version 2.3