Boost logo

Boost :

Subject: Re: [boost] [compond_file_binary] Gauging interest in a possible library submission.
From: Alexander Voitenko (tarmik_at_[hidden])
Date: 2012-12-02 14:33:02

> Does it provide any benefits compared to mounting a loop device and
> working with it through traditional file system interfaces? It seems
> odd to have a library duplicating file system operations.

First of all, compound files are portable. You can use the same data, in the
same compound files within different operating systems, not limited to
Linux, Windows and Mac OS.

Please note, that both Unix-like systems and Windows struggling with limit
of loop devices [Linux]

But with a such library you can simultaneously read and write
thousands(millions?) of such files without restrictions from the system
side. Library can be linked statically and only thing that you will require
to access such file - to launch your application and not necessarily written
in C++, because already exist analogous libraries in Java and C# worlds.

Also, if I want to use lot of different compound files with my data within
my application, it is to weird mount and unmount devices from the runtime
and also require super-user privileges.

Please do not think about compound files only as file system replacement.
Imagine software that can produce some documents. Such documents use binary
format and have very complex internal structure, so such structure can be
represented as file system where some logical parts are grouped in folders
and files.

Example of such software that really uses compound files: with it .CDX format with it .AWM file format
and exist some others, but not so famous.

Of course lot of Microsoft applications use them, but I don't want mention
them by religious reasons ;-)

User of such applications even can not know that internal representation of
his documents is an entire file system.

In my usual work I deal with compound files like with some sort of archives.
Store hundreds of them on my hard drive, often copy, rename, move or zip
them and send via e-mail.

Alexander Voitenko.

View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at