This topic explains how to cast away the constant of the counter variable.
In the example code below, the class has a simple const getter function Var(). It uses MUTABLE_CAST to cast away the const -ness of the counter variable iGetCounter, which allows that variable to be changed.
class TMutableDemo { public: TMutableDemo(TUint a=0):iVar(a),iGetCounter(0) {}; TUint Var() const; private: TUint iVar; __MUTABLE TUint iGetCounter; }; TUint TMutableDemo::Var() const { MUTABLE_CAST(TMutableDemo*,this)->iGetCounter++; return iVar; }