Many years ago, I wrote an article entitled "Implement A Circular Iterator" for The VisualC++ Developer's Journal . (Unfortunately, VCDJ is now out of business, and it's successor, Visual Studio Magazine , doesn't maintain an online archive of articles