diff options
Diffstat (limited to 'tensorflow/python/lib/io/py_record_writer.h')
-rw-r--r-- | tensorflow/python/lib/io/py_record_writer.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tensorflow/python/lib/io/py_record_writer.h b/tensorflow/python/lib/io/py_record_writer.h new file mode 100644 index 0000000000..e3fd05bd9a --- /dev/null +++ b/tensorflow/python/lib/io/py_record_writer.h @@ -0,0 +1,38 @@ +#ifndef THIRD_PARTY_TENSORFLOW_PYTHON_LIB_IO_PY_RECORD_WRITER_H_ +#define THIRD_PARTY_TENSORFLOW_PYTHON_LIB_IO_PY_RECORD_WRITER_H_ + +#include "tensorflow/core/lib/core/stringpiece.h" +#include "tensorflow/core/platform/port.h" +#include "tensorflow/core/public/status.h" + +namespace tensorflow { + +class WritableFile; + +namespace io { + +class RecordWriter; + +// A wrapper around io::RecordWriter that is more easily SWIG wrapped for +// Python. An instance of this class is not safe for concurrent access +// by multiple threads. +class PyRecordWriter { + public: + static PyRecordWriter* New(const string& filename); + ~PyRecordWriter(); + + bool WriteRecord(::tensorflow::StringPiece record); + void Close(); + + private: + PyRecordWriter(); + + WritableFile* file_; // Owned + io::RecordWriter* writer_; // Owned + TF_DISALLOW_COPY_AND_ASSIGN(PyRecordWriter); +}; + +} // namespace io +} // namespace tensorflow + +#endif // THIRD_PARTY_TENSORFLOW_PYTHON_LIB_IO_PY_RECORD_WRITER_H_ |