namespace std {// [saferecl.rcu.base], class template rcu_obj_basetemplate<class T, class D = default_delete<T>>class rcu_obj_base;
// [saferecl.rcu.domain], class rcu_domainclass rcu_domain;
// [saferecl.rcu.domain.func] non-member functions
rcu_domain& rcu_default_domain()noexcept;
void rcu_synchronize(rcu_domain& dom = rcu_default_domain())noexcept;
void rcu_barrier(rcu_domain& dom = rcu_default_domain())noexcept;
template<class T, class D = default_delete<T>>void rcu_retire(T* p, D d = D(), rcu_domain& dom = rcu_default_domain());
}