When I define a neat little utility function like this that operates only on its arguments, I usually make it a "local file static" function, and not a member. Then I can change its signature all I want without changing the header or recompiling other files.