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

#include <BKE_bake_items_serialize.hh>

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

Classes

struct  OutputStream

Public Member Functions

 MemoryBlobWriter (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
const Map< std::string, OutputStream > & get_stream_by_name () const
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 keeps all data in memory.

Definition at line 207 of file BKE_bake_items_serialize.hh.

Constructor & Destructor Documentation

◆ MemoryBlobWriter()

blender::bke::bake::MemoryBlobWriter::MemoryBlobWriter ( std::string base_name)

Definition at line 180 of file bake_items_serialize.cc.

Member Function Documentation

◆ get_stream_by_name()

const Map< std::string, OutputStream > & blender::bke::bake::MemoryBlobWriter::get_stream_by_name ( ) const
inline

◆ write()

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

◆ write_as_stream()

BlobSlice blender::bke::bake::MemoryBlobWriter::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 196 of file bake_items_serialize.cc.

References BLI_assert, blender::bke::bake::make_independent_file_name(), name, size(), blender::StringRefBase::startswith(), blender::bke::bake::MemoryBlobWriter::OutputStream::stream, and blender::bke::bake::BlobWriter::total_written_size_.


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