Before revision:  The approach is based on  policy-based design  and partial template specialization, and is implemented in the open source AMGCL library.
After revision:  The approach is based on the policy-based design and partial template specialization, and is implemented in the open source AMGCL library.