#pragma once #include #include #include #include #include namespace torch::jit { class UpgradersMap { public: void set_content( std::unordered_map>&& content); int count(); const std::unordered_map>& get_content(); bool is_populated(); // THESE METHODS ARE ONLY USED FOR TESTING PURPOSES void test_only_set_content( const std::unordered_map& content); void test_only_remove_content( const std::unordered_map& content); private: std::unordered_map> content_; std::mutex lock; bool isPopulated = false; }; TORCH_API void populate_upgraders_map( std::unordered_map>&& content); TORCH_API int get_upgraders_map_size(); TORCH_API bool is_upgraders_map_populated(); TORCH_API const std::unordered_map>& dump_upgraders_map(); // THESE TWO METHODS BELOW ARE ONLY USED FOR TESTING TORCH_API void test_only_populate_upgraders( const std::unordered_map& content); TORCH_API void test_only_remove_upgraders( const std::unordered_map& content); } // namespace torch::jit