Extending C++ using the concepts of composition filters