This is a library for abstract file interface. It includes a unicode string class, a directory and archive iteration interface, and a data storage abstraction layer for object serialization.
As of yet, it is incomplete.
- utf8::utf8_string: An implementation of std::string for UTF-8 strings.
length(): Returns the length, in unicode characters, of this string.size(): Returns the size, in bytes, of this string.substdstr(): Returns an std::string between the given indices.at(): Returns the unicode value of the character at the given index.operator[]: Returns the unicode value of the character at the given index.- eff::directory: A common interface for reading zip files and directories.
first_file()/next_file(): Retrieve successive filenames, or empty string if no more.first_directory()/next_directory(): Retrieve successive directories, or empty string if no more.file_count()/directory_count(): Retrieve the number of files/directories contained.enter(): Enter a subdirectory by its name.enter_new(): Enter a subdirectory by its name, returning a new directory object.leave(): Leave a previously entered subdirectory.good()/is_open(): Return whether this directory was successfully opened.
- utf8::utf8_string
substr(): Should return the utf8::string between the given indices.operator[]: Should allow an (expensive) assignment to a character- eff::directory
- Needs coding and testing for Windows
- Needs methods to actually open files for read/write
- Needs methods to get and set file attributes/permissions
- Data storage model
- A common mechanism for reading and writing various types of data.