rippled
Loading...
Searching...
No Matches
basic_prop.h
1#ifndef XRPL_TEST_JTX_BASIC_PROP_H_INCLUDED
2#define XRPL_TEST_JTX_BASIC_PROP_H_INCLUDED
3
4#include <memory>
5
6namespace ripple {
7namespace test {
8namespace jtx {
9
11{
12 virtual ~basic_prop() = default;
14 clone() const = 0;
15 virtual bool
16 assignable(basic_prop const*) const = 0;
17};
18
19template <class T>
21{
22 T t;
23
24 template <class... Args>
25 prop_type(Args&&... args) : t(std::forward<Args>(args)...)
26 {
27 }
28
30 clone() const override
31 {
33 }
34
35 bool
36 assignable(basic_prop const* src) const override
37 {
38 return dynamic_cast<prop_type<T> const*>(src);
39 }
40};
41
42} // namespace jtx
43} // namespace test
44} // namespace ripple
45
46#endif
T is_same_v
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
STL namespace.
virtual ~basic_prop()=default
virtual std::unique_ptr< basic_prop > clone() const =0
virtual bool assignable(basic_prop const *) const =0
bool assignable(basic_prop const *src) const override
Definition basic_prop.h:36
std::unique_ptr< basic_prop > clone() const override
Definition basic_prop.h:30
prop_type(Args &&... args)
Definition basic_prop.h:25