|
|
@@ -24,7 +24,7 @@ protected:
|
|
|
public:
|
|
|
CSaverBase(IBinaryWriter * w): writer(w){};
|
|
|
|
|
|
- inline void write(const void * data, unsigned size)
|
|
|
+ void write(const void * data, unsigned size)
|
|
|
{
|
|
|
writer->write(reinterpret_cast<const std::byte*>(data), size);
|
|
|
};
|
|
|
@@ -86,7 +86,7 @@ class BinarySerializer : public CSaverBase
|
|
|
{
|
|
|
public:
|
|
|
virtual void savePtr(CSaverBase &ar, const void *data) const =0;
|
|
|
- virtual ~CBasicPointerSaver(){}
|
|
|
+ virtual ~CBasicPointerSaver() = default;
|
|
|
|
|
|
template<typename T> static CBasicPointerSaver *getApplier(const T * t=nullptr)
|
|
|
{
|
|
|
@@ -115,13 +115,13 @@ public:
|
|
|
using Version = ESerializationVersion;
|
|
|
|
|
|
std::map<std::string, uint32_t> savedStrings;
|
|
|
- std::map<const Serializeable*, ui32> savedPointers;
|
|
|
+ std::map<const Serializeable*, uint32_t> savedPointers;
|
|
|
|
|
|
const Version version = Version::CURRENT;
|
|
|
bool smartPointerSerialization;
|
|
|
bool saving;
|
|
|
|
|
|
- bool hasFeature(Version what)
|
|
|
+ bool hasFeature(Version what) const
|
|
|
{
|
|
|
return version >= what;
|
|
|
};
|
|
|
@@ -162,7 +162,7 @@ public:
|
|
|
template < typename T, typename std::enable_if_t < std::is_same_v<T, bool>, int > = 0 >
|
|
|
void save(const T &data)
|
|
|
{
|
|
|
- ui8 writ = static_cast<ui8>(data);
|
|
|
+ uint8_t writ = static_cast<uint8_t>(data);
|
|
|
save(writ);
|
|
|
}
|
|
|
|
|
|
@@ -198,15 +198,15 @@ public:
|
|
|
template < typename T, typename std::enable_if_t < std::is_enum_v<T>, int > = 0 >
|
|
|
void save(const T &data)
|
|
|
{
|
|
|
- si32 writ = static_cast<si32>(data);
|
|
|
+ int32_t writ = static_cast<int32_t>(data);
|
|
|
*this & writ;
|
|
|
}
|
|
|
|
|
|
template < typename T, typename std::enable_if_t < std::is_array_v<T>, int > = 0 >
|
|
|
void save(const T &data)
|
|
|
{
|
|
|
- ui32 size = std::size(data);
|
|
|
- for(ui32 i=0; i < size; i++)
|
|
|
+ uint32_t size = std::size(data);
|
|
|
+ for(uint32_t i=0; i < size; i++)
|
|
|
*this & data[i];
|
|
|
}
|
|
|
|
|
|
@@ -261,7 +261,7 @@ public:
|
|
|
{
|
|
|
// We might have an object that has multiple inheritance and store it via the non-first base pointer.
|
|
|
// Therefore, all pointers need to be normalized to the actual object address.
|
|
|
- const Serializeable * actualPointer = static_cast<const Serializeable*>(data);
|
|
|
+ const auto * actualPointer = static_cast<const Serializeable*>(data);
|
|
|
auto i = savedPointers.find(actualPointer);
|
|
|
if(i != savedPointers.end())
|
|
|
{
|
|
|
@@ -271,7 +271,7 @@ public:
|
|
|
}
|
|
|
|
|
|
//give id to this pointer
|
|
|
- ui32 pid = (ui32)savedPointers.size();
|
|
|
+ uint32_t pid = savedPointers.size();
|
|
|
savedPointers[actualPointer] = pid;
|
|
|
save(pid);
|
|
|
}
|
|
|
@@ -318,30 +318,30 @@ public:
|
|
|
template <typename T, typename std::enable_if_t < !std::is_same_v<T, bool >, int > = 0>
|
|
|
void save(const std::vector<T> &data)
|
|
|
{
|
|
|
- ui32 length = (ui32)data.size();
|
|
|
+ uint32_t length = data.size();
|
|
|
*this & length;
|
|
|
- for(ui32 i=0;i<length;i++)
|
|
|
+ for(uint32_t i=0;i<length;i++)
|
|
|
save(data[i]);
|
|
|
}
|
|
|
template <typename T, typename std::enable_if_t < !std::is_same_v<T, bool >, int > = 0>
|
|
|
void save(const std::deque<T> & data)
|
|
|
{
|
|
|
- ui32 length = (ui32)data.size();
|
|
|
+ uint32_t length = data.size();
|
|
|
*this & length;
|
|
|
- for(ui32 i = 0; i < length; i++)
|
|
|
+ for(uint32_t i = 0; i < length; i++)
|
|
|
save(data[i]);
|
|
|
}
|
|
|
template <typename T, size_t N>
|
|
|
void save(const std::array<T, N> &data)
|
|
|
{
|
|
|
- for(ui32 i=0; i < N; i++)
|
|
|
+ for(uint32_t i=0; i < N; i++)
|
|
|
save(data[i]);
|
|
|
}
|
|
|
template <typename T>
|
|
|
void save(const std::set<T> &data)
|
|
|
{
|
|
|
auto & d = const_cast<std::set<T> &>(data);
|
|
|
- ui32 length = (ui32)d.size();
|
|
|
+ uint32_t length = d.size();
|
|
|
save(length);
|
|
|
for(auto i = d.begin(); i != d.end(); i++)
|
|
|
save(*i);
|
|
|
@@ -350,7 +350,7 @@ public:
|
|
|
void save(const std::unordered_set<T, U> &data)
|
|
|
{
|
|
|
auto & d = const_cast<std::unordered_set<T, U> &>(data);
|
|
|
- ui32 length = (ui32)d.size();
|
|
|
+ uint32_t length = d.size();
|
|
|
*this & length;
|
|
|
for(auto i = d.begin(); i != d.end(); i++)
|
|
|
save(*i);
|
|
|
@@ -359,7 +359,7 @@ public:
|
|
|
void save(const std::list<T> &data)
|
|
|
{
|
|
|
auto & d = const_cast<std::list<T> &>(data);
|
|
|
- ui32 length = (ui32)d.size();
|
|
|
+ uint32_t length = d.size();
|
|
|
*this & length;
|
|
|
for(auto i = d.begin(); i != d.end(); i++)
|
|
|
save(*i);
|
|
|
@@ -371,7 +371,7 @@ public:
|
|
|
{
|
|
|
if (data.empty())
|
|
|
{
|
|
|
- save(ui32(0));
|
|
|
+ save(static_cast<uint32_t>(0));
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -379,7 +379,7 @@ public:
|
|
|
|
|
|
if (it == savedStrings.end())
|
|
|
{
|
|
|
- save(ui32(data.length()));
|
|
|
+ save(static_cast<uint32_t>(data.length()));
|
|
|
this->write(static_cast<const void *>(data.data()), data.size());
|
|
|
|
|
|
// -1, -2...
|
|
|
@@ -395,7 +395,7 @@ public:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- save(ui32(data.length()));
|
|
|
+ save(static_cast<uint32_t>(data.length()));
|
|
|
this->write(static_cast<const void *>(data.data()), data.size());
|
|
|
}
|
|
|
}
|
|
|
@@ -409,7 +409,7 @@ public:
|
|
|
template <typename T1, typename T2>
|
|
|
void save(const std::unordered_map<T1,T2> &data)
|
|
|
{
|
|
|
- *this & ui32(data.size());
|
|
|
+ *this & static_cast<uint32_t>(data.size());
|
|
|
for(auto i = data.begin(); i != data.end(); i++)
|
|
|
{
|
|
|
save(i->first);
|
|
|
@@ -419,7 +419,7 @@ public:
|
|
|
template <typename T1, typename T2>
|
|
|
void save(const std::map<T1,T2> &data)
|
|
|
{
|
|
|
- *this & ui32(data.size());
|
|
|
+ *this & static_cast<uint32_t>(data.size());
|
|
|
for(auto i = data.begin(); i != data.end(); i++)
|
|
|
{
|
|
|
save(i->first);
|
|
|
@@ -429,7 +429,7 @@ public:
|
|
|
template <typename T1, typename T2>
|
|
|
void save(const std::multimap<T1, T2> &data)
|
|
|
{
|
|
|
- *this & ui32(data.size());
|
|
|
+ *this & static_cast<uint32_t>(data.size());
|
|
|
for(auto i = data.begin(); i != data.end(); i++)
|
|
|
{
|
|
|
save(i->first);
|
|
|
@@ -439,7 +439,7 @@ public:
|
|
|
template<typename T0, typename... TN>
|
|
|
void save(const std::variant<T0, TN...> & data)
|
|
|
{
|
|
|
- si32 which = data.index();
|
|
|
+ int32_t which = data.index();
|
|
|
save(which);
|
|
|
|
|
|
VariantVisitorSaver<BinarySerializer> visitor(*this);
|
|
|
@@ -450,26 +450,26 @@ public:
|
|
|
{
|
|
|
if(data)
|
|
|
{
|
|
|
- save((ui8)1);
|
|
|
+ save(static_cast<uint8_t>(1));
|
|
|
save(*data);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- save((ui8)0);
|
|
|
+ save(static_cast<uint32_t>(0));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
template <typename T>
|
|
|
void save(const boost::multi_array<T, 3> &data)
|
|
|
{
|
|
|
- ui32 length = data.num_elements();
|
|
|
+ uint32_t length = data.num_elements();
|
|
|
*this & length;
|
|
|
auto shape = data.shape();
|
|
|
- ui32 x = shape[0];
|
|
|
- ui32 y = shape[1];
|
|
|
- ui32 z = shape[2];
|
|
|
+ uint32_t x = shape[0];
|
|
|
+ uint32_t y = shape[1];
|
|
|
+ uint32_t z = shape[2];
|
|
|
*this & x & y & z;
|
|
|
- for(ui32 i = 0; i < length; i++)
|
|
|
+ for(uint32_t i = 0; i < length; i++)
|
|
|
save(data.data()[i]);
|
|
|
}
|
|
|
template <std::size_t T>
|