I think, after your second post, I get your point better.
It seems that "overall semantics interface of your class" is more
importand than semantics of individual members of that interface. I
also think right answer will be much subjective.
As such, I still think semantics of individual members of interface is
very important and should be as clear as possible, or even predictable.
So, "conceptual accuracy" is also very important at the level of
individual member functions.
Consequently, if semantic of access is const in manner of whole object
- provides read-only access to data managed by object - I'd use
const_iterator + member function declared as const.
Cheers
--
Mateusz Loskot
http://mateusz.loskot.net