Since I know an iterator in the program could be invalidated by some previous operation, I want to invalidate it explicitly. Such as assign NULL to a pointer to invalidate i
Shouldn't this always work? (iterators are always assignable and default-constructible)
template void foo(Iter it){ it = Iter(); // invalidate }