#include #include #include #include #include #include #include #include #include #include namespace c10 { struct CAFFE2_API InternedStrings { InternedStrings(); Symbol symbol(const std::string& s); std::pair string(Symbol sym); Symbol ns(Symbol sym); private: // prereq - holding mutex_ Symbol _symbol(const std::string& s); std::pair customString(Symbol sym); std::unordered_map string_to_sym_; struct SymbolInfo { Symbol ns; std::string qual_name; std::string unqual_name; }; std::vector sym_to_info_; std::mutex mutex_; }; } // namespace c10