acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
sync_io_error.h
1
// Created by camilo on 2022-10-21 23:41 <3ThomasBorregaardSorensen!!
2
#pragma once
3
4
5
class
CLASS_DECL_ACME sync_io_error
6
{
7
public
:
8
9
10
::i32 m_iGenerateBefore;
11
::i32 m_iErrorBefore;
12
::i32 * m_piError;
13
14
15
sync_io_error(::i32 * piError =
nullptr
)
16
{
17
m_iGenerateBefore = get_generate_sync_io_error();
18
m_iErrorBefore = get_sync_io_error();
19
set_sync_io_error(0);
20
set_generate_sync_io_error(1);
21
m_piError = piError;
22
}
23
24
~sync_io_error()
25
{
26
if
(m_piError !=
nullptr
)
27
{
28
*m_piError = get_sync_io_error();
29
}
30
set_generate_sync_io_error(m_iGenerateBefore);
31
set_sync_io_error(m_iErrorBefore);
32
}
33
34
bool
none()
const
{
return
get_sync_io_error() == 0; }
35
36
37
explicit
operator
bool()
const
{
return
get_sync_io_error() != 0; }
38
39
};
40
41
filesystem
file
sync_io_error.h
Generated by
1.17.0