New cpp folder structure

Signed-off-by: Alexander Borsuk <me@alex.bio>
This commit is contained in:
Alexander Borsuk
2025-07-17 22:35:52 +03:00
committed by Konstantin Pastbin
parent c9cbb64f12
commit 76ffc99abd
2390 changed files with 345 additions and 339 deletions

View File

@@ -0,0 +1,38 @@
#include "kml/serdes_binary.hpp"
namespace kml
{
namespace binary
{
SerializerKml::SerializerKml(FileData & data)
: m_data(data)
{
ClearCollectionIndex();
// Collect all strings and substitute each for index.
auto const avgSz = data.m_bookmarksData.size() * 2 + data.m_tracksData.size() * 2 + 10;
LocalizableStringCollector collector(avgSz);
CollectorVisitor<decltype(collector)> visitor(collector);
m_data.Visit(visitor);
m_strings = collector.StealCollection();
}
SerializerKml::~SerializerKml()
{
ClearCollectionIndex();
}
void SerializerKml::ClearCollectionIndex()
{
LocalizableStringCollector collector(0);
CollectorVisitor<decltype(collector)> clearVisitor(collector, true /* clear index */);
m_data.Visit(clearVisitor);
}
DeserializerKml::DeserializerKml(FileData & data)
: m_data(data)
{
m_data = {};
}
} // namespace binary
} // namespace kml