NABLA  Nabla Ain't Basic Linear Algebra
Curiously Recurring Template Pattern

Here are some words from Wikipedia:

The curiously recurring template pattern is a C++ idiom in which a class X derives from a class template instantiation using X itself as template argument.

A typical implementation looks like

template<typename derived>
class base
{};
class some_class : public base<some_class>
{
//useful members
};

The most amazing fact is that if all classes derive from our base template class and share the same concept (read public interface) we can write generic functions like

template<typename type>
void foo(base<type> &expr)
{
type &a = static_cast<type&>(expr);
//working with 'a'
return;
}

which will take as its argument only objects of type that is aware of our concept, i.e. inherit base. The situation when different types implement operations with the same names is called "static polymorphism".

This is one approach of implementation of the expression templates C++ programming technique which is used by this library.