Refactoring discussions

Directories and namespaces

  • Namespace and location of QueryInput, QueryResult and QueryBuilder (currently armem::client::)
  • Move armem/query into "server area" (this is where queries are processed, not built)
  • Rename directory armem/component into something like server? Create a server namespace (similar to client)?
  • see below

Code style

  • Use using instead of typedef

Design

  • Use values instead of std::unique_ptr in Memory data structure
  • Use std::filesystem::path in EasyStringEntityHistory
  • [Rejected] Store type information in EntityInstance. Maybe also in Entity and EntitySnapshot. (To this end, TypedEntityContainer could be made independent of EntityContainer, as its only a member + some functions.)

DiskWriter

  • Avoid creating a directory in DiskWriter (default) constructor
  • Add a DiskWriter.cpp
  • Add virtual destructors (DiskWriter, NlohmannJSONDiskWriter)
Edited by Rainer Kartmann