#pragma once #include #include #include #include namespace c10 { struct IValue; } namespace torch { namespace jit { class Pickler; class SourceRangeSerializer; class SourceRangeDeserializer; class SourceRangePickler { public: SourceRangePickler(); void pickle(const SourceRangeRecords& ranges); const std::vector& get_data(); private: std::shared_ptr p; std::shared_ptr srs; }; class SourceRangeUnpickler { public: virtual c10::optional findSourceRangeThatGenerated( const SourceRange& range) = 0; virtual ~SourceRangeUnpickler() {} }; } // namespace jit } // namespace torch