Restrict access to the virtual functions move and copy

* These are meant to be used by detail::STVar only and
  are otherwise error-prone to call.
This commit is contained in:
Howard Hinnant
2021-10-19 14:02:30 -04:00
committed by Nik Bougalis
parent 74e6ed1af3
commit 0c13676d5f
13 changed files with 103 additions and 75 deletions

View File

@@ -42,12 +42,6 @@ public:
STBitString(SField const& n, const value_type& v);
STBitString(SerialIter& sit, SField const& name);
STBase*
copy(std::size_t n, void* buf) const override;
STBase*
move(std::size_t n, void* buf) override;
SerializedTypeID
getSType() const override;
@@ -71,6 +65,14 @@ public:
value() const;
operator value_type() const;
private:
STBase*
copy(std::size_t n, void* buf) const override;
STBase*
move(std::size_t n, void* buf) override;
friend class detail::STVar;
};
using STHash128 = STBitString<128>;