this class can be used to create archive file.
There's other types but this is all I care about. You can still detect the char by ((cast(char) type) + '0')
decompressLzma lzma (.xz file) decoder/decompressor that works by passed functions. Can be used as a higher-level alternative to XzDecoder. decompressGzip is gzip (.gz file) decoder/decompresser) that works by passed functions. Can be used as an alternative to std.zip, while using the same underlying zlib library.
decompressLzma lzma (.xz file) decoder/decompressor that works by passed functions. Can be used as a higher-level alternative to XzDecoder. decompressGzip is gzip (.gz file) decoder/decompresser) that works by passed functions. Can be used as an alternative to std.zip, while using the same underlying zlib library.
Low level tar file processor. You must pass it a TarFileHeader buffer as well as a size_t for context. Both must be initialized to all zeroes on first call, then not modified in between calls.
Opened file.
ARZ archive accessor. Use this to open ARZ archives, and open packed files from ARZ archives.
A header of a file in the archive. This represents the binary format of the header block.
A simple .xz file decoder.
tar code (and arsd module formed) originally written December 2019 to support my d_android library downloader. It was added to dub in March 2020 (dub v7.0).
The LZMA code is a D port of Igor Pavlov's LzmaDec.h, written in 2017 with contributions by Lasse Collin. It was ported to D by ketmar some time after that and included in the original version of arsd.archive in the first December 2019 release.
The arcz code was written by ketmar in 2016 and added to arsd.archive in March 2020.
A number of improvements were made with the help of Steven Schveighoffer on March 22, 2023.
arsd.archive was changed to require arsd.core on March 23, 2023 (dub v11.0). Previously, it was a standalone module. It uses arsd.core's exception helpers only at this time and you could turn them back into plain (though uninformative) D base Exception instances to remove the dependency if you wanted to keep the file independent.
Provides LZMA (aka .xz), gzip (.gz) and .tar file read-only support. Combine to read .tar.xz and .tar.gz files, or use in conjunction with other libraries to read other kinds of files.
Also has a custom archive called arcz read and write support. It is designed to efficiently pack and randomly access large numbers of similar files. Unlike .zip files, it will do cross-file compression (meaning it can significantly shrink archives with several small but similar files), and unlike tar.gz files, it supports random access without decompressing the whole archive to get an individual file. It is designed for large numbers of small, similar files.