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; }