MZ2000 persona, Z80 April 2026, bug fixes and z80 timing fixes
This commit is contained in:
27
projects/Zeta/API/Z/classes/StringView.hpp
vendored
27
projects/Zeta/API/Z/classes/StringView.hpp
vendored
@@ -3,7 +3,7 @@
|
||||
|__ / | ___|___ ___|/ \
|
||||
/ /__| __| | | / - \
|
||||
/______|_____| |__| /__/ \__\
|
||||
Copyright (C) 2006-2024 Manuel Sainz de Baranda y Goñi.
|
||||
Copyright (C) 2006-2025 Manuel Sainz de Baranda y Goñi.
|
||||
Released under the terms of the GNU Lesser General Public License v3. */
|
||||
|
||||
#ifndef Z_classes_StringView_HPP
|
||||
@@ -61,52 +61,51 @@ namespace Zeta {template <class t = Char> struct StringView {
|
||||
|
||||
|
||||
# ifdef Z_WITH_STDCPP
|
||||
|
||||
friend Z_INLINE Boolean operator ==(const StringView &lhs, const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator ==(const StringView &lhs, const StringView &rhs) Z_NOTHROW
|
||||
{return lhs.size == rhs.size && !std::memcmp(lhs.data, rhs.data, lhs.size * sizeof(t));}
|
||||
|
||||
|
||||
friend Z_INLINE Boolean operator !=(const StringView &lhs, const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator !=(const StringView &lhs, const StringView &rhs) Z_NOTHROW
|
||||
{return lhs.size != rhs.size || std::memcmp(lhs.data, rhs.data, lhs.size * sizeof(t));}
|
||||
|
||||
|
||||
template <USize s>
|
||||
friend Z_INLINE Boolean operator ==(const StringView &lhs, const t (&rhs)[s]) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator ==(const StringView &lhs, const t (&rhs)[s]) Z_NOTHROW
|
||||
{return lhs.size == (s - 1) && !std::memcmp(lhs.data, rhs, (s - 1) * sizeof(t));}
|
||||
|
||||
|
||||
template <USize s>
|
||||
friend Z_INLINE Boolean operator !=(const StringView &lhs, const t (&rhs)[s]) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator !=(const StringView &lhs, const t (&rhs)[s]) Z_NOTHROW
|
||||
{return lhs.size != (s - 1) || std::memcmp(lhs.data, rhs, (s - 1) * sizeof(t));}
|
||||
|
||||
|
||||
friend Z_INLINE Boolean operator ==(const StringView &lhs, const t *rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator ==(const StringView &lhs, const t *rhs) Z_NOTHROW
|
||||
{return lhs.size * sizeof(t) == std::strlen(rhs) && !std::memcmp(lhs.data, rhs, lhs.size * sizeof(t));}
|
||||
|
||||
|
||||
friend Z_INLINE Boolean operator !=(const StringView &lhs, const t *rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator !=(const StringView &lhs, const t *rhs) Z_NOTHROW
|
||||
{return lhs.size * sizeof(t) != std::strlen(rhs) || std::memcmp(lhs.data, rhs, lhs.size * sizeof(t));}
|
||||
|
||||
|
||||
template <USize s>
|
||||
friend Z_INLINE Boolean operator ==(const t (&lhs)[s], const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator ==(const t (&lhs)[s], const StringView &rhs) Z_NOTHROW
|
||||
{return rhs.size == (s - 1) && !std::memcmp(rhs.data, lhs, (s - 1) * sizeof(t));}
|
||||
|
||||
|
||||
template <USize s>
|
||||
friend Z_INLINE Boolean operator !=(const t (&lhs)[s], const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator !=(const t (&lhs)[s], const StringView &rhs) Z_NOTHROW
|
||||
{return rhs.size != (s - 1) || std::memcmp(rhs.data, lhs, (s - 1) * sizeof(t));}
|
||||
|
||||
|
||||
friend Z_INLINE Boolean operator ==(const t *lhs, const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator ==(const t *lhs, const StringView &rhs) Z_NOTHROW
|
||||
{return rhs.size * sizeof(t) == std::strlen(lhs) && !std::memcmp(rhs.data, lhs, rhs.size * sizeof(t));}
|
||||
|
||||
|
||||
friend Z_INLINE Boolean operator !=(const t *lhs, const StringView &rhs) Z_NOTHROW
|
||||
friend Z_INLINE Bool operator !=(const t *lhs, const StringView &rhs) Z_NOTHROW
|
||||
{return rhs.size * sizeof(t) != std::strlen(lhs) || std::memcmp(rhs.data, lhs, rhs.size * sizeof(t));}
|
||||
|
||||
# endif
|
||||
|
||||
|
||||
};}
|
||||
|
||||
|
||||
#endif // Z_classes_StringView_HPP
|
||||
|
||||
Reference in New Issue
Block a user