EVMC
evmc::address Struct Reference

The big-endian 160-bit hash suitable for keeping an Ethereum address. More...

#include <evmc.hpp>

Inherits evmc_address.

Public Member Functions

constexpr address (evmc_address init={}) noexcept
 Default and converting constructor. More...
 
constexpr address (uint64_t v) noexcept
 Converting constructor from unsigned integer value. More...
 
constexpr operator bool () const noexcept
 Explicit operator converting to bool.
 

Additional Inherited Members

- Public Attributes inherited from evmc_address
uint8_t bytes [20]
 The 20 bytes of the hash.
 

Detailed Description

The big-endian 160-bit hash suitable for keeping an Ethereum address.

This type wraps C evmc_address to make sure objects of this type are always initialized.

Definition at line 25 of file evmc.hpp.

Constructor & Destructor Documentation

◆ address() [1/2]

constexpr evmc::address::address ( evmc_address  init = {})
inlineconstexprnoexcept

Default and converting constructor.

Initializes bytes to zeros if not other init value provided.

Definition at line 30 of file evmc.hpp.

30 {}) noexcept : evmc_address{init} {}
Big-endian 160-bit hash suitable for keeping an Ethereum address.
Definition: evmc.h:69

◆ address() [2/2]

constexpr evmc::address::address ( uint64_t  v)
inlineexplicitconstexprnoexcept

Converting constructor from unsigned integer value.

This constructor assigns the v value to the last 8 bytes [12:19] in big-endian order.

Definition at line 36 of file evmc.hpp.

37  : evmc_address{{0,
38  0,
39  0,
40  0,
41  0,
42  0,
43  0,
44  0,
45  0,
46  0,
47  0,
48  0,
49  static_cast<uint8_t>(v >> 56),
50  static_cast<uint8_t>(v >> 48),
51  static_cast<uint8_t>(v >> 40),
52  static_cast<uint8_t>(v >> 32),
53  static_cast<uint8_t>(v >> 24),
54  static_cast<uint8_t>(v >> 16),
55  static_cast<uint8_t>(v >> 8),
56  static_cast<uint8_t>(v >> 0)}}
57  {}

The documentation for this struct was generated from the following file: