retinify 0.1.7
Real-Time AI Stereo Vision Library
Loading...
Searching...
No Matches
status.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) 2025 Sensui Yagi. All rights reserved.
2// SPDX-License-Identifier: Apache-2.0
3
4#pragma once
5
7
8#include <cstdint>
9
10namespace retinify
11{
14enum class StatusCategory : std::uint8_t
15{
18 NONE,
24 SYSTEM,
27 CUDA,
30 USER,
31};
32
35enum class StatusCode : std::uint8_t
36{
39 OK,
42 FAIL,
46};
47
51{
52 public:
53 Status() noexcept = default;
54 explicit Status(StatusCategory category, StatusCode code) noexcept;
55 ~Status() noexcept = default;
56 Status(const Status &) noexcept = default;
57 auto operator=(const Status &) noexcept -> Status & = default;
58 Status(Status &&) noexcept = default;
59 auto operator=(Status &&) noexcept -> Status & = default;
60
65 [[nodiscard]] auto IsOK() const noexcept -> bool;
66
71 [[nodiscard]] auto Category() const noexcept -> StatusCategory;
72
77 [[nodiscard]] auto Code() const noexcept -> StatusCode;
78
79 private:
80 StatusCategory category_{StatusCategory::NONE};
81 StatusCode code_{StatusCode::OK};
82};
83} // namespace retinify
#define RETINIFY_API
Defines a macro for setting API visibility to "default" for the retinify library.
Definition attributes.hpp:8
This class represents the status of an operation in the retinify library.
Definition status.hpp:51
Status() noexcept=default
Definition colormap.hpp:13
StatusCategory
Status categories used by retinify.
Definition status.hpp:15
@ USER
User-originated category.
@ RETINIFY
Retinify-internal category.
@ CUDA
CUDA-related category.
@ SYSTEM
System-related category.
StatusCode
Status codes returned by retinify operations.
Definition status.hpp:36
@ FAIL
Operation failed.
@ OK
Operation succeeded.
@ INVALID_ARGUMENT
Invalid argument provided.