On Saturday, 21 February 2015 at 08:08:25 UTC, Mike Parker wrote:
On 2/21/2015 4:31 PM, rumbu wrote:

you can do this instead:

    this() { cache = SomeExpensiveOp(); }

    public @property const(int) SomeProp() const
    {
        return cache;
    }

Notice the const on the end of SomeProp. That makes the function callable on a const instance, but you still cannot modify cache inside of it.

My question was not how I do this, I know already. My question was if there is another way to safely call a non-const instance function on a const object.

Initializing "cache" in the constructor will defeat the cache mechanism itself an that's I want to avoid.

Reply via email to