diff options
author | jansenin <jansenin@yandex-team.com> | 2023-09-04 11:43:19 +0300 |
---|---|---|
committer | jansenin <jansenin@yandex-team.com> | 2023-09-04 11:58:10 +0300 |
commit | 5689bf8147b8f8440ff6da8c47b51ef75c181b37 (patch) | |
tree | 0356a8dd20f05c035156d6fb80faabface56efa9 | |
parent | 8f52f65e979c040e15dc8465a36a3573f3f3475d (diff) | |
download | ydb-5689bf8147b8f8440ff6da8c47b51ef75c181b37.tar.gz |
make forward declarations file
8 files changed, 66 insertions, 78 deletions
diff --git a/ydb/library/yaml_config/validator/fwd.h b/ydb/library/yaml_config/validator/fwd.h new file mode 100644 index 00000000000..8947c3fb523 --- /dev/null +++ b/ydb/library/yaml_config/validator/fwd.h @@ -0,0 +1,52 @@ +#pragma once + +#include <util/generic/ptr.h> + +namespace NYamlConfig::NValidator { + +enum class ENodeType { + Generic, Map, Array, Int64, String, Bool +}; + +class TGenericBuilder; +class TMapBuilder; +class TArrayBuilder; +class TInt64Builder; +class TStringBuilder; +class TBoolBuilder; + +class TValidator; +class TGenericValidator; +class TMapValidator; +class TArrayValidator; +class TInt64Validator; +class TStringValidator; +class TBoolValidator; + +class TNodeWrapper; +class TGenericNodeWrapper; +class TMapNodeWrapper; +class TArrayNodeWrapper; +class TInt64NodeWrapper; +class TStringNodeWrapper; +class TBoolNodeWrapper; + +class TCheckContext; +class TGenericCheckContext; +class TMapCheckContext; +class TArrayCheckContext; +class TInt64CheckContext; +class TStringCheckContext; +class TBoolCheckContext; + +class TValidationResult; + +namespace NDetail { + +class TBuilder; +TSimpleSharedPtr<TValidator> CreateValidatorPtr(const TSimpleSharedPtr<TBuilder>& builder); +template <typename TThis, typename TContext> class TCommonBuilderOps; +template <typename TThis, typename TContext> class TValidatorCommonOps; + +} // namespace NDetail +} // namespace NYamlConfig::NValidator diff --git a/ydb/library/yaml_config/validator/ut/validator/validator_ut.cpp b/ydb/library/yaml_config/validator/ut/validator/validator_ut.cpp index 1ee6a500976..9c6a8b1d4f1 100644 --- a/ydb/library/yaml_config/validator/ut/validator/validator_ut.cpp +++ b/ydb/library/yaml_config/validator/ut/validator/validator_ut.cpp @@ -3,6 +3,7 @@ #include <library/cpp/testing/unittest/registar.h> #include <ydb/library/yaml_config/validator/validator_builder.h> +#include <ydb/library/yaml_config/validator/validator.h> using namespace NYamlConfig::NValidator; using TIssue = TValidationResult::TIssue; diff --git a/ydb/library/yaml_config/validator/ut/validator_checks/validator_checks_ut.cpp b/ydb/library/yaml_config/validator/ut/validator_checks/validator_checks_ut.cpp index 35033f4df3f..ae4fa3ffe73 100644 --- a/ydb/library/yaml_config/validator/ut/validator_checks/validator_checks_ut.cpp +++ b/ydb/library/yaml_config/validator/ut/validator_checks/validator_checks_ut.cpp @@ -4,6 +4,8 @@ #include <util/system/types.h> #include <ydb/library/yaml_config/validator/validator_builder.h> +#include <ydb/library/yaml_config/validator/validator.h> +#include <ydb/library/yaml_config/validator/validator_checks.h> using namespace NYamlConfig::NValidator; using TIssue = TValidationResult::TIssue; diff --git a/ydb/library/yaml_config/validator/validator.cpp b/ydb/library/yaml_config/validator/validator.cpp index 8f7e8f00945..13ce8a123f7 100644 --- a/ydb/library/yaml_config/validator/validator.cpp +++ b/ydb/library/yaml_config/validator/validator.cpp @@ -1,7 +1,5 @@ #include "validator.h" -#include "validator_checks.h" - #include <util/string/cast.h> #include <util/system/types.h> diff --git a/ydb/library/yaml_config/validator/validator.h b/ydb/library/yaml_config/validator/validator.h index 63ff8c4fed7..77a15612418 100644 --- a/ydb/library/yaml_config/validator/validator.h +++ b/ydb/library/yaml_config/validator/validator.h @@ -1,5 +1,9 @@ #pragma once +#include "fwd.h" + +#include "validator_checks.h" + #include <library/cpp/yaml/fyamlcpp/fyamlcpp.h> #include <util/generic/string.h> @@ -12,47 +16,6 @@ namespace NYamlConfig::NValidator { -enum class ENodeType { - Generic, Map, Array, Int64, String, Bool -}; - -class TValidator; -class TGenericValidator; -class TMapValidator; -class TArrayValidator; -class TInt64Validator; -class TStringValidator; -class TBoolValidator; - -class TGenericNodeWrapper; -class TMapNodeWrapper; -class TArrayNodeWrapper; -class TInt64NodeWrapper; -class TStringNodeWrapper; -class TBoolNodeWrapper; - -class TGenericCheckContext; -class TMapCheckContext; -class TArrayCheckContext; -class TInt64CheckContext; -class TStringCheckContext; -class TBoolCheckContext; - -class TCheckContext; - -class TGenericBuilder; - -namespace NDetail { - -class TBuilder; - -TSimpleSharedPtr<TValidator> CreateValidatorPtr(const TSimpleSharedPtr<NDetail::TBuilder>& builder); - -template <typename TThis, typename TContext> -class TValidatorCommonOps; - -} - class TValidationResult { friend class TCheckContext; friend class TGenericValidator; diff --git a/ydb/library/yaml_config/validator/validator_builder.h b/ydb/library/yaml_config/validator/validator_builder.h index bce7c25b988..2d56a73200a 100644 --- a/ydb/library/yaml_config/validator/validator_builder.h +++ b/ydb/library/yaml_config/validator/validator_builder.h @@ -1,7 +1,6 @@ #pragma once -#include "validator.h" -#include "validator_checks.h" +#include "fwd.h" #include <util/generic/ptr.h> #include <util/generic/vector.h> @@ -18,19 +17,8 @@ namespace NYamlConfig::NValidator { class BuilderException : public yexception {}; -class TGenericBuilder; -class TMapBuilder; -class TArrayBuilder; -class TInt64Builder; -class TStringBuilder; -class TBoolBuilder; - namespace NDetail { -class TBuilder; - -TSimpleSharedPtr<TValidator> CreateValidatorPtr(const TSimpleSharedPtr<TBuilder>& builder); - class TBuilder { friend TSimpleSharedPtr<TValidator> NDetail::CreateValidatorPtr(const TSimpleSharedPtr<TBuilder>& builder); diff --git a/ydb/library/yaml_config/validator/validator_checks.cpp b/ydb/library/yaml_config/validator/validator_checks.cpp index 965bf975451..0224236d3a9 100644 --- a/ydb/library/yaml_config/validator/validator_checks.cpp +++ b/ydb/library/yaml_config/validator/validator_checks.cpp @@ -1,5 +1,7 @@ #include "validator_checks.h" +#include "validator.h" + #include <util/string/cast.h> namespace NYamlConfig::NValidator { diff --git a/ydb/library/yaml_config/validator/validator_checks.h b/ydb/library/yaml_config/validator/validator_checks.h index 09bd313c1ef..417991600a5 100644 --- a/ydb/library/yaml_config/validator/validator_checks.h +++ b/ydb/library/yaml_config/validator/validator_checks.h @@ -1,6 +1,8 @@ #pragma once -#include "validator.h" +#include "fwd.h" + +#include <library/cpp/yaml/fyamlcpp/fyamlcpp.h> #include <util/generic/maybe.h> @@ -26,28 +28,8 @@ // } namespace NYamlConfig::NValidator { - -class TNodeWrapper; -class TGenericNodeWrapper; -class TMapNodeWrapper; -class TArrayNodeWrapper; -class TInt64NodeWrapper; -class TStringNodeWrapper; -class TBoolNodeWrapper; - -class TCheckContext; -class TGenericCheckContext; -class TMapCheckContext; -class TArrayCheckContext; -class TInt64CheckContext; -class TStringCheckContext; -class TBoolCheckContext; - namespace NDetail { -template <typename TThis, typename TContext> -class TValidatorCommonOps; - template <typename TThis> class TNodeWrapperCommonOps { public: @@ -65,7 +47,7 @@ void TNodeWrapperCommonOps<TThis>::ThrowIfNullNode() { } } -} +} // namespace NDetail class TNodeWrapper : public NDetail::TNodeWrapperCommonOps<TNodeWrapper> { template <typename> friend class NDetail::TNodeWrapperCommonOps; |