Yes and no. But why? And what would you like to do std::iter_swap(strong_a, strong_b);?
As Karoly Horvath points out, you can implement your own container that has its own iterators (Iterator is just a concept, not just one type).
" , ", , . ( , , Allocators - ). - , .
, - -, - std::vector<strong_pointable<int>>, strong_pointable<int> int, " ", , , .
, . , , .