summaryrefslogtreecommitdiffstats
path: root/vespalib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-06-30 14:16:54 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-06-30 14:16:54 +0000
commit6b2819bbb4eed26003f4aff9bc5a54a237585b3d (patch)
tree55240825f8340a1729c03cf4d97e11d9b96f2448 /vespalib
parentd413d7de59e3cbcad5f1b737ed100a3e82f11709 (diff)
Reduce exposure of internal details to reduce number of includes.
Diffstat (limited to 'vespalib')
-rw-r--r--vespalib/src/tests/slime/slime_test.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/array_value.cpp1
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/array_value.h2
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/basic_value.cpp1
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/basic_value.h3
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/empty_value_factory.cpp3
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/empty_value_factory.h3
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/object_value.h3
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/root_value.cpp9
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/root_value.h9
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/slime.h2
11 files changed, 21 insertions, 17 deletions
diff --git a/vespalib/src/tests/slime/slime_test.cpp b/vespalib/src/tests/slime/slime_test.cpp
index e58b1599b8f..6e7b3689004 100644
--- a/vespalib/src/tests/slime/slime_test.cpp
+++ b/vespalib/src/tests/slime/slime_test.cpp
@@ -2,6 +2,8 @@
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/data/slime/slime.h>
+#include <vespa/vespalib/data/slime/object_value.h>
+#include <vespa/vespalib/data/slime/array_value.h>
#include <vespa/vespalib/data/slime/strfmt.h>
#include <vespa/vespalib/data/simple_buffer.h>
#include <type_traits>
diff --git a/vespalib/src/vespa/vespalib/data/slime/array_value.cpp b/vespalib/src/vespa/vespalib/data/slime/array_value.cpp
index 1d04bfe9c7c..edcc5a8eb85 100644
--- a/vespalib/src/vespa/vespalib/data/slime/array_value.cpp
+++ b/vespalib/src/vespa/vespalib/data/slime/array_value.cpp
@@ -3,6 +3,7 @@
#include "array_value.h"
#include "array_traverser.h"
#include "empty_value_factory.h"
+#include "symbol_table.h"
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/array_value.h b/vespalib/src/vespa/vespalib/data/slime/array_value.h
index 5561b93aca2..19f93c3eeec 100644
--- a/vespalib/src/vespa/vespalib/data/slime/array_value.h
+++ b/vespalib/src/vespa/vespalib/data/slime/array_value.h
@@ -5,9 +5,7 @@
#include "value.h"
#include "nix_value.h"
#include "value_factory.h"
-#include "symbol_table.h"
#include <vector>
-#include <vespa/vespalib/util/stash.h>
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/basic_value.cpp b/vespalib/src/vespa/vespalib/data/slime/basic_value.cpp
index d09ac003526..9e96cd7bcf6 100644
--- a/vespalib/src/vespa/vespalib/data/slime/basic_value.cpp
+++ b/vespalib/src/vespa/vespalib/data/slime/basic_value.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "basic_value.h"
+#include <vespa/vespalib/util/stash.h>
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/basic_value.h b/vespalib/src/vespa/vespalib/data/slime/basic_value.h
index 0b962085b78..3768523ada0 100644
--- a/vespalib/src/vespa/vespalib/data/slime/basic_value.h
+++ b/vespalib/src/vespa/vespalib/data/slime/basic_value.h
@@ -5,7 +5,8 @@
#include "value.h"
#include "memory.h"
#include <vespa/vespalib/util/traits.h>
-#include <vespa/vespalib/util/stash.h>
+
+namespace vespalib { class Stash; }
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.cpp b/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.cpp
index 3be492b7bcc..95be18f57ae 100644
--- a/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.cpp
+++ b/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.cpp
@@ -1,6 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "empty_value_factory.h"
+#include "object_value.h"
+#include "array_value.h"
+#include <vespa/vespalib/util/stash.h>
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.h b/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.h
index 5fc22b31df9..4046a838ef3 100644
--- a/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.h
+++ b/vespalib/src/vespa/vespalib/data/slime/empty_value_factory.h
@@ -4,9 +4,6 @@
#include "value_factory.h"
#include "nix_value.h"
-#include "array_value.h"
-#include "object_value.h"
-#include <vespa/vespalib/util/stash.h>
namespace vespalib::slime {
diff --git a/vespalib/src/vespa/vespalib/data/slime/object_value.h b/vespalib/src/vespa/vespalib/data/slime/object_value.h
index 651f3a156d2..7f8a809a482 100644
--- a/vespalib/src/vespa/vespalib/data/slime/object_value.h
+++ b/vespalib/src/vespa/vespalib/data/slime/object_value.h
@@ -6,12 +6,11 @@
#include "nix_value.h"
#include "symbol.h"
#include "symbol_lookup.h"
-#include "symbol_table.h"
#include "value_factory.h"
#include "symbol_inserter.h"
#include <vespa/vespalib/stllike/vector_map.h>
-#include <vespa/vespalib/util/stash.h>
+namespace vespalib { class Stash; }
namespace vespalib::slime {
/**
diff --git a/vespalib/src/vespa/vespalib/data/slime/root_value.cpp b/vespalib/src/vespa/vespalib/data/slime/root_value.cpp
index d99fc90fdee..f910c6ac4cf 100644
--- a/vespalib/src/vespa/vespalib/data/slime/root_value.cpp
+++ b/vespalib/src/vespa/vespalib/data/slime/root_value.cpp
@@ -1,7 +1,16 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "root_value.h"
+#include "object_value.h"
+#include <vespa/vespalib/util/stash.h>
namespace vespalib::slime {
+Value *
+RootValue::wrap(SymbolTable &table, SymbolInserter &symbol) {
+ Value *value = & _stash->create<ObjectValue>(table, *_stash, symbol, _value);
+ _value = value;
+ return _value;
+}
+
} // namespace vespalib::slime
diff --git a/vespalib/src/vespa/vespalib/data/slime/root_value.h b/vespalib/src/vespa/vespalib/data/slime/root_value.h
index 314b386de6e..ed1c97b7d60 100644
--- a/vespalib/src/vespa/vespalib/data/slime/root_value.h
+++ b/vespalib/src/vespa/vespalib/data/slime/root_value.h
@@ -3,7 +3,6 @@
#pragma once
#include "nix_value.h"
-#include "object_value.h"
#include "value_factory.h"
namespace vespalib::slime {
@@ -35,12 +34,8 @@ public:
_value = value;
return *value;
}
- Value *wrap(SymbolTable &table, SymbolInserter &symbol) {
- Value *value = & _stash->create<ObjectValue>(table, *_stash, symbol, _value);
- _value = value;
- return _value;
- }
- ~RootValue() { }
+ Value *wrap(SymbolTable &table, SymbolInserter &symbol);
+ ~RootValue() = default;
};
} // namespace vespalib::slime
diff --git a/vespalib/src/vespa/vespalib/data/slime/slime.h b/vespalib/src/vespa/vespalib/data/slime/slime.h
index 3ee608799a6..9959d8e7fc8 100644
--- a/vespalib/src/vespa/vespalib/data/slime/slime.h
+++ b/vespalib/src/vespa/vespalib/data/slime/slime.h
@@ -3,7 +3,6 @@
#pragma once
#include "array_traverser.h"
-#include "array_value.h"
#include "basic_value.h"
#include "basic_value_factory.h"
#include "binary_format.h"
@@ -18,7 +17,6 @@
#include "named_symbol_lookup.h"
#include "nix_value.h"
#include "object_traverser.h"
-#include "object_value.h"
#include "resolved_symbol.h"
#include "root_value.h"
#include "symbol.h"