Is there an attribute that can make member variables of a class read-only without having to declare them as const or immutable (const all the way down)? I saw that one can define a getter function without a setter to achieve this behavior, but that seems like a little bit of a hack.