I'm dusted off a file-reading class I'd been working on earlier, which implements some comfort features and iterators. Since the class doesn't modify the file it's being given but only its own internal (book keeping) state, I decided to use the mutable keyword and make the entire public interface const.
What's your opinion on doing that? Is it elegant or misleading? I feel that the user would prefer to use const methods, giving them a sense of read-only access to the managed resource.