20#include <xrpl/beast/utility/instrumentation.h> 
   21#include <xrpl/protocol/SField.h> 
   43template <
class... Args>
 
   53#pragma push_macro("UNTYPED_SFIELD") 
   55#pragma push_macro("TYPED_SFIELD") 
   58#define UNTYPED_SFIELD(sfName, stiSuffix, fieldValue, ...) \ 
   59    SField const sfName(                                   \ 
   63        std::string_view(#sfName).substr(2).data(),        \ 
   65#define TYPED_SFIELD(sfName, stiSuffix, fieldValue, ...) \ 
   66    SF_##stiSuffix const sfName(                         \ 
   70        std::string_view(#sfName).substr(2).data(),      \ 
   81#include <xrpl/protocol/detail/sfields.macro> 
   84#pragma pop_macro("TYPED_SFIELD") 
   86#pragma pop_macro("UNTYPED_SFIELD") 
  101    , signingField(signing)
 
  102    , jsonName(fieldName.c_str())
 
  106        "ripple::SField::SField(tid,fv,fn,meta,signing) : fieldCode is unique");
 
  109        "ripple::SField::SField(tid,fv,fn,meta,signing) : fieldName is unique");
 
 
  116    , fieldType(STI_UNKNOWN)
 
  119    , fieldMeta(sMD_Never)
 
  122    , jsonName(fieldName.c_str())
 
  126        "ripple::SField::SField(fc,fn) : fieldCode is unique");
 
  129        "ripple::SField::SField(fc,fn) : fieldName is unique");
 
 
  141        return *(it->second);
 
 
  169        return *(it->second);
 
 
SField(SField const &)=delete
 
std::string const fieldName
 
static std::unordered_map< int, SField const  * > knownCodeToField
 
static IsSigning const notSigning
 
static SField const & getField(int fieldCode)
 
static int compare(SField const &f1, SField const &f2)
 
static std::unordered_map< std::string, SField const  * > knownNameToField
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
SField const sfIndex(access, STI_UINT256, 258, "index")
 
static SField::private_access_tag_t access
 
int field_code(SerializedTypeID id, int index)
 
SField const sfHash(access, STI_UINT256, 257, "hash")
 
private_access_tag_t()=default
 
TypedField(private_access_tag_t pat, Args &&... args)