shared_ptr.hpp: add trivial conversion for shared/single types

These conversions don't exist in std::shared_ptr-alike types.
But I don't want to bother with == operators until we have proper C++20.
Removed trivial conversion for atomic_ptr because it's heavyweight.
This commit is contained in:
Nekotekina 2020-12-06 11:13:34 +03:00
parent 3a0b3a85a5
commit 77aa9e58f2
4 changed files with 31 additions and 8 deletions

View file

@ -1615,7 +1615,13 @@ void spu_thread::cpu_task()
if (!cpu->spu_tname.is_equal(name_cache)) [[unlikely]]
{
name_cache = cpu->spu_tname.load();
cpu->spu_tname.peek_op([&](const shared_ptr<std::string>& ptr)
{
if (ptr != name_cache)
{
name_cache = ptr;
}
});
}
const auto type = cpu->get_type();