Skip to content

logrhythm/FileIO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileIO

Is a collection of file access and directory traversal utilities that was written to be a fast, easy to use and non-exception throwing library.

The major areas it deals with are:

Directory traversal and file access actions: The DirectoryReader and FileSystemWalker are efficient for traversing directory structures and accessing files with ad-hoc actions on those files. The code was written to be efficient, fast and easy to use.

Errors are handled through return types and embedded error messages with the [result]. In an error-prone scenario the FileIO execution is significantly faster than solutions that utilize exceptions.

File Access The file access code was written to avoid rewriting boiler plate code that is easy to get wrong. It covers areas such as file reading and writing, changing file ownership, deleting files and directories and moving of files. Many of these functionalities involve low-level C or C++ APIs that are awkward to use and prone to having bugs.

The API is accessible in the [src] directory. Please read the header files together with [test cases and example usage].

Test Suite Requirements

  1. g3log
  2. g3sinks
  3. StopWatch
  4. boost For installing boost please follow their instructions.

Build and Install

Example of installation

cd FileIO
cd 3rdparty
unzip gtest-1.7.0.zip
cd ..
mkdir build
cd build
cmake ..
make -j

Executing the unit tests

sudo ./UnitTestRunneer

Installing

sudo make install

Alternative on Debian systems

make package
sudo dpkg -i FileIO-<package_version>Linux.deb