iceberg-cpp
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
iceberg::puffin Namespace Reference

Puffin file metadata, reader, and writer APIs. More...

Classes

struct  Blob
 A blob in a Puffin file. More...
 
struct  BlobMetadata
 Metadata about a blob stored in a Puffin file footer. More...
 
struct  FileMetadata
 Metadata about a Puffin file. More...
 
struct  PuffinFormat
 Puffin file format constants. More...
 
class  PuffinReader
 Reader for Puffin files. More...
 
class  PuffinWriter
 Writer for Puffin files. More...
 
struct  StandardBlobTypes
 Standard blob types defined by the Iceberg specification. More...
 
struct  StandardPuffinProperties
 Standard file-level properties for Puffin files. More...
 

Enumerations

enum class  PuffinCompressionCodec { kNone , kLz4 , kZstd }
 Compression codecs supported by Puffin files.
 
enum class  PuffinFlag : uint8_t { kFooterPayloadCompressed = 0 }
 Footer flags for Puffin files. More...
 

Functions

ICEBERG_EXPORT std::string_view CodecName (PuffinCompressionCodec codec)
 
ICEBERG_EXPORT Result< PuffinCompressionCodecPuffinCompressionCodecFromName (std::string_view codec_name)
 
ICEBERG_EXPORT std::string ToString (PuffinCompressionCodec codec)
 
ICEBERG_EXPORT std::string ToString (const Blob &blob)
 
ICEBERG_EXPORT std::string ToString (const BlobMetadata &blob_metadata)
 
ICEBERG_EXPORT std::string ToString (const FileMetadata &file_metadata)
 
ICEBERG_EXPORT bool IsFlagSet (std::span< const uint8_t, 4 > flags, PuffinFlag flag)
 Check if a flag is set in the flags bytes.
 
ICEBERG_EXPORT void SetFlag (std::span< uint8_t, 4 > flags, PuffinFlag flag)
 Set a flag in the flags bytes.
 
ICEBERG_EXPORT Result< std::vector< std::byte > > Compress (PuffinCompressionCodec codec, std::span< const std::byte > input)
 Compress data using the specified codec.
 
ICEBERG_EXPORT Result< std::vector< std::byte > > Decompress (PuffinCompressionCodec codec, std::span< const std::byte > input)
 Decompress data using the specified codec.
 

Detailed Description

Puffin file metadata, reader, and writer APIs.

Enumeration Type Documentation

◆ PuffinFlag

enum class iceberg::puffin::PuffinFlag : uint8_t
strong

Footer flags for Puffin files.

Enumerator
kFooterPayloadCompressed 

Whether the footer payload is compressed.