There is no need for a user-provided copy constructor in Amount. Removing it makes the class trivially-copyable, which allows to use std::atomic<Amount>.
See https://en.cppreference.com/w/cpp/language/classes#Trivially_copyable_class
Remove also the assignement operator operator=( which was only defined to remove a deprecation warning for implicit assignement operators with explicit copy-constructors (D3963)