#pragma once #include #include namespace DB { struct InMemoryDirectoryPathMap; class FlatDirectoryStructureKeyGenerator : public IObjectStorageKeysGenerator { public: explicit FlatDirectoryStructureKeyGenerator(String storage_key_prefix_, std::weak_ptr path_map_); ObjectStorageKey generate(const String & path, bool is_directory, const std::optional & key_prefix) const override; private: const String storage_key_prefix; std::weak_ptr path_map; }; }