Before revision:  We describe the C++ programming techniques that can help in creating flexible and extensible programming interfaces for linear solvers .
After revision:  We describe the C++ programming techniques that may help to accelerate linear solvers for such problems .