Atomic swap possible?

I have two juce::Atomic<P*>, is there a way to exchange their values atomically? It does not seem so from the implementation. I am wondering if such an operation is possible on all supported platforms.

I don’t actually think that’s possible using any of the available primitive ops.