Std::shared_pt/weak_ptr vs ReferenceCounterObjectPtr/WeakPtr

I’m looking for a replacement of std::shared_ptr / std::weak_ptr . Possibly an “intrusive” solution
where I can customize addRefCount()/remRefCount().

Is it possible to use JUCE ReferenceCountedObjectPtr / WeakReferencePtr ?

What I don’t see in the code is an atomic lock() from a weak_ptr to a strong_ptr. But I can be wrong.