MZ2000 persona, Z80 April 2026, bug fixes and z80 timing fixes

This commit is contained in:
Philip Smart
2026-05-13 20:55:04 +01:00
parent 516426a8c7
commit 5bbb3bcf5f
257 changed files with 13634 additions and 4193 deletions

View File

@@ -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