retinify 0.2.0
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{
17 NONE,
21 SYSTEM,
23 CUDA,
25 USER,
26};
27
30enum class StatusCode : std::uint8_t
31{
33 OK,
35 FAIL,
38};
39
43{
44 public:
45 Status() noexcept = default;
46 explicit Status(StatusCategory category, StatusCode code) noexcept;
47 ~Status() noexcept = default;
48 Status(const Status &) noexcept = default;
49 auto operator=(const Status &) noexcept -> Status & = default;
50 Status(Status &&) noexcept = default;
51 auto operator=(Status &&) noexcept -> Status & = default;
52
57 [[nodiscard]] auto IsOK() const noexcept -> bool;
58
63 [[nodiscard]] auto Category() const noexcept -> StatusCategory;
64
69 [[nodiscard]] auto Code() const noexcept -> StatusCode;
70
71 private:
72 StatusCategory category_{StatusCategory::NONE};
73 StatusCode code_{StatusCode::OK};
74};
75} // 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:43
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:31
@ FAIL
Operation failed.
@ OK
Operation succeeded.
@ INVALID_ARGUMENT
Invalid argument provided.