I want to shift elements inside container on any positions to the left or right. The shifting elements are not contiguous.
e.g I have a vector {1,2,3,4,5,6,7,8} and
Can't you do a simple insert and then erase?
Don't forget that you'll invalidate any iterators that refer to elements above the removal or insertion point, whichever is lowest.
HTH
cheers,
Rob