* support for pointers to const types * use std::reference_wrapper instead of std::ref to let pass constness