1.3. Header Files

Much like the C++ standard library, the VSIPL++ library contains separate header files for each feature set. Thus, a program unit should include the header files necessary for the features it uses. For example, as we have already seen, the vsip::vsipl initialization object requires the vsip/initfin.hpp header file.

The following header files are available:

vsip/complex.hpp defines VSIPL++'s complex number facilities.

vsip/dense.hpp defines VSIPL++'s Dense block type. This file is included automatically by the view header files.

vsip/domain.hpp defines VSIPL++'s Domain and Index handling.

vsip/initfin.hpp defines VSIPL++'s library initialization and finalization.

vsip/map.hpp defines VSIPL++'s Map class template for distributing data across multiple processors.

vsip/math.hpp defines VSIPL++'s mathematical operations on views.

vsip/matrix.hpp defines VSIPL++'s Matrix view class template

vsip/parallel.hpp defines VSIPL++'s parallel suppport functions.

vsip/random.hpp defines VSIPL++'s random number generator.

vsip/selgen.hpp defines VSIPL++'s selection and generation functions.

vsip/signal.hpp defines VSIPL++'s signal processing objects and functions.

vsip/solvers.hpp defines VSIPL++'s linear algebra solvers.

vsip/support.hpp defines VSIPL++'s support types.

vsip/tensor.hpp defines VSIPL++'s Tensor view class template.

vsip/vector.hpp defines VSIPL++'s Vector view class template.

The directory structure for the header files parallels the namespace structure. Thus, header files defining things in the vsip namespace will be in the vsip directory; header files defining things in the vsip_csl::img namespace will be in the vsip_csl/img directory, and so forth.