Overview of the core library¶
At the core of the vif library is the vector class,
vec. This is basically an enhanced
std::vector, and it therefore shares most of its features and strengths. On top of the
std::vector interface, the vif vectors have extra functionalities to simplify data analysis and calculations, including overloaded mathematical operators, multi-dimensional indexing, and the ability to create “views” to access and edit subsets of a given vector.
Here we will first describe the properties of the vector class, and then describe the vector views. Lastly, a guide for writing “generic” functions that work with any vector type is provided.