Classes | |
class | eagine::identifier_encoding< CharSet > |
Helper class implementing identifier encoding functionality. More... | |
struct | eagine::default_identifier_char_set |
Characted encoding table for identifier. More... | |
class | eagine::identifier_name< M > |
Helper template for unpacking of identifier into a character string. More... | |
class | eagine::basic_identifier< M, B, CharSet, UIntT > |
Basic template for limited length, packed string identifiers. More... | |
struct | eagine::message_id |
Class storing two identifier values representing class/method pair. More... | |
struct | eagine::static_message_id< ClassId, MethodId > |
Template with two identifier parameters representing class/method pair. More... | |
Macros | |
#define | EAGINE_ID(NAME) |
Macro for constructing instances of eagine::identifier. More... | |
#define | EAGINE_ID_V(NAME) |
Macro for constructing instances of eagine::identifier_t. More... | |
#define | EAGINE_TAG_TYPE(NAME) |
Macro for defining selector types corresponding to identifier NAME . More... | |
#define | EAGINE_TAG(NAME) |
Macro for defining selector values corresponding to identifier NAME . More... | |
#define | EAGINE_LONG_ID(NAME) |
Macro for constructing instances of eagine::long_identifier. More... | |
#define | EAGINE_MSG_TYPE(API, NAME) |
Macro for declaring instantiations of static_message_id. More... | |
#define | EAGINE_MSG_ID(API, NAME) |
Macro for instantiating objects of static_message_id. More... | |
Typedefs | |
using | eagine::identifier = basic_identifier< 10, 6, default_identifier_char_set, identifier_t > |
Default identifier type used throughout the project. More... | |
using | eagine::long_identifier = basic_identifier< 20, 6, default_identifier_char_set, long_identifier_t > |
Long identifier type used throughout the project. More... | |
using | eagine::identifier_t = std::uint64_t |
The underlying integer type for eagine::identifier. More... | |
using | eagine::long_identifier_t = __uint128_t |
The underlying integer type for eagine::long_identifier. More... | |
Functions | |
template<std::size_t M> | |
static auto | eagine::operator<< (std::ostream &out, const identifier_name< M > &n) -> std::ostream & |
Operator for writing identifier_name into output streams. More... | |
auto | eagine::byte_to_identifier (byte b) noexcept -> identifier |
Creates an identifier representing a byte value as a hex string. More... | |
auto | eagine::dec_to_identifier (int i) noexcept -> identifier |
Creates an identifier representing an integer value as a decimal string. More... | |
template<identifier_t ClassId, identifier_t MethodId> | |
auto | eagine::operator== (message_id l, static_message_id< ClassId, MethodId > r) noexcept |
Equality comparison between message_id and static_message_id. | |
auto | eagine::random_identifier (any_random_engine< std::uint32_t > engine) -> identifier |
Creates an random identifier using the specified random engine. More... | |
auto | eagine::random_identifier (any_random_engine< std::uint64_t > engine) -> identifier |
Creates an random identifier using the specified random engine. More... | |
auto | eagine::random_identifier () -> identifier |
Creates an random identifier using a default random engine. More... | |
#define EAGINE_ID | ( | NAME | ) |
Macro for constructing instances of eagine::identifier.
#define EAGINE_ID_V | ( | NAME | ) |
Macro for constructing instances of eagine::identifier_t.
#define EAGINE_LONG_ID | ( | NAME | ) |
Macro for constructing instances of eagine::long_identifier.
#define EAGINE_MSG_ID | ( | API, | |
NAME | |||
) |
Macro for instantiating objects of static_message_id.
#define EAGINE_MSG_TYPE | ( | API, | |
NAME | |||
) |
Macro for declaring instantiations of static_message_id.
#define EAGINE_TAG | ( | NAME | ) |
Macro for defining selector values corresponding to identifier NAME
.
#define EAGINE_TAG_TYPE | ( | NAME | ) |
Macro for defining selector types corresponding to identifier NAME
.
using eagine::identifier = typedef basic_identifier<10, 6, default_identifier_char_set, identifier_t> |
Default identifier type used throughout the project.
Allows to store constant short string identifiers with maximum length of 10.
using eagine::identifier_t = typedef std::uint64_t |
The underlying integer type for eagine::identifier.
using eagine::long_identifier = typedef basic_identifier<20, 6, default_identifier_char_set, long_identifier_t> |
Long identifier type used throughout the project.
Allows to store constant short string identifiers with maximum length of 10.
using eagine::long_identifier_t = typedef __uint128_t |
The underlying integer type for eagine::long_identifier.
|
noexcept |
Creates an identifier representing a byte value as a hex string.
|
noexcept |
Creates an identifier representing an integer value as a decimal string.
|
inlinestatic |
Operator for writing identifier_name into output streams.
auto eagine::random_identifier | ( | ) | -> identifier |
Creates an random identifier using a default random engine.
auto eagine::random_identifier | ( | any_random_engine< std::uint32_t > | engine | ) | -> identifier |
Creates an random identifier using the specified random engine.
auto eagine::random_identifier | ( | any_random_engine< std::uint64_t > | engine | ) | -> identifier |
Creates an random identifier using the specified random engine.