add iterator category check for algorithm incomplete implementation