Brenta Engine
1.2
Loading...
Searching...
No Matches
subsystem.hpp
1
// SPDX-License-Identifier: MIT
2
// Author: Giovanni Santini
3
// Mail: giovanni.santini@proton.me
4
// Github: @San7o
5
6
#pragma once
7
8
#include <expected>
9
#include <string>
10
11
namespace
brenta
12
{
13
21
class
subsystem
22
{
23
public
:
24
25
using
error = std::string;
26
27
class
builder
;
28
29
virtual
~subsystem
() =
default
;
30
31
virtual
std::expected<void, subsystem::error> initialize() = 0;
32
virtual
std::expected<void, subsystem::error> terminate() = 0;
36
virtual
std::string
name
() = 0;
40
virtual
bool
is_initialized
() = 0;
41
};
42
48
class
subsystem::builder
49
{
50
public
:
51
virtual
~builder
() =
default
;
52
53
virtual
subsystem
&build() = 0;
54
};
55
56
}
// namepsace brenta
brenta::subsystem::builder
Builder interface.
Definition
subsystem.hpp:49
brenta::subsystem
Subsystem interface.
Definition
subsystem.hpp:22
brenta::subsystem::is_initialized
virtual bool is_initialized()=0
Returns true if the subsystem is initialized.
brenta::subsystem::name
virtual std::string name()=0
Returns the name of the sybsystem.
include
brenta
subsystem.hpp
Generated by
1.12.0