Blender V5.0
blender::bke::bake::DiskBlobWriter Class Reference

#include <BKE_bake_items_serialize.hh>

Inherits blender::bke::bake::BlobWriter.

Public Member Functions

 DiskBlobWriter (std::string blob_dir, std::string base_name)
BlobSlice write (const void *data, int64_t size) override
BlobSlice write_as_stream (StringRef file_extension, FunctionRef< void(std::ostream &)> fn) override
Public Member Functions inherited from blender::bke::bake::BlobWriter
virtual ~BlobWriter ()=default
int64_t written_size () const

Additional Inherited Members

Protected Attributes inherited from blender::bke::bake::BlobWriter
int64_t total_written_size_ = 0

Detailed Description

A specific BlobWriter that writes to a file on disk.

Definition at line 181 of file BKE_bake_items_serialize.hh.

Constructor & Destructor Documentation

◆ DiskBlobWriter()

blender::bke::bake::DiskBlobWriter::DiskBlobWriter ( std::string blob_dir,
std::string base_name )

Definition at line 114 of file bake_items_serialize.cc.

Member Function Documentation

◆ write()

BlobSlice blender::bke::bake::DiskBlobWriter::write ( const void * data,
int64_t size )
overridevirtual

Write the provided binary data.

Returns
Slice where the data has been written to.

Implements blender::bke::bake::BlobWriter.

Definition at line 120 of file bake_items_serialize.cc.

References BLI_file_ensure_parent_dir_exists(), BLI_path_join, data, FILE_MAX, size(), and blender::bke::bake::BlobWriter::total_written_size_.

◆ write_as_stream()

BlobSlice blender::bke::bake::DiskBlobWriter::write_as_stream ( StringRef file_extension,
FunctionRef< void(std::ostream &)> fn )
overridevirtual

Provides an #ostream that can be used to write the blob.

Parameters
file_extensionMay be used if the data is written to an independent file. Based on the implementation, this may be ignored.
Returns
Slice where the data has been written to.

Reimplemented from blender::bke::bake::BlobWriter.

Definition at line 143 of file bake_items_serialize.cc.

References BLI_assert, BLI_file_ensure_parent_dir_exists(), BLI_path_join, FILE_MAX, blender::bke::bake::make_independent_file_name(), blender::StringRefBase::startswith(), and blender::bke::bake::BlobWriter::total_written_size_.


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