Files
rippled/src/test/jtx/basic_prop.h
Bart 34ef577604 refactor: Replace include guards by '#pragma once' (#6322)
This change replaces all include guards in the `src/` and `include/` directories by `#pragma once`.
2026-02-04 09:50:21 -05:00

44 lines
753 B
C++

#pragma once
#include <memory>
namespace xrpl {
namespace test {
namespace jtx {
struct basic_prop
{
virtual ~basic_prop() = default;
virtual std::unique_ptr<basic_prop>
clone() const = 0;
virtual bool
assignable(basic_prop const*) const = 0;
};
template <class T>
struct prop_type : basic_prop
{
T t;
template <class... Args>
prop_type(Args&&... args) : t(std::forward<Args>(args)...)
{
}
std::unique_ptr<basic_prop>
clone() const override
{
return std::make_unique<prop_type<T>>(t);
}
bool
assignable(basic_prop const* src) const override
{
return dynamic_cast<prop_type<T> const*>(src);
}
};
} // namespace jtx
} // namespace test
} // namespace xrpl