Home ObjexxFCL 2.6
 Users Guide - Organization
 


Home

Release
Notes

Users
Guide

Developers
Guide

Support

Objexx Website
 

 

ObjexxFCL Organization

Namespaces

All components of the ObjexxFCL are declared in the ObjexxFCL namespace.

The formatted i/o classes and functions are declared in the ObjexxFCL::fmt namespace. The extra namespace layer can eliminate collisions between the short formatting function names and project sourceidentifiers.

Classes and functions intended only for internal use are declared in the ObjexxFCL::internal namespace.

Header Files

Each class intended for use in project code has a forward declarations and typedef header file of the form Class.fwd.hh. For convenience, all the classes and typedefs intended for project code use are declared in the ObjexxFCL.fwd.hh header file. The ObjexxFCL.Project.hh header file has some typical using declarations and is intended to be customized to the project. The ObjexxFCL.hh header file includes the ObjexxFCL.fwd.hh and ObjexxFCL.Project.hh header files.

Project sources that use ObjexxFCL classes only "in name" can include the Class.fwd.hh header file to get the class forward declaration and convenience typedefs without bringing in all of the dependencies of the Class.hh header file. Project sources that use ObjexxFCL components more than "in name" will need to include the Class.hh file. Class body header files also bring in any typedefs from the Class.fwd.hh header. Other than the Class.fwd.hh headers, the headers normally included by project source files are:

Header Description
ObjexxFCL.hh All forward and project-specific declarations
byte.hh Single-byte signed integer
ubyte.hh Single-byte unsigned integer
CArray.hh C-style array wrapper
CPArray.hh C-style array wrapper/proxy
ChunkVector.hh Chunk-contiguous 1D vector
FArrayNDB.hh ND FArray base class template
FArrayND.hh ND real FArray class template
FArrayNDp.hh ND proxy FArray class template
FArrayNDa.hh ND argument FArray class template
KeyFArrayND.hh ND key FArray class template
FArrayNDs.hh ND FArray class template master header
FArrayND.io.hh ND FArray stream output
FArray.io.hh FArray stream output master header
Dimension.hh Dimension size parameter class
DimensionExpressions.hh Dimension expression generating operators
Fstring.hh Fortran-compatible string class
Cstring.hh C-style string wrapper class
string.functions.hh Useful std::string functions
char.functions.hh Useful char functions
formatted.i.hh C++ stream formatted input
formatted.o.hh C++ stream formatted output
formatted.io.hh C++ stream formatted input/output master header
Fmath.hh Math intrinsics/other functions
rvalue_cast.hh rvalue cast to reference function template
array.iterator.hh C array begin and end iterator functions
Time_Date.hh Time and date functions

All ObjexxFCL header files are included-guarded to prevent multiple inclusion.