aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjansenin <jansenin@yandex-team.com>2023-09-04 11:43:19 +0300
committerjansenin <jansenin@yandex-team.com>2023-09-04 11:58:10 +0300
commit5689bf8147b8f8440ff6da8c47b51ef75c181b37 (patch)
tree0356a8dd20f05c035156d6fb80faabface56efa9
parent8f52f65e979c040e15dc8465a36a3573f3f3475d (diff)
downloadydb-5689bf8147b8f8440ff6da8c47b51ef75c181b37.tar.gz
make forward declarations file
-rw-r--r--ydb/library/yaml_config/validator/fwd.h52
-rw-r--r--ydb/library/yaml_config/validator/ut/validator/validator_ut.cpp1
-rw-r--r--ydb/library/yaml_config/validator/ut/validator_checks/validator_checks_ut.cpp2
-rw-r--r--ydb/library/yaml_config/validator/validator.cpp2
-rw-r--r--ydb/library/yaml_config/validator/validator.h45
-rw-r--r--ydb/library/yaml_config/validator/validator_builder.h14
-rw-r--r--ydb/library/yaml_config/validator/validator_checks.cpp2
-rw-r--r--ydb/library/yaml_config/validator/validator_checks.h26
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;