Blender V4.3
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 176 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 112 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 118 of file bake_items_serialize.cc.

References BLI_file_ensure_parent_dir_exists(), BLI_path_join, 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 141 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: