diff options
Diffstat (limited to 'source/fud_string.cpp')
-rw-r--r-- | source/fud_string.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/fud_string.cpp b/source/fud_string.cpp index 27496ff..57bf1e0 100644 --- a/source/fud_string.cpp +++ b/source/fud_string.cpp @@ -157,6 +157,20 @@ FudStatus String::nullTerminate() return FudStatus::StringInvalid; } +[[nodiscard]] std::optional<utf8> String::back() +{ + if (!valid()) { + return std::nullopt; + } + + utf8 backChar = data()[m_length - 1]; + if (Ascii::valid(backChar)) { + return backChar; + } + + return std::nullopt; +} + std::optional<utf8> String::pop() { if (m_length < 1) { |