Home
ObjexxFCL 3.0
 

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
sbyte.hh Single-byte signed integer (alternate name for byte)
ubyte.hh Single-byte unsigned integer
CArray.hh C-style array wrapper
CArrayP.hh C-style array wrapper/proxy
ChunkVector.hh Chunk-contiguous 1D vector
FArrayN.hh ND FArray base class template
FArrayND.hh ND real FArray class template
FArrayNP.hh ND proxy FArray class template
FArrayNA.hh ND argument FArray class template
KeyFArrayND.hh ND key-indexed FArray class template
FArrayN.all.hh ND FArray class template master header
FArrayN.io.hh ND FArray stream output
FArray.io.hh FArray stream output master header
FArray.all.hh FArray 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
format.hh C++ stream formatted input/output
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.