27 friend constexpr tostream &
__fastcall operator<<(
tostream &os, process_work_type
const &)
noexcept(
true) {
51 friend tostream &
__fastcall operator<<(
tostream &os, process_work_type
const &p)
noexcept(
false) {
52 os<<
_T(
"processed=")<<p.work;
69 constexpr params()
noexcept(
true)=
default;
72 template<
class T>
constexpr
75 template<
class T>
constexpr
77 template<
class T>
constexpr
79 template<
class T>
constexpr
115 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
119 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
123 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
128 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
133 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
138 assert(parent==
nullptr ||
dynamic_cast<node_type
const *>(parent));
145 const typename atomic_t::write_lock_type lk(cfg_->lock_,
atomic_t::lock_traits::infinite_timeout());
146 vertex_=cfg_->add_vertex_nolk(p.details);
148 cfg_->add_edge_nolk(p.parent->vertex(), vertex_,
'?');
150 cfg_->add_edge_to_root_nolk(vertex_,
'?');
156 void update_edge(node_property_t::value_type
const e_details)
noexcept(
false) {
158 const typename atomic_t::write_lock_type lk(cfg_->lock_,
atomic_t::lock_traits::infinite_timeout());
159 cfg_->update_edge_nolk(vertex_, e_details);