1  
//
1  
//
2  
// Copyright (c) 2025 Vinnie Falco (vinnie.falco@gmail.com)
2  
// Copyright (c) 2025 Vinnie Falco (vinnie.falco@gmail.com)
3  
//
3  
//
4  
// Distributed under the Boost Software License, Version 1.0. (See accompanying
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)
5  
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  
//
6  
//
7  
// Official repository: https://github.com/cppalliance/capy
7  
// Official repository: https://github.com/cppalliance/capy
8  
//
8  
//
9  

9  

10  
#include <boost/capy/error.hpp>
10  
#include <boost/capy/error.hpp>
11  

11  

12  
namespace boost {
12  
namespace boost {
13  
namespace capy {
13  
namespace capy {
14  

14  

15  
namespace detail {
15  
namespace detail {
16  

16  

17  
const char*
17  
const char*
18  
error_cat_type::
18  
error_cat_type::
19  
name() const noexcept
19  
name() const noexcept
20  
{
20  
{
21  
    return "boost.capy";
21  
    return "boost.capy";
22  
}
22  
}
23  

23  

24  
std::string
24  
std::string
25  
error_cat_type::
25  
error_cat_type::
26  
message(int code) const
26  
message(int code) const
27  
{
27  
{
28  
    switch(static_cast<error>(code))
28  
    switch(static_cast<error>(code))
29  
    {
29  
    {
30  
    case error::eof: return "eof";
30  
    case error::eof: return "eof";
31  
    case error::canceled: return "operation canceled";
31  
    case error::canceled: return "operation canceled";
32  
    case error::test_failure: return "test failure";
32  
    case error::test_failure: return "test failure";
33  
    case error::stream_truncated: return "stream truncated";
33  
    case error::stream_truncated: return "stream truncated";
34 -
    case error::timeout: return "timeout";
 
35  
    case error::not_found: return "not found";
34  
    case error::not_found: return "not found";
36  
    default:
35  
    default:
37  
        return "unknown";
36  
        return "unknown";
38  
    }
37  
    }
39  
}
38  
}
40  

39  

41  
//-----------------------------------------------
40  
//-----------------------------------------------
42  

41  

43  
// msvc 14.0 has a bug that warns about inability
42  
// msvc 14.0 has a bug that warns about inability
44  
// to use constexpr construction here, even though
43  
// to use constexpr construction here, even though
45  
// there's no constexpr construction
44  
// there's no constexpr construction
46  
#if defined(_MSC_VER) && _MSC_VER <= 1900
45  
#if defined(_MSC_VER) && _MSC_VER <= 1900
47  
# pragma warning( push )
46  
# pragma warning( push )
48  
# pragma warning( disable : 4592 )
47  
# pragma warning( disable : 4592 )
49  
#endif
48  
#endif
50  

49  

51  
#if defined(__cpp_constinit) && __cpp_constinit >= 201907L
50  
#if defined(__cpp_constinit) && __cpp_constinit >= 201907L
52  
constinit error_cat_type error_cat;
51  
constinit error_cat_type error_cat;
53  
#else
52  
#else
54  
error_cat_type error_cat;
53  
error_cat_type error_cat;
55  
#endif
54  
#endif
56  

55  

57  
#if defined(_MSC_VER) && _MSC_VER <= 1900
56  
#if defined(_MSC_VER) && _MSC_VER <= 1900
58  
# pragma warning( pop )
57  
# pragma warning( pop )
59  
#endif
58  
#endif
60  

59  

61  
} // detail
60  
} // detail
62  

61  

63  
} // capy
62  
} // capy
64  
} // boost
63  
} // boost