20#include <xrpl/beast/utility/instrumentation.h>
21#include <xrpl/protocol/STBase.h>
22#include <boost/checked_delete.hpp>
32 XRPL_ASSERT(
fName,
"ripple::STBase::STBase : field is set");
64 return emplace(n, buf, std::move(*
this));
70 return STI_NOTPRESENT;
108 UNREACHABLE(
"ripple::STBase::add : not implemented");
116 "ripple::STBase::isEquivalent : type not present");
117 return t.
getSType() == STI_NOTPRESENT;
130 XRPL_ASSERT(
fName,
"ripple::STBase::setFName : field is set");
143 fName->
isBinary(),
"ripple::STBase::addFieldID : field is binary");
std::string const fieldName
SerializedTypeID const fieldType
A type which can be exported to a well known binary format.
void setFName(SField const &n)
A STBase is a field.
virtual STBase * move(std::size_t n, void *buf)
virtual bool isEquivalent(STBase const &t) const
virtual SerializedTypeID getSType() const
bool operator!=(const STBase &t) const
virtual std::string getText() const
SField const & getFName() const
STBase & operator=(const STBase &t)
static STBase * emplace(std::size_t n, void *buf, T &&val)
void addFieldID(Serializer &s) const
virtual std::string getFullText() const
virtual void add(Serializer &s) const
bool operator==(const STBase &t) const
virtual STBase * copy(std::size_t n, void *buf) const
virtual bool isDefault() const
virtual Json::Value getJson(JsonOptions) const
int addFieldID(int type, int name)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::ostream & operator<<(std::ostream &out, base_uint< Bits, Tag > const &u)
Note, should be treated as flags that can be | and &.