#pragma once #include #include namespace DB::GatherUtils { template struct NumericValueSource; struct GenericValueSource; template struct NullableValueSource; template struct ConstSource; using NumericValueSources = typename TypeListMap::Type; using BasicValueSources = typename AppendToTypeList::Type; using NullableValueSources = typename TypeListMap::Type; using BasicAndNullableValueSources = typename TypeListConcat::Type; using ConstValueSources = typename TypeListMap::Type; using TypeListValueSources = typename TypeListConcat::Type; class ValueSourceVisitor : public ApplyTypeListForClass::Type {}; template class ValueSourceVisitorImpl : public VisitorImpl {}; }