Figure 4: Function template to create a smart iterator

template<class _It, class _Func>
inline CSmartIterator<_It, _Func>
MakeSmartIterator(_It it, _Func func)
  {return CSmartIterator<_It, _Func>(it, func);}
/* End of File */