#pragma once #include "runtime_settings.h" #include namespace NYql { // Introspection for the runtime settings. // Must be logically stateless since it may be constructed multiple times from any line of code. class TRuntimeSettingsConfiguration: public NYql::NCommon::TSettingDispatcher, public TRuntimeSettings { public: using TPtr = TSharedPtr; using TConstPtr = TSharedPtr; TRuntimeSettingsConfiguration(); explicit TRuntimeSettingsConfiguration(const TQContext& QContext); explicit TRuntimeSettingsConfiguration(const TRuntimeSettings& settings, const TQContext& QContext = {}); }; TRuntimeSettingsConfiguration::TConstPtr MakeRuntimeSettingsConfiguration(auto&&... args) { return MakeShared(std::forward(args)...); } TRuntimeSettingsConfiguration::TPtr MakeRuntimeSettingsConfigurationMutable(auto&&... args) { return MakeShared(std::forward(args)...); } } // namespace NYql