|
EnTT
3.10.0
|
Zero overhead unique identifier. More...
#include <hashed_string.hpp>


Public Types | |
| using | value_type = typename base_type::value_type |
| Character type. | |
| using | size_type = typename base_type::size_type |
| Unsigned integer type. | |
| using | hash_type = typename base_type::hash_type |
| Unsigned integer type. | |
Public Member Functions | |
| constexpr | basic_hashed_string () |
| Constructs an empty hashed string. | |
| constexpr | basic_hashed_string (const value_type *str, const size_type len) |
| Constructs a hashed string from a string view. More... | |
| template<std::size_t N> | |
| constexpr | basic_hashed_string (const value_type(&str)[N]) |
| Constructs a hashed string from an array of const characters. More... | |
| constexpr | basic_hashed_string (const_wrapper wrapper) |
Explicit constructor on purpose to avoid constructing a hashed string directly from a const value_type *. More... | |
| constexpr size_type | size () const |
| Returns the size a hashed string. More... | |
| constexpr const value_type * | data () const |
| Returns the human-readable representation of a hashed string. More... | |
| constexpr hash_type | value () const |
| Returns the numeric representation of a hashed string. More... | |
| constexpr | operator const value_type * () const |
| Returns the human-readable representation of a hashed string. More... | |
| constexpr | operator hash_type () const |
| Returns the numeric representation of a hashed string. More... | |
Static Public Member Functions | |
| static constexpr hash_type | value (const value_type *str, const size_type len) |
| Returns directly the numeric representation of a string view. More... | |
| template<std::size_t N> | |
| static constexpr hash_type | value (const value_type(&str)[N]) |
| Returns directly the numeric representation of a string. More... | |
| static constexpr hash_type | value (const_wrapper wrapper) |
| Returns directly the numeric representation of a string. More... | |
Zero overhead unique identifier.
A hashed string is a compile-time tool that allows users to use human-readable identifiers in the codebase while using their numeric counterparts at runtime.
Because of that, a hashed string can also be used in constant expressions if required.
| Char | Character type. |
Definition at line 69 of file hashed_string.hpp.
|
inlineconstexpr |
Constructs a hashed string from a string view.
| str | Human-readable identifier. |
| len | Length of the string to hash. |
Definition at line 148 of file hashed_string.hpp.
|
inlineconstexpr |
Constructs a hashed string from an array of const characters.
| N | Number of characters of the identifier. |
| str | Human-readable identifier. |
Definition at line 157 of file hashed_string.hpp.
|
inlineexplicitconstexpr |
Explicit constructor on purpose to avoid constructing a hashed string directly from a const value_type *.
| wrapper | Helps achieving the purpose by relying on overloading. |
Definition at line 169 of file hashed_string.hpp.
|
inlineconstexpr |
Returns the human-readable representation of a hashed string.
Definition at line 184 of file hashed_string.hpp.
|
inlineconstexpr |
Returns the human-readable representation of a hashed string.
Definition at line 197 of file hashed_string.hpp.
|
inlineconstexpr |
Returns the numeric representation of a hashed string.
Definition at line 205 of file hashed_string.hpp.
|
inlineconstexpr |
Returns the size a hashed string.
Definition at line 176 of file hashed_string.hpp.
|
inlineconstexpr |
Returns the numeric representation of a hashed string.
Definition at line 192 of file hashed_string.hpp.
|
inlinestaticconstexpr |
Returns directly the numeric representation of a string view.
| str | Human-readable identifier. |
| len | Length of the string to hash. |
Definition at line 115 of file hashed_string.hpp.
|
inlinestaticconstexpr |
Returns directly the numeric representation of a string.
| N | Number of characters of the identifier. |
| str | Human-readable identifier. |
Definition at line 126 of file hashed_string.hpp.
|
inlinestaticconstexpr |
Returns directly the numeric representation of a string.
| wrapper | Helps achieving the purpose by relying on overloading. |
Definition at line 135 of file hashed_string.hpp.