1#ifndef XRPL_PROTOCOL_STVAR_H_INCLUDED
2#define XRPL_PROTOCOL_STVAR_H_INCLUDED
4#include <xrpl/protocol/SField.h>
5#include <xrpl/protocol/STBase.h>
6#include <xrpl/protocol/Serializer.h>
30template <
typename... Args>
105 template <
class T,
class... Args>
117 template <
class T,
class... Args>
131 template <
typename... Args>
139 return static_cast<void const*
>(
p_) !=
static_cast<void const*
>(&
d_);
143template <
class T,
class... Args>
161 return !(lhs == rhs);
A type which can be exported to a well known binary format.
virtual STBase * move(std::size_t n, void *buf)
virtual bool isEquivalent(STBase const &t) const
virtual STBase * copy(std::size_t n, void *buf) const
STVar & operator=(STVar const &rhs)
std::aligned_storage< max_size >::type d_
void construct(Args &&... args)
void constructST(SerializedTypeID id, int depth, Args &&... arg)
Construct requested Serializable Type according to id.
STBase const & operator*() const
static std::size_t constexpr max_size
STBase const * operator->() const
friend STVar make_stvar(Args &&... args)
STBase const & get() const
STVar make_stvar(Args &&... args)
bool operator==(STVar const &lhs, STVar const &rhs)
nonPresentObject_t nonPresentObject
bool operator!=(STVar const &lhs, STVar const &rhs)
defaultObject_t defaultObject
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
defaultObject_t()=default
nonPresentObject_t()=default