6 #ifndef IROHA_COMMON_BLOB_HPP 7 #define IROHA_COMMON_BLOB_HPP 30 template <
size_t size_>
31 class blob_t :
public std::array<byte_t, size_> {
43 constexpr
static size_t size() {
51 return std::string{this->begin(), this->end()};
59 reinterpret_cast<const char *
>(this->data()), this->
size()});
64 std::copy(data, data + size_, b.begin());
69 std::string_view data) {
70 if (data.size() != size_) {
72 std::string{
"blob_t: input string has incorrect length. Found: "}
73 + std::to_string(data.size())
74 + +
", required: " + std::to_string(size_));
76 return from_raw(reinterpret_cast<const byte_t *>(data.data()));
80 std::string_view hex) {
87 #endif // IROHA_COMMON_BLOB_HPP static expected::Result< blob_t< size_ >, std::string > from_hexstring(std::string_view hex)
Definition: blob.hpp:79
std::invalid_argument BadFormatException
Definition: blob.hpp:19
blob_t()
Definition: blob.hpp:36
static constexpr size_t size()
Definition: blob.hpp:43
std::string bytestringToHexstring(std::string_view str)
Definition: hexutils.hpp:51
std::string to_hexstring() const noexcept
Definition: blob.hpp:57
Definition: result_fwd.hpp:27
static blob_t< size_ > from_raw(const byte_t data[size_])
Definition: blob.hpp:62
std::string to_string() const noexcept
Definition: blob.hpp:50
Definition: block_query.hpp:15
static expected::Result< blob_t< size_ >, std::string > from_string(std::string_view data)
Definition: blob.hpp:68
iroha::expected::Result< std::string, const char * > hexstringToBytestringResult(std::string_view str)
Definition: hexutils.hpp:65
expected::Result< T, DbError > makeError(uint32_t code, char const *format, Args &&... args)
Definition: rocksdb_common.hpp:471
uint8_t byte_t
Definition: blob.hpp:20