Here's my quick fix thus far:
Code:
circular_list_iterator& operator++(){
        	
        		++iter;
        		if( iter == container->end() )
        			iter = container->begin();

        		return *this;
    		}
though, this renders the circular_list_end() function USELESS, because if used in conjuntion in the for loop, it's an infinite loop.

Do I really need the circular_list_end() function though? I heard some of the pros and cons for and against it, but I don't think it really suits my purposes (especially since I'm not doing the multithreaded thing involving circular-lists anytime soon).

What do you think?