Code such as
void SetAtoms(std::unique_ptr<AtomHolder>&& atom_holder);
could be
void SetAtoms(std::unique_ptr<AtomHolder> atom_holder);
without changing much code wise or functionality wise. This complies better with Google style (though I kinda prefer the former).