#pragma once #include "error_attribute.h" #include #include #include namespace NYT { //////////////////////////////////////////////////////////////////////////////// namespace NMergeableRangeImpl { struct TFn : public TTagInvokeCpoBase { }; //////////////////////////////////////////////////////////////////////////////// using TMergeableRange = std::vector>; } // namespace NMergeableRangeImpl //////////////////////////////////////////////////////////////////////////////// // Can be customized to make your dictionary satisfy CMergeableDictionary. inline constexpr NMergeableRangeImpl::TFn AsMergeableRange = {}; //////////////////////////////////////////////////////////////////////////////// template concept CMergeableDictionary = CTagInvocableS< TTagInvokeTag, NMergeableRangeImpl::TMergeableRange(const T&)>; //////////////////////////////////////////////////////////////////////////////// using TAnyMergeableDictionaryRef = TAnyRef< TOverload>; //////////////////////////////////////////////////////////////////////////////// } // namespace NYT