Class sym::Key#
-
class Key#
-
Contains a letter plus an integral subscript and superscript. Can construct with a letter, a letter + sub, or a letter + sub + super, but not letter + super.
TODO(hayk): Consider an abstraction where Key contains a type enum.
Public Types
-
using letter_t = char#
Public Functions
-
constexpr Key() = default#
-
inline constexpr Key(const letter_t letter, const subscript_t sub = kInvalidSub, const superscript_t super = kInvalidSuper)#
-
inline constexpr Key(const key_t &key)#
-
inline constexpr subscript_t Sub() const noexcept#
-
inline constexpr superscript_t Super() const noexcept#
-
inline constexpr Key WithSub(const subscript_t sub) const#
-
inline constexpr Key WithSuper(const superscript_t super) const#
-
inline key_t GetLcmType() const noexcept#
Public Static Functions
Public Static Attributes
-
static constexpr subscript_t kInvalidSub = std::numeric_limits<subscript_t>::min()#
-
static constexpr superscript_t kInvalidSuper = std::numeric_limits<superscript_t>::min()#
-
struct LexicalCompare#
Implementation of the Compare spec for use in containers
-
using letter_t = char#