14#ifndef ROOT_RNTupleWriteOptions
15#define ROOT_RNTupleWriteOptions
25class RNTupleWriteOptions;
216 virtual std::unique_ptr<RNTupleWriteOptions>
Clone()
const;
269 return lhs.fCompression ==
rhs.fCompression &&
lhs.fApproxZippedClusterSize ==
rhs.fApproxZippedClusterSize &&
270 lhs.fMaxUnzippedClusterSize ==
rhs.fMaxUnzippedClusterSize &&
271 lhs.fInitialUnzippedPageSize ==
rhs.fInitialUnzippedPageSize &&
272 lhs.fMaxUnzippedPageSize ==
rhs.fMaxUnzippedPageSize &&
lhs.fPageBufferBudget ==
rhs.fPageBufferBudget &&
273 lhs.fUseBufferedWrite ==
rhs.fUseBufferedWrite &&
lhs.fUseDirectIO ==
rhs.fUseDirectIO &&
274 lhs.fWriteBufferSize ==
rhs.fWriteBufferSize &&
lhs.fUseImplicitMT ==
rhs.fUseImplicitMT &&
275 lhs.fEnablePageChecksums ==
rhs.fEnablePageChecksums &&
276 lhs.fEnableSamePageMerging ==
rhs.fEnableSamePageMerging &&
lhs.fMaxKeySize ==
rhs.fMaxKeySize;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
static void SetMaxKeySize(RNTupleWriteOptions &options, std::uint64_t maxKeySize)
Common user-tunable settings for storing RNTuples.
void SetEnablePageChecksums(bool val)
Note that turning off page checksums will also turn off the same page merging optimization (see tunin...
bool GetUseBufferedWrite() const
friend bool operator==(const RNTupleWriteOptions &lhs, const RNTupleWriteOptions &rhs)
std::size_t GetPageBufferBudget() const
void SetMaxUnzippedClusterSize(std::size_t val)
std::size_t fWriteBufferSize
EImplicitMT fUseImplicitMT
void SetWriteBufferSize(std::size_t val)
std::uint32_t fCompression
std::size_t fMaxUnzippedPageSize
std::size_t GetWriteBufferSize() const
std::size_t GetApproxZippedClusterSize() const
std::size_t GetMaxUnzippedClusterSize() const
std::uint64_t fMaxKeySize
Specifies the max size of a payload storeable into a single TKey.
void SetUseImplicitMT(EImplicitMT val)
static constexpr std::uint64_t kDefaultMaxKeySize
std::size_t fInitialUnzippedPageSize
std::size_t fPageBufferBudget
std::size_t fMaxUnzippedClusterSize
bool GetEnablePageChecksums() const
std::uint64_t GetMaxKeySize() const
friend bool operator!=(const RNTupleWriteOptions &lhs, const RNTupleWriteOptions &rhs)
void SetMaxUnzippedPageSize(std::size_t val)
void SetUseBufferedWrite(bool val)
void SetInitialUnzippedPageSize(std::size_t val)
bool GetEnableSamePageMerging() const
bool GetUseDirectIO() const
virtual std::unique_ptr< RNTupleWriteOptions > Clone() const
virtual ~RNTupleWriteOptions()=default
void SetEnableSamePageMerging(bool val)
void SetPageBufferBudget(std::size_t val)
void SetApproxZippedClusterSize(std::size_t val)
std::size_t GetMaxUnzippedPageSize() const
std::size_t fApproxZippedClusterSize
std::uint32_t GetCompression() const
void SetCompression(std::uint32_t val)
void SetUseDirectIO(bool val)
void SetCompression(RCompressionSetting::EAlgorithm::EValues algorithm, int compressionLevel)
EImplicitMT GetUseImplicitMT() const
std::size_t GetInitialUnzippedPageSize() const
bool fEnableSamePageMerging
bool fEnablePageChecksums
int CompressionSettings(RCompressionSetting::EAlgorithm::EValues algorithm, int compressionLevel)
EValues
Note: this is only temporarily a struct and will become a enum class hence the name convention used.
@ kUseGeneralPurpose
Use the new recommended general-purpose setting; it is a best trade-off between compression ratio/dec...