hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
byte_range.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_SHARED_MODEL_BYTE_RANGE_HPP
7 #define IROHA_SHARED_MODEL_BYTE_RANGE_HPP
8 
9 #include <cstddef>
10 #include <string_view>
11 
12 namespace shared_model {
13  namespace interface {
14  namespace types {
15 
16  using ByteRange = std::basic_string_view<std::byte>;
17 
18  template <typename Source>
19  inline ByteRange makeByteRange(const Source &str) {
20  static_assert(
21  sizeof(std::byte) == sizeof(std::decay_t<decltype(str.data()[0])>),
22  "Type size mismatch!");
23  return ByteRange{reinterpret_cast<const std::byte *>(str.data()),
24  str.size()};
25  }
26  } // namespace types
27  } // namespace interface
28 } // namespace shared_model
29 
30 #endif
ByteRange makeByteRange(const Source &str)
Definition: byte_range.hpp:19
Definition: byte_range.hpp:14
Definition: command_executor.hpp:12
std::basic_string_view< std::byte > ByteRange
Definition: byte_range.hpp:16