Mila 0.13.48
Deep Neural Network Library
Loading...
Searching...
No Matches
Mila::Dnn::Serialization::ArchiveSerializer Class Referenceabstractexport

Interface for hierarchical archive serializers. More...

Inheritance diagram for Mila::Dnn::Serialization::ArchiveSerializer:
Collaboration diagram for Mila::Dnn::Serialization::ArchiveSerializer:

Public Member Functions

virtual ~ArchiveSerializer ()=default
virtual bool addData (const std::string &path, const void *data, size_t size)=0
 Add a binary blob to the archive at a hierarchical path.
virtual bool addMetadata (const std::string &key, const std::string &value)=0
 Add metadata entry.
virtual size_t extractData (const std::string &path, void *data, size_t size)=0
 Extract a file from the archive.
virtual size_t getFileSize (const std::string &path) const =0
 Get file size at path.
virtual std::string getMetadata (const std::string &key) const =0
 Get metadata entry.
virtual bool hasFile (const std::string &path) const =0
 Check if file exists at path.
virtual std::vector< std::string > listFiles () const =0
 List all files in the archive.
Public Member Functions inherited from Mila::Dnn::Serialization::Serializer
virtual ~Serializer ()=default
virtual bool close ()=0
 Close the file.
virtual const std::string & getFilename () const noexcept=0
 Get the filename.
virtual bool isOpen () const noexcept=0
 Check if currently open.
virtual bool isOpenForRead () const noexcept=0
 Check if open for reading.
virtual bool isOpenForWrite () const noexcept=0
 Check if open for writing.
virtual bool open (const std::string &filename, OpenMode mode)=0
 Open a file for reading or writing.

Detailed Description

Interface for hierarchical archive serializers.

Archive serializers work with hierarchical file structures where resources are organized in directory trees. Used by ModelArchive for Mila's internal checkpoint format.

Examples: ZipSerializer, TarSerializer

Constructor & Destructor Documentation

◆ ~ArchiveSerializer()

virtual Mila::Dnn::Serialization::ArchiveSerializer::~ArchiveSerializer ( )
virtualdefault

Member Function Documentation

◆ addData()

virtual bool Mila::Dnn::Serialization::ArchiveSerializer::addData ( const std::string & path,
const void * data,
size_t size )
nodiscardpure virtual

Add a binary blob to the archive at a hierarchical path.

Parameters
pathHierarchical path (e.g., "network/components/layer1/weight.bin")
dataPointer to source bytes
sizeNumber of bytes
Returns
true on success

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ addMetadata()

virtual bool Mila::Dnn::Serialization::ArchiveSerializer::addMetadata ( const std::string & key,
const std::string & value )
nodiscardpure virtual

Add metadata entry.

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ extractData()

virtual size_t Mila::Dnn::Serialization::ArchiveSerializer::extractData ( const std::string & path,
void * data,
size_t size )
nodiscardpure virtual

Extract a file from the archive.

Parameters
pathHierarchical path
dataPre-allocated buffer
sizeBuffer size
Returns
Number of bytes extracted, or 0 on error

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ getFileSize()

virtual size_t Mila::Dnn::Serialization::ArchiveSerializer::getFileSize ( const std::string & path) const
nodiscardpure virtual

Get file size at path.

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ getMetadata()

virtual std::string Mila::Dnn::Serialization::ArchiveSerializer::getMetadata ( const std::string & key) const
nodiscardpure virtual

Get metadata entry.

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ hasFile()

virtual bool Mila::Dnn::Serialization::ArchiveSerializer::hasFile ( const std::string & path) const
nodiscardpure virtual

Check if file exists at path.

Implemented in Mila::Dnn::Serialization::ZipSerializer.

◆ listFiles()

virtual std::vector< std::string > Mila::Dnn::Serialization::ArchiveSerializer::listFiles ( ) const
nodiscardpure virtual

List all files in the archive.

Implemented in Mila::Dnn::Serialization::ZipSerializer.


The documentation for this class was generated from the following file: