lib/io/low_level

BASIC_DIRECTORY
 Very low-level basic tools for file-system directory handling and file
 path manipulation. This class is intended to be platform independant as
 much as possible. In order to remove from the client side the burden of
 file path computation, this class tries to compute automatically the
 system file notation using argument(s) of some of the very first call(s).
 As soon as the system notation has been properly detected, the result is
 internally memorized for all objects of type BASIC_DIRECTORY in a common
 private buffer. Besides the low-level nature of operations one can found
 in this class, all file path manipulations are done in a smart way
 (except when the system file path notation has not been detected
 automatically, which is quite uncommon). As an example, even if the
 directory separator is internally detected, this information is
 _intentionaly_ kept private to avoid low-level manipulation from the
 client side. Finally, this class is expanded in order to avoid as much as
 possible memory allocations.

 Also consider high level facade class DIRECTORY if you don't want
 to deal directly with low level directory streams.