LeviLamina
Loading...
Searching...
No Matches
ErrorInfo.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/platform/CallStack.h"
5
6namespace Bedrock {
7
8template <typename E = std::error_code>
9struct ErrorInfo {
10public:
11 ErrorInfo() = default;
12
13 ErrorInfo(ErrorInfo const&) = default;
14 ErrorInfo& operator=(ErrorInfo const&) = default;
15 ErrorInfo(ErrorInfo&&) noexcept = default;
16 ErrorInfo& operator=(ErrorInfo&&) noexcept = default;
17
18 ErrorInfo(E const& error) : mError(error) {}
19
20 [[nodiscard]] constexpr E& code() { return mError; }
21 [[nodiscard]] constexpr E const& code() const { return mError; }
22
23 E mError;
24 CallStack mCallStack;
25 std::vector<ErrorInfo> mStackErrors;
26};
27
28} // namespace Bedrock
Definition CallStack.h:11