3 template <
typename TSelf,
typename TLinksOptions>
5 :
public Platform::Collections::Methods::Trees::SizeBalancedTreeMethods<
6 TSelf, typename TLinksOptions::LinkAddressType>
8 using LinksOptionsType = TLinksOptions;
11 static constexpr auto Constants = LinksOptionsType::Constants;
13 using LinkType =
typename LinksOptionsType::LinkType;
44 return this->object().GetTreeRoot(link);
50 return this->object().GetBasePartValue(link);
56 return this->object().GetKeyPartValue(link);
103 return LinkType{linkIndex, link.Source, link.Target};
109 return this->object().Search(source, target);
120 root = this->GetLeftOrDefault(root);
122 else if (key > rootKey)
124 root = this->GetRightOrDefault(root);
137 return this->GetSizeOrZero(this->
GetTreeRoot(link));
143 return this->EachUsageCore(base, this->
GetTreeRoot(base), handler);
153 if ((this->EachUsageCore(base, this->GetLeftOrDefault(link), handler) ==
Break))
161 if ((this->EachUsageCore(base, this->GetRightOrDefault(link), handler) ==
Break))