acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
extended_status.h
1
#pragma once
2
3
4
CLASS_DECL_ACME const_char_pointer status_short_description(const ::e_status & estatus);
5
6
//
7
//namespace extended
8
//{
9
//
10
//
11
// class CLASS_DECL_ACME status
12
// {
13
// public:
14
//
15
//
16
//
17
// /// Curitiba, 2 de abril de 2019
18
// ///
19
// /// m_estatus is light-weight failure/success indication
20
// /// Also it is cached information.
21
// /// It is required. So if exceptions are added to
22
// /// m_pexceptiona, they should reflect just more detailed
23
// /// information about a properly filled m_estatus.
24
// /// No specific exception or detailed information is really required
25
// /// through m_pexceptiona.
26
// /// m_estatus indication is enough.
27
// /// This way two things are enabled:
28
// /// - Success/failure compact indication is easily available (through m_estatus)
29
// /// - Simple/frequent failures/exceptions doesn't require the implementator
30
// /// to fill and spend resources creating exception data that would be
31
// /// rarely queried.
32
//
33
// ::e_status m_estatus;
34
// ::pointer<::exception_array> m_pexceptiona;
35
//
36
//
37
// status();
38
// status(::enum_status estatus) ;
39
// status(const ::e_status & estatus);
40
// status(const std::initializer_list < void >& list_base);
41
// status(const status& status);
42
// status(status&& status);
43
// status(const ::exception& e);
44
// status(const std::initializer_list < ::exception >& list_base);
45
// ~status();
46
//
47
//
48
// static void set_skip_callstack(::i32 iStack);
49
// static ::i32 get_skip_callstack();
50
//
51
// void set(const ::e_status & estatus);
52
//
53
// void set(::enum_status estatus);
54
//
55
// void add(const ::e_status & estatus);
56
//
57
// void add(::enum_status estatus);
58
//
59
// void add(const ::exception& e);
60
//
61
//
62
// void add(const std::initializer_list < ::exception >& list_base);
63
//
64
//
65
// void add(const std::initializer_list < void >& list_base);
66
//
67
// //bool get_exception(::exception& e, const ::e_status & estatus);
68
//
69
// bool get_exit_status(void& estatus) const;
70
// void get_greatest_exception_on_range(enum_status estatusOpenStart, enum_status estatusOpenEnd) const;
71
//
72
// bool has(const ::e_status & estatus) const;
73
//
74
//
75
// static string get_error_text(const ::e_status & estatus);
76
//
77
//
78
// ::e_status estatus() const
79
// {
80
//
81
// return m_estatus == undefined ? void(::success) : m_estatus;
82
// }
83
//
84
// bool succeeded() const { return ::succeeded(estatus()); }
85
//
86
// bool failed() const { return !succeeded(); }
87
//
88
// operator bool() const { return succeeded(); }
89
//
90
// bool operator !() const { return failed(); }
91
//
92
// status & operator =(const ::e_status & estatus)
93
// {
94
//
95
// set(estatus);
96
//
97
// return *this;
98
//
99
// }
100
//
101
// status& operator =(::enum_status estatus){return operator =((const void &) estatus);}
102
//
103
// status& operator =(const status& status)
104
// {
105
//
106
// if (this != &status)
107
// {
108
//
109
// m_estatus = status.m_estatus;
110
// m_pexceptiona = status.m_pexceptiona;
111
//
112
// }
113
//
114
// return *this;
115
//
116
// }
117
//
118
//
119
// status& operator =(status&& status)
120
// {
121
//
122
// m_estatus = status.m_estatus;
123
// m_pexceptiona = ::transfer(status.m_pexceptiona);
124
//
125
// return *this;
126
//
127
// }
128
//
129
//
130
// void clear() { m_pexceptiona.release(); m_estatus = undefined; }
131
//
132
//
133
// void add(const status& status);
134
//
135
// void set_error(const ::e_status & estatus);
136
//
137
//
138
// };
139
//
140
//
141
//
142
//} // namespace extended
143
144
145
//using exception_pointer = ::exception::exception_pointer;
146
147
template
<
typename
EXCEPTION >
148
inline ::pointer<EXCEPTION>__move_throw_exception(EXCEPTION * pexceptionNew);
149
150
CLASS_DECL_ACME ::pointer<::exception>__trace_context_move_throw_exception(
::particle
* pparticle, ::exception * pexceptionNew);
151
152
153
154
155
156
157
158
//#define rp(T) ::transport < T >
159
160
161
using
unexpected_situation = ::exception;
162
163
164
165
particle
Definition
particle.h:95
exception
extended_status.h
Generated by
1.17.0