Flip Configuration Guide

Files Hierarchy

This chapter describes the files hierarchy or structure of the Flip framework.

Overview

This section gives the overview of the structure of the Flip framework. The following sections will then describe in more details each element of that structure.

The Flip framework as the following structure. This structure only shows relevant informations for setting up the build environment. For example the documentation file structure is hidden for clarity.

include/
   flip/
      contrib/
      detail/
projects/
src/
   contrib/
   detail/
test/
   debug/
   fuzz/
   perf/
   regress/

The following sections will describe in more details each element of the structure above.

The include folder

include/
   flip/
      contrib/
      detail/

The include folder contains only Flip framework headers and code headers files.

Typically developers will make the include path available in their header paths so that the header file Document can be reached using for example.

The top level flip files contains every public header files which represent the core of the Flip framework. Flip user developers will typically use those files to work with Flip.

The contrib files contains public header files that can be optionally used to work Flip. They do not belong to the core itself, and generally represents specific platform features. For example the DataConsumerFile sits in this directory, whereas the DataConsumerMemory belongs to the Flip framework core.

The detail files contains private header files used by the Flip framework core. Flip user developers should never include those files.

The src folder

src/
   contrib/
   detail/

The src folder contains only Flip framework source files.

The top level flip files contains every source files implementing the core of the Flip framework.

The contrib files contains source files that can be optionally used to work Flip. They do not belong to the core itself, and generally represents specific platform features. The flip top level files do not depend on the contrib files so that those files don't necesseraly need to be compiled with Flip.

The detail files contains private source files used by the Flip framework core.

The projects folder

projects/

When using the gyp tool, the projects folder will contain the generated project or make files to run regression and performance tests.

Typically, when used on Windows, the projects folder will contain the Visual Studio solution as well as all necesserary project files to build tests.

When used on MacOS X, the projects folder will contain the XCode project necesserary to build tests.

The test folder

test/
   debug/
   fuzz/
   perf/
   regress/

The test folder contains all source and header files needed to build and run regression and performance tests of the Flip framework.

The debug folder contains some files used to help the Flip framework developer to debug the internals of the Flip framework core.

The fuzz folder contains fuzzing tests implementation to provide automatic bug finding in the Ffip framework core.

The perf folder contains source and header files used to measure the performance of the Flip framework and to track performance regressions.

The regress folder contains source and header files used to detect regressions in the Flip framework.