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
include
folder contains only Flip framework headers and code headers files - the optional
projects
folder is created when using thegyp
tool - the
src
folder contains only Flip framework source files - the
test
folder contains source and header files used to test the Flip framework
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.