Argument-dependent lookup requires that the operator be declared in the same namespace as the class; move it there. While at it, de-static it, it only causes bloat.