12#ifndef ROOT_TBufferMerger
13#define ROOT_TBufferMerger
25class TBufferMergerFile;
68 std::shared_ptr<TBufferMergerFile>
GetFile();
152 void Init(std::unique_ptr<TFile>);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
#define ClassDefOverride(name, id)
A TBufferMergerFile is similar to a TMemFile, but when data is written to it, it is appended to the T...
TBufferMergerFile()
TBufferMergerFile has no default constructor.
TBufferMergerFile(const TBufferMergerFile &)
TBufferMergerFile has no copy constructor.
TBufferMergerFile & operator=(const TBufferMergerFile &)
TBufferMergerFile has no copy operator.
Int_t Write(const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) override
Write data into a TBufferFile and append it to TBufferMerger.
~TBufferMergerFile() override
Destructor.
TBufferMerger is a class to facilitate writing data in parallel from multiple threads,...
size_t GetAutoSave() const
Returns the current value of the auto save setting in bytes (default = 0).
std::atomic< size_t > fBuffered
Bool_t GetNotrees() const
Returns whether the file has been marked as not containing any TTree objects and thus that steps that...
bool TryMerge(TBufferMergerFile *memfile)
std::vector< std::weak_ptr< TBufferMergerFile > > fAttachedFiles
void SetAutoSave(size_t size)
By default, TBufferMerger will call TFileMerger::PartialMerge() for each buffer pushed onto its merge...
std::queue< TBufferFile * > fQueue
virtual ~TBufferMerger()
Destructor.
TBufferMerger(const TBufferMerger &)
TBufferMerger has no copy constructor.
void SetNotrees(Bool_t notrees=kFALSE)
Indicates that any TTree objects in the file should be skipped and thus that steps that are specific ...
void Push(TBufferFile *buffer)
size_t GetBuffered() const
Returns the number of bytes currently buffered (i.e.
bool fCompressTemporaryKeys
std::shared_ptr< TBufferMergerFile > GetFile()
Returns a TBufferMergerFile to which data can be written.
TBufferMerger & operator=(const TBufferMerger &)
TBufferMerger has no copy operator.
Bool_t GetCompressTemporaryKeys() const
Returns whether to compressed the TKey in the TMemFile for the object held by the TDirectories.
void SetCompressTemporaryKeys(Bool_t request_compression=true)
Indicates that the temporary keys (corresponding to the object held by the directories of the TMemFil...
const char * GetMergeOptions()
Returns the current merge options.
TBufferMerger()
TBufferMerger has no default constructor.
void SetMergeOptions(const TString &options)
Sets the merge options.
void Init(std::unique_ptr< TFile >)
size_t GetQueueSize() const
Returns the number of buffers currently in the queue.
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
virtual Int_t Write(const char *=nullptr, Int_t=0, Int_t=0) override
Write this object to the current directory.
This class provides file copy and merging services.
Bool_t GetNotrees() const
virtual void SetNotrees(Bool_t notrees=kFALSE)
A TMemFile is like a normal TFile except that it reads and writes only from memory.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
@ kUseCompiledDefault
Use the compile-time default setting.