[ox/std] Add operator+(...) to BString
This commit is contained in:
parent
99cc853b94
commit
627fb387e6
26
deps/ox/src/ox/std/bstring.hpp
vendored
26
deps/ox/src/ox/std/bstring.hpp
vendored
@ -37,6 +37,12 @@ class BString {
|
||||
|
||||
constexpr BString &operator+=(int64_t i) noexcept;
|
||||
|
||||
constexpr BString operator+(const char *str) const noexcept;
|
||||
|
||||
constexpr BString operator+(char *str) const noexcept;
|
||||
|
||||
constexpr BString operator+(int64_t i) const noexcept;
|
||||
|
||||
constexpr bool operator==(const BString &other) const noexcept;
|
||||
|
||||
constexpr bool operator!=(const BString &other) noexcept;
|
||||
@ -123,6 +129,26 @@ constexpr BString<size> &BString<size>::operator+=(int64_t i) noexcept {
|
||||
return this->operator+=(str);
|
||||
}
|
||||
|
||||
template<std::size_t size>
|
||||
constexpr BString<size> BString<size>::operator+(const char *str) const noexcept {
|
||||
auto out = *this;
|
||||
std::size_t strLen = ox_strlen(str) + 1;
|
||||
oxIgnoreError(out.append(str, strLen));
|
||||
return out;
|
||||
}
|
||||
|
||||
template<std::size_t size>
|
||||
constexpr BString<size> BString<size>::operator+(char *str) const noexcept {
|
||||
return *this + static_cast<const char*>(str);
|
||||
}
|
||||
|
||||
template<std::size_t size>
|
||||
constexpr BString<size> BString<size>::operator+(int64_t i) const noexcept {
|
||||
char str[65] = {};
|
||||
ox_itoa(i, str);
|
||||
return this->operator+(str);
|
||||
}
|
||||
|
||||
template<std::size_t buffLen>
|
||||
constexpr bool BString<buffLen>::operator==(const BString<buffLen> &other) const noexcept {
|
||||
bool retval = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user