3 template <
typename TSelf,
typename TLinksOptions>
5 :
public Platform::Collections::Methods::Trees::RecursionlessSizeBalancedTreeMethods<
6 TSelf, typename TLinksOptions::LinkAddressType>
11 using LinkType =
typename LinksOptionsType::LinkType;
16 static constexpr auto Constants = LinksOptionsType::Constants;
45 return this->object().GetTreeRoot(linkAddress);
51 return this->object().GetBasePartValue(link);
57 return this->object().GetKeyPartValue(link);
90 return LinkType{linkIndex, link.Source, link.Target};
96 return this->object().Search(source, target);
107 root = this->GetLeftOrDefault(root);
109 else if (key > rootKey)
111 root = this->GetRightOrDefault(root);
124 return this->GetSizeOrZero(this->
GetTreeRoot(link));
130 return this->EachUsageCore(base, this->
GetTreeRoot(base), handler);
140 if ((this->EachUsageCore(base, this->GetLeftOrDefault(link), handler) ==
Break))
148 if ((this->EachUsageCore(base, this->GetRightOrDefault(link), handler) ==
Break))