The storage specifier mutable specifies that a member should be stored in a way that allows updating – even when it is a member of a const object.
By definition, a struct is a class in which members are by default public.
A member function defined within the class definition – rather than simply declared there – is taken to be an inline member function.