Let's say I have an Image class and I want to provide some operations on the image, like scaling, rotating etc. I want to provide 2 types of functions for each operation. One that modifies the object and other that does not. In Ruby, there are functions that end in ! and indicate that this one is going to modify the argument.
Since this is not allowed in C++/Java, what would be the best naming convention. For e.g. how would you name the Mutating and non-mutating versions of img.scale()?
Thanks