struct eosio::name

Class List > eosio :: name

Public Types

Type Name
enum raw { }

Public Attributes

Type Name
uint64_t value

Public Functions

Type Name
constexpr name ()
Construct a new name object defaulting to a value of 0.
constexpr name (uint64_t v)
Construct a new name object initialising value with v.
constexpr name (name::raw r)
Construct a new name object initialising value with r.
constexpr name (std::string_view str)
Construct a new name object initialising value with str.
constexpr uint8_t length () const
constexpr name suffix () const
constexpr operator raw () const
constexpr operator bool () const
char * write_as_string (char * begin, char * end, bool dry_run = false) const
std::string to_string () const
Returns the name value as a string by calling write_as_string() and returning the buffer produced by write_as_string()
void print () const

Public Static Functions

Type Name
static constexpr uint8_t char_to_value (char c)

Friends

Type Name
friend DataStream & operator<<
friend DataStream & operator>>

Detailed Description

Wraps a uint64_t to ensure it is only passed to methods that expect a name. Ensures value is only passed to methods that expect a name and that no mathematical operations occur. Also enables specialization of print

Public Types Documentation

enum raw

enum eosio::name::raw {
};

Public Attributes Documentation

variable value

uint64_t eosio::name::value;

Public Functions Documentation

function name (1/4)

constexpr eosio::name::name()

Construct a new name object defaulting to a value of 0.

Construct a new name

function name (2/4)

explicit constexpr eosio::name::name(
    uint64_t v
)

Construct a new name object initialising value with v.

Construct a new name given a unit64_t value

Parameters:

  • v - The unit64_t value

function name (3/4)

explicit constexpr eosio::name::name(
    name::raw r
)

Construct a new name object initialising value with r.

Construct a new name given a scoped enumerated type of raw (uint64_t).

Parameters:

  • r - The raw value which is a scoped enumerated type of unit64_t

function name (4/4)

explicit constexpr eosio::name::name(
    std::string_view str
)

Construct a new name object initialising value with str.

Construct a new name given an string.

Parameters:

  • str - The string value which validated then converted to unit64_t

function length

constexpr uint8_t eosio::name::length() const

Returns the length of the name

function suffix

constexpr name eosio::name::suffix() const

Returns the suffix of the name

function operator raw

constexpr eosio::name::operator raw() const

Casts a name to raw

Returns:

Returns an instance of raw based on the value of a name

function operator bool

explicit constexpr eosio::name::operator bool() const

Explicit cast to bool of the uint64_t value of the name

Returns:

Returns true if the name is set to the default value of 0 else true.

function write_as_string

char* eosio::name::write_as_string(
    char * begin,
    char * end,
    bool dry_run = false
) const

Writes the name as a string to the provided char buffer

Precondition:

The range [begin, end) must be a valid range of memory to write to.

Parameters:

  • begin - The start of the char buffer
  • end - Just past the end of the char buffer
  • dry_run - If true, do not actually write anything into the range.

Returns:

char* - Just past the end of the last character that would be written assuming dry_run == false and end was large enough to provide sufficient space. (Meaning only applies if returned pointer >= begin.)

Post

If the output string fits within the range [begin, end) and dry_run == false, the range [begin, returned pointer) contains the string representation of the name. Nothing is written if dry_run == true or returned pointer > end (insufficient space) or if returned pointer < begin (overflow in calculating desired end).

function to_string

std::string eosio::name::to_string() const

Returns the name value as a string by calling write_as_string() and returning the buffer produced by write_as_string()

Returns the name as a string.

function print

void eosio::name::print() const

Prints an names as base32 encoded string

Parameters:

  • name to be printed

Public Static Functions Documentation

function char_to_value

static static constexpr uint8_t eosio::name::char_to_value(
    char c
)

Converts a name Base32 symbol into its corresponding value

Parameters:

  • c - Character to be converted

Returns:

constexpr char - Converted value

Friends Documentation

friend operator<<

template<typename DataStream>
DataStream& operator<<(
    DataStream & ds,
    const name & t
)

friend operator>>

template<typename DataStream>
DataStream& operator>>(
    DataStream & ds,
    name & t
)

The documentation for this class was generated from the following file: libraries/eosiolib/core/eosio/name.hpp