Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
Component.hpp
1
2
#pragma once
3
#include <alicorn/std/string.hpp>
4
#include <alicorn/std.fast/unordered-map.hpp>
5
#include <Covellite/Predefined.hpp>
6
7
namespace
covellite
8
{
9
10
namespace
api
11
{
12
34
class
Component
final
35
{
36
template
<
bool
>
37
class
Convertor;
38
class
ConstructorTag {};
39
40
class
Param final
41
{
42
public
:
43
template
<
class
T>
44
bool
IsType(
void
)
const
;
45
template
<
class
T>
46
Param & Default(
const
T &);
47
template
<
class
T>
48
operator
T & (void);
49
template
<
class
T>
50
operator
const
T & (void)
const
;
51
template
<
class
T>
52
Param & operator= (
const
T &);
53
54
private
:
55
template
<
class
T>
56
void
Set(
const
T &);
57
58
private
:
59
friend
Component
;
60
::covellite::Any_t Value;
61
size_t
hType;
62
};
63
64
public
:
65
using
String_t = ::alicorn::extension::std::String;
66
using
Name_t = String_t;
67
using
Hasher_t = ::std::hash<Name_t>;
68
using
Params_t = ::alicorn::extension::std::fast::unordered_map<size_t, Param>;
69
using
SourceParams_t = ::std::map<Name_t, ::covellite::Any_t>;
70
using
Id_t = String_t;
71
using
Type_t = String_t;
72
using
Kind_t = String_t;
73
using
ComponentPtr_t = ::std::shared_ptr<Component>;
74
75
public
:
76
class
Renders
;
77
78
public
:
79
static
ComponentPtr_t
Make
(
const
SourceParams_t &);
80
static
size_t
GetHash
(
const
Name_t &);
81
82
public
:
83
Param &
operator[]
(
const
Name_t &);
84
Param &
operator[]
(
const
size_t
&);
85
const
Param &
operator[]
(
const
Name_t &)
const
;
86
const
Param &
operator[]
(
const
size_t
&)
const
;
87
88
private
:
89
static
size_t
GetHashId(
void
);
90
static
size_t
GetHashType(
void
);
91
static
size_t
GetHashKind(
void
);
92
93
private
:
94
Params_t m_Params;
95
96
public
:
97
const
Id_t Id;
98
const
Type_t Type;
99
const
Kind_t Kind;
100
101
public
:
102
Component
(
const
Params_t &, ConstructorTag);
103
};
104
105
}
// namespace api
106
107
}
// namespace covellite
covellite::api::Component::Component
Component(const Params_t &, ConstructorTag)
Конструктор класса.
Определения
Component.inl:74
covellite::api::Component::operator[]
Param & operator[](const Name_t &)
Оператор получения временной переменной для доступа к параметру компонента.
Определения
Component.inl:253
covellite::api::Component::Make
static ComponentPtr_t Make(const SourceParams_t &)
Функция создания объектов компонентов.
Определения
Component.inl:29
covellite::api::Component::GetHash
static size_t GetHash(const Name_t &)
Функция получения хеша для имени параметра.
Определения
Component.inl:55
covellite::api::Component::Renders
Класс входит в проект Covellite.Api Класс создания рендеров компонентов.
Определения
Renders.hpp:28
Solution
Solution
Covellite.Api
Covellite.Api
Component.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0