64-Bit compatibility AtomicOperations + SmartPointer

I changed the interface of the AtomicOperations to a generic interface.

So it is possible to use a 64-Bit and a 32-Bit SmartPointer, which was needed to Support Arm64.

Before adding this patch, the Windows and Linux implementations need to be updated.

Best Regards, Aaron