20#ifndef RIPPLE_PROTOCOL_SOTEMPLATE_H_INCLUDED
21#define RIPPLE_PROTOCOL_SOTEMPLATE_H_INCLUDED
23#include <xrpl/basics/contract.h>
24#include <xrpl/protocol/SField.h>
63 nm +=
": '" + fieldName.
getName() +
"'";
64 Throw<std::runtime_error>(
65 "SField (" + nm +
") in SOElement must be useful.");
std::string const & getName() const
An element in a SOTemplate.
std::reference_wrapper< SField const > sField_
SOETxMPTIssue supportMpt_
void init(SField const &fieldName) const
SField const & sField() const
SOElement(TypedField< T > const &fieldName, SOEStyle style, SOETxMPTIssue supportMpt=soeMPTNotSupported)
SOETxMPTIssue supportMPT() const
SOElement(SField const &fieldName, SOEStyle style)
Defines the fields and their attributes within a STObject.
std::vector< SOElement >::const_iterator cend() const
SOEStyle style(SField const &sf) const
std::vector< SOElement >::const_iterator cbegin() const
std::vector< SOElement >::const_iterator end() const
SOTemplate & operator=(SOTemplate &&other)=default
std::vector< SOElement > elements_
std::vector< SOElement >::const_iterator begin() const
std::vector< int > indices_
std::size_t size() const
The number of entries in this template.
int getIndex(SField const &) const
Retrieve the position of a named field.
SOTemplate(SOTemplate &&other)=default
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
SOETxMPTIssue
Amount fields that can support MPT.
SOEStyle
Kind of element in each entry of an SOTemplate.
A field with a type known at compile time.