20 #ifndef RIPPLE_PROTOCOL_STBITSTRING_H_INCLUDED
21 #define RIPPLE_PROTOCOL_STBITSTRING_H_INCLUDED
23 #include <ripple/beast/utility/Zero.h>
24 #include <ripple/protocol/STBase.h>
28 template <std::
size_t Bits>
29 class STBitString final :
public STBase
60 template <
typename Tag>
82 template <std::
size_t Bits>
87 template <std::
size_t Bits>
92 template <std::
size_t Bits>
98 template <std::
size_t Bits>
104 template <std::
size_t Bits>
108 return emplace(n, buf, *
this);
111 template <std::
size_t Bits>
115 return emplace(n, buf, std::move(*
this));
139 template <std::
size_t Bits>
146 template <std::
size_t Bits>
151 return v && (value_ == v->value_);
154 template <std::
size_t Bits>
158 assert(getFName().isBinary());
159 assert(getFName().fieldType == getSType());
163 template <std::
size_t Bits>
164 template <
typename Tag>
171 template <std::
size_t Bits>
178 template <std::
size_t Bits>
184 template <std::
size_t Bits>
188 return value_ == beast::zero;
value_type const & value() const
void setValue(base_uint< Bits, Tag > const &v)
STBase * copy(std::size_t n, void *buf) const override
STBase * move(std::size_t n, void *buf) override
void add(Serializer &s) const override
base_uint< Bits > value_type
bool isDefault() const override
bool isEquivalent(const STBase &t) const override
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
int addBitString(base_uint< Bits, Tag > const &v)
std::string getText() const override
A type which can be exported to a well known binary format.
std::string to_string(Manifest const &m)
Format the specified manifest to a string for debugging purposes.
SerializedTypeID getSType() const override