xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
jtx
basic_prop.h
1
#pragma once
2
3
#include <
memory
>
4
5
namespace
xrpl::test::jtx
{
6
7
struct
BasicProp
8
{
9
virtual
~BasicProp
() =
default
;
10
[[nodiscard]]
virtual
std::unique_ptr<BasicProp>
11
clone
()
const
= 0;
12
virtual
bool
13
assignable
(
BasicProp
const
*)
const
= 0;
14
};
15
16
template
<
class
T>
17
struct
PropType
:
BasicProp
18
{
19
T
t
;
20
21
template
<
class
... Args>
22
PropType
(Args&&... args) :
t
(
std
::forward<Args>(args)...)
23
{
24
}
25
26
[[nodiscard]]
std::unique_ptr<BasicProp>
27
clone
()
const override
28
{
29
return
std::make_unique<PropType<T>
>(
t
);
30
}
31
32
bool
33
assignable
(
BasicProp
const
* src)
const override
34
{
35
return
dynamic_cast<
PropType<T>
const*
>
(src);
36
}
37
};
38
39
}
// namespace xrpl::test::jtx
std::make_unique
T make_unique(T... args)
memory
std
STL namespace.
xrpl::test::jtx
Definition
Oracle_test.cpp:34
xrpl::test::jtx::BasicProp
Definition
basic_prop.h:8
xrpl::test::jtx::BasicProp::~BasicProp
virtual ~BasicProp()=default
xrpl::test::jtx::BasicProp::clone
virtual std::unique_ptr< BasicProp > clone() const =0
xrpl::test::jtx::BasicProp::assignable
virtual bool assignable(BasicProp const *) const =0
xrpl::test::jtx::PropType::clone
std::unique_ptr< BasicProp > clone() const override
Definition
basic_prop.h:27
xrpl::test::jtx::PropType::t
T t
Definition
basic_prop.h:19
xrpl::test::jtx::PropType::assignable
bool assignable(BasicProp const *src) const override
Definition
basic_prop.h:33
xrpl::test::jtx::PropType::PropType
PropType(Args &&... args)
Definition
basic_prop.h:22
std::unique_ptr
Generated by
1.17.0