Files
IfcOpenShell/src/serializers/rocks_db_serializer.h
T
Thomas Krijnen 7ae6bf4374 Rename geometry and serializer files
Apply the rename manifest, normalize serializer filenames to the classes they define, and update includes and CMake source lists.

Generated with the assistance of an AI coding tool.
2026-08-08 14:20:05 +02:00

33 lines
973 B
C++

#ifndef ROCKSDBSERIALIZER_H
#define ROCKSDBSERIALIZER_H
#ifdef IFOPSH_WITH_ROCKSDB
#include "../serializers/serializers_api.h"
#include "../ifcgeom/serializer.h"
#include <string>
#include <vector>
class SERIALIZERS_API RocksDbSerializer : public ifcopenshell::geom::serializer {
private:
std::string input_filename_;
std::string rocksdb_filename_;
std::vector<std::string> skip_supertypes_;
void write_streaming_();
public:
RocksDbSerializer(const std::string& input_filename, const std::string& rocksdb_filename, const std::vector<std::string>& skip_supertypes = {}, ifcopenshell::logger* logger = nullptr);
virtual ~RocksDbSerializer() {}
bool ready() override { return true; }
bool is_streaming() const override { return true; }
void writeHeader() override {}
void finalize() override;
void setFile(ifcopenshell::file&) override { throw ifcopenshell::exception("Streaming serializer uses input filename supplied on construction"); }
};
#endif
#endif