plugify
1.2.8
Loading...
Searching...
No Matches
include
plugify
property.hpp
1
#pragma once
2
3
#include <memory>
4
#include <optional>
5
#include <string>
6
#include <vector>
7
8
#include "plugify/global.h"
9
#include "plugify/value_type.hpp"
10
11
namespace
plugify {
12
class
EnumObject;
13
class
Method;
14
15
// Property Class
16
class
PLUGIFY_API
Property
{
17
public
:
18
Property
();
19
~Property
();
20
Property
(
const
Property
& other);
21
Property
(
Property
&& other)
noexcept
;
22
Property
& operator=(
const
Property
& other);
23
Property
& operator=(
Property
&& other)
noexcept
;
24
25
// Getters
26
[[nodiscard]] ValueType GetType()
const
noexcept
;
27
[[nodiscard]]
bool
IsRef()
const
noexcept
;
28
[[nodiscard]]
const
Method
* GetPrototype()
const
noexcept
;
29
[[nodiscard]]
const
EnumObject
* GetEnumerate()
const
noexcept
;
30
31
// Setters (pass by value and move)
32
void
SetType(ValueType type);
33
void
SetRef(
bool
ref);
34
void
SetPrototype(
Method
prototype);
35
void
SetEnumerate(
EnumObject
enumerate);
36
37
[[nodiscard]]
bool
operator==(
const
Property
& other)
const
noexcept
;
38
[[nodiscard]]
auto
operator<=>(
const
Property
& other)
const
noexcept
;
39
40
PLUGIFY_ACCESS :
struct
Impl;
41
PLUGIFY_NO_DLL_EXPORT_WARNING(std::unique_ptr<Impl> _impl;)
42
};
43
}
plugify::EnumObject
Definition
enum_object.hpp:14
plugify::Method
Definition
method.hpp:17
plugify::Property
Definition
property.hpp:16
Generated by
1.9.8