Intialize StringView fields to default values/
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Deukhoofd 2020-07-04 15:33:59 +02:00
parent 25772e7d5a
commit 97b15650f1
Signed by: Deukhoofd
GPG Key ID: ADF2E9256009EDCE
2 changed files with 5 additions and 5 deletions

View File

@ -5,8 +5,8 @@
namespace ArbUt { namespace ArbUt {
class BasicStringView { class BasicStringView {
protected: protected:
size_t _length; size_t _length = 0;
uint32_t _hash; uint32_t _hash = 0;
constexpr BasicStringView(size_t length, uint32_t hash) : _length(length), _hash(hash) {} constexpr BasicStringView(size_t length, uint32_t hash) : _length(length), _hash(hash) {}

View File

@ -17,7 +17,7 @@
namespace ArbUt { namespace ArbUt {
class __ConstStringCharHolder { class __ConstStringCharHolder {
char* _value; char* _value = 0;
__ConstStringCharHolder(const __ConstStringCharHolder& o) = delete; __ConstStringCharHolder(const __ConstStringCharHolder& o) = delete;
__ConstStringCharHolder& operator=(const __ConstStringCharHolder& other) = delete; __ConstStringCharHolder& operator=(const __ConstStringCharHolder& other) = delete;
@ -43,14 +43,14 @@ namespace ArbUt {
static std::shared_ptr<__ConstStringCharHolder> __emptyString; static std::shared_ptr<__ConstStringCharHolder> __emptyString;
static inline const std::shared_ptr<__ConstStringCharHolder>& GetEmptyString() { return __emptyString; } static inline const std::shared_ptr<__ConstStringCharHolder>& GetEmptyString() { return __emptyString; }
std::shared_ptr<__ConstStringCharHolder> _str; std::shared_ptr<__ConstStringCharHolder> _str = GetEmptyString();
public: public:
StringView(const char* str) noexcept StringView(const char* str) noexcept
: BasicStringView(CalcLength(str), Hash(str)), _str(new __ConstStringCharHolder(str, CalcLength(str))) {} : BasicStringView(CalcLength(str), Hash(str)), _str(new __ConstStringCharHolder(str, CalcLength(str))) {}
StringView(const char* str, size_t length) noexcept StringView(const char* str, size_t length) noexcept
: BasicStringView(length, Hash(str)), _str(new __ConstStringCharHolder(str, length)) {} : BasicStringView(length, Hash(str)), _str(new __ConstStringCharHolder(str, length)) {}
StringView() noexcept : BasicStringView(0, Hash("")), _str(GetEmptyString()) {} StringView() noexcept : BasicStringView(0, Hash("")) {}
/* Copy operators */ /* Copy operators */
StringView(const StringView& other) noexcept : BasicStringView(other._length, other._hash), _str(other._str) {} StringView(const StringView& other) noexcept : BasicStringView(other._length, other._hash), _str(other._str) {}