Skip to content

Commit 787bbae

Browse files
committed
refactor: optimize include dependencies using IWYU
- Replace aggregate headers (common.h, filter_headers.h, etc.) with specific headers - Add missing includes that were incorrectly removed - Fix build errors by reverting problematic changes - 148 files changed, +1424 -117 lines
1 parent 6c8f103 commit 787bbae

148 files changed

Lines changed: 1424 additions & 117 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/algorithm/hgraph/hgraph.cpp

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,39 +14,52 @@
1414

1515
#include "hgraph.h"
1616

17-
#include <datacell/compressed_graph_datacell_parameter.h>
17+
#include <bits/std_abs.h>
1818
#include <fmt/core.h>
19+
#include <stdlib.h>
1920

21+
#include <algorithm>
2022
#include <atomic>
23+
#include <cmath>
24+
#include <cstdint>
25+
#include <ext/alloc_traits.h>
2126
#include <memory>
27+
#include <mutex>
2228
#include <stdexcept>
2329

30+
#include "algorithm/hgraph/hgraph_cache.h"
31+
#include "algorithm/hgraph/hgraph_parameter.h"
2432
#include "algorithm/inner_index_interface.h"
33+
#include "algorithm/inner_index_parameter.h"
2534
#include "analyzer/analyzer.h"
26-
#include "attr/argparse.h"
27-
#include "common.h"
35+
#include "datacell/attribute_inverted_interface.h"
36+
#include "datacell/extra_info_interface.h"
2837
#include "datacell/flatten_interface.h"
38+
#include "datacell/flatten_interface_parameter.h"
2939
#include "datacell/sparse_graph_datacell.h"
30-
#include "dataset_impl.h"
31-
#include "impl/filter/filter_headers.h"
32-
#include "impl/heap/standard_heap.h"
40+
#include "impl/basic_optimizer.h"
41+
#include "impl/label_table/label_table.h"
3342
#include "impl/odescent/odescent_graph_builder.h"
43+
#include "impl/odescent/odescent_graph_parameter.h"
3444
#include "impl/pruning_strategy.h"
35-
#include "impl/reasoning/search_reasoning.h"
3645
#include "impl/reorder/flatten_reorder.h"
3746
#include "index/index_impl.h"
38-
#include "index/iterator_filter.h"
47+
#include "index_common_param.h"
48+
#include "index_feature_list.h"
49+
#include "io/io_parameter.h"
3950
#include "io/reader_io_parameter.h"
40-
#include "storage/serialization.h"
41-
#include "storage/stream_reader.h"
42-
#include "typing.h"
51+
#include "json_wrapper.h"
52+
#include "tsl/robin_hash.h"
53+
#include "utils/resource_object_pool.h"
4354
#include "utils/util_functions.h"
44-
#include "utils/visited_list.h"
55+
#include "vsag/constants.h"
56+
#include "vsag/index_features.h"
4557
#include "vsag/options.h"
58+
#include "vsag/search_request.h"
4659

4760
namespace vsag {
48-
49-
class HGraphAnalyzer;
61+
class Reader;
62+
struct AttributeSet;
5063

5164
HGraph::HGraph(const HGraphParameterPtr& hgraph_param, const vsag::IndexCommonParam& common_param)
5265
: InnerIndexInterface(hgraph_param, common_param),

src/algorithm/hgraph/hgraph_build.cpp

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,81 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
#include <cxxabi.h>
1516
#include <fmt/core.h>
1617

18+
#include <algorithm>
19+
#include <atomic>
1720
#include <chrono>
21+
#include <cstdint>
22+
#include <exception>
23+
#include <ext/alloc_traits.h>
1824
#include <future>
25+
#include <iosfwd>
26+
#include <memory>
27+
#include <mutex>
28+
#include <shared_mutex>
29+
#include <string>
30+
#include <string_view>
1931
#include <unordered_map>
2032
#include <unordered_set>
21-
33+
#include <utility>
34+
#include <vector>
35+
36+
#include "algorithm/hgraph/hgraph_cache.h"
37+
#include "algorithm/hgraph/hgraph_parameter.h"
38+
#include "algorithm/inner_index_interface.h"
39+
#include "basic_types.h"
40+
#include "common.h"
41+
#include "container_types.h"
42+
#include "data_type.h"
43+
#include "datacell/attribute_inverted_interface.h"
44+
#include "datacell/extra_info_interface.h"
2245
#include "datacell/flatten_datacell_parameter.h"
23-
#include "dataset_impl.h"
46+
#include "datacell/flatten_interface.h"
47+
#include "datacell/graph_interface.h"
48+
#include "hash_types.h"
2449
#include "hgraph.h" // IWYU pragma: keep
50+
#include "impl/basic_optimizer.h"
51+
#include "impl/heap/distance_heap.h"
2552
#include "impl/heap/standard_heap.h"
53+
#include "impl/inner_search_param.h"
54+
#include "impl/label_table/label_table.h"
2655
#include "impl/logger/logger.h"
2756
#include "impl/odescent/odescent_graph_builder.h"
57+
#include "impl/odescent/odescent_graph_parameter.h"
2858
#include "impl/pruning_strategy.h"
59+
#include "impl/reorder/flatten_reorder.h"
60+
#include "impl/reorder/reorder.h"
61+
#include "impl/runtime_parameter.h"
2962
#include "impl/searcher/basic_searcher.h"
63+
#include "impl/thread_pool/safe_thread_pool.h"
64+
#include "index_common_param.h"
65+
#include "index_feature_list.h"
66+
#include "inner_string_params.h"
67+
#include "io/io_parameter.h"
3068
#include "io/memory_io_parameter.h"
69+
#include "metric_type.h"
70+
#include "quantization/quantizer_parameter.h"
3171
#include "quantization/scalar_quantization/scalar_quantizer_parameter.h"
3272
#include "storage/stream_reader.h"
3373
#include "storage/stream_writer.h"
74+
#include "tsl/robin_hash.h"
75+
#include "tsl/robin_map.h"
76+
#include "tsl/robin_set.h"
77+
#include "utils/lock_strategy.h"
3478
#include "utils/util_functions.h"
79+
#include "utils/visited_list.h"
80+
#include "vsag/attribute.h"
81+
#include "vsag/constants.h"
82+
#include "vsag/dataset.h"
83+
#include "vsag/index.h"
84+
#include "vsag/index_features.h"
3585

3686
namespace vsag {
87+
class Allocator;
88+
class IteratorFilterContext;
89+
struct QueryContext;
3790

3891
static FlattenInterfacePtr
3992
make_temporary_sq8_flatten(MetricType metric,

src/algorithm/hgraph/hgraph_cache.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,16 @@
1414

1515
#include "hgraph_cache.h"
1616

17-
#include "impl/allocator/default_allocator.h"
17+
#include <stdint.h>
18+
19+
#include <utility>
20+
21+
#include "storage/stream_reader.h"
22+
#include "storage/stream_writer.h"
23+
#include "tsl/robin_hash.h"
1824

1925
namespace vsag {
26+
class Allocator;
2027

2128
HGraphCache::HGraphCache(Allocator* allocator)
2229
: allocator_(allocator), source_ids_(allocator_), neighbors_(allocator_) {

src/algorithm/hgraph/hgraph_modify.cpp

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,36 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15+
#include <stdint.h>
16+
17+
#include <atomic>
18+
#include <memory>
19+
#include <mutex>
20+
#include <ostream>
21+
#include <shared_mutex>
22+
#include <tuple>
23+
#include <vector>
24+
25+
#include "algorithm/inner_index_interface.h"
26+
#include "basic_types.h"
27+
#include "common.h"
28+
#include "container_types.h"
29+
#include "datacell/attribute_inverted_interface.h"
30+
#include "datacell/extra_info_interface.h"
31+
#include "datacell/flatten_interface.h"
32+
#include "datacell/graph_interface.h"
33+
#include "hash_types.h"
1534
#include "hgraph.h" // IWYU pragma: keep
35+
#include "impl/label_table/label_table.h"
1636
#include "impl/pruning_strategy.h"
17-
#include "utils/util_functions.h"
37+
#include "tsl/robin_hash.h"
38+
#include "utils/lock_strategy.h"
39+
#include "vsag/errors.h"
40+
#include "vsag/index.h"
41+
#include "vsag_exception.h"
1842

1943
namespace vsag {
44+
struct AttributeSet;
2045

2146
uint32_t
2247
HGraph::Remove(const std::vector<int64_t>& ids, RemoveMode mode) {

src/algorithm/hgraph/hgraph_param_mapping.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,25 @@
1313
// limitations under the License.
1414

1515
#include <fmt/core.h>
16+
#include <stdint.h>
17+
18+
#include <algorithm>
19+
#include <memory>
20+
#include <string>
1621

1722
#include "common.h"
23+
#include "data_type.h"
24+
#include "datacell/graph_interface_parameter.h"
1825
#include "hgraph.h" // IWYU pragma: keep
1926
#include "hgraph_parameter.h"
27+
#include "index_common_param.h"
28+
#include "inner_string_params.h"
29+
#include "json_types.h"
30+
#include "json_wrapper.h"
31+
#include "parameter.h"
32+
#include "type_helpers.h"
33+
#include "utils/util_functions.h"
34+
#include "vsag/constants.h"
2035

2136
namespace vsag {
2237

src/algorithm/hgraph/hgraph_search.cpp

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,62 @@
1313
// limitations under the License.
1414

1515
#include <fmt/core.h>
16-
16+
#include <stddef.h>
17+
#include <stdint.h>
18+
19+
#include <algorithm>
20+
#include <atomic>
21+
#include <limits>
22+
#include <memory>
23+
#include <ostream>
24+
#include <shared_mutex>
25+
#include <string>
26+
#include <tuple>
27+
#include <utility>
28+
#include <vector>
29+
30+
#include "algorithm/hgraph/hgraph_parameter.h"
31+
#include "algorithm/inner_index_interface.h"
1732
#include "attr/argparse.h"
33+
#include "attr/executor/executor.h"
34+
#include "basic_types.h"
35+
#include "common.h"
36+
#include "container_types.h"
37+
#include "data_type.h"
38+
#include "datacell/attribute_inverted_interface.h"
39+
#include "datacell/extra_info_interface.h"
40+
#include "datacell/flatten_interface.h"
41+
#include "datacell/graph_interface.h"
1842
#include "dataset_impl.h"
43+
#include "hash_types.h"
1944
#include "hgraph.h" // IWYU pragma: keep
20-
#include "impl/filter/filter_headers.h"
21-
#include "impl/heap/standard_heap.h"
45+
#include "impl/filter/combined_filter.h"
46+
#include "impl/filter/extrainfo_wrapper_filter.h"
47+
#include "impl/filter/inner_id_wrapper_filter.h"
48+
#include "impl/heap/distance_heap.h"
49+
#include "impl/inner_search_param.h"
50+
#include "impl/label_table/label_table.h"
51+
#include "impl/logger/logger.h"
2252
#include "impl/reasoning/search_reasoning.h"
53+
#include "impl/searcher/basic_searcher.h"
54+
#include "impl/searcher/parallel_searcher.h"
2355
#include "index/iterator_filter.h"
56+
#include "query_context.h"
57+
#include "tsl/robin_hash.h"
58+
#include "utils/resource_object_pool.h"
59+
#include "utils/timer.h"
2460
#include "utils/util_functions.h"
61+
#include "utils/visited_list.h"
62+
#include "vsag/allocator.h"
63+
#include "vsag/dataset.h"
64+
#include "vsag/errors.h"
65+
#include "vsag/expected.hpp"
66+
#include "vsag/filter.h"
67+
#include "vsag/search_request.h"
68+
#include "vsag_exception.h"
2569

2670
namespace vsag {
71+
class IteratorContext;
2772

2873
static DatasetPtr
2974
make_empty_dataset_with_stats() {

src/algorithm/hgraph/hgraph_serialize.cpp

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,41 @@
1313
// limitations under the License.
1414

1515
#include <fmt/core.h>
16-
17-
#include "datacell/sparse_graph_datacell.h"
16+
#include <stdint.h>
17+
18+
#include <atomic>
19+
#include <limits>
20+
#include <memory>
21+
#include <string>
22+
#include <vector>
23+
24+
#include "algorithm/hgraph/hgraph_parameter.h"
25+
#include "algorithm/inner_index_interface.h"
26+
#include "algorithm/inner_index_parameter.h"
27+
#include "basic_types.h"
28+
#include "container_types.h"
29+
#include "data_type.h"
30+
#include "datacell/attribute_inverted_interface.h"
31+
#include "datacell/extra_info_interface.h"
32+
#include "datacell/flatten_interface.h"
33+
#include "datacell/graph_interface.h"
1834
#include "hgraph.h" // IWYU pragma: keep
19-
#include "impl/heap/standard_heap.h"
20-
#include "impl/odescent/odescent_graph_builder.h"
21-
#include "impl/pruning_strategy.h"
35+
#include "impl/label_table/label_table.h"
36+
#include "impl/logger/logger.h"
37+
#include "inner_string_params.h"
38+
#include "json_types.h"
39+
#include "json_wrapper.h"
40+
#include "metric_type.h"
2241
#include "storage/serialization.h"
2342
#include "storage/stream_reader.h"
24-
#include "typing.h"
43+
#include "storage/stream_writer.h"
44+
#include "tsl/robin_map.h"
45+
#include "utils/lock_strategy.h"
2546
#include "utils/util_functions.h"
26-
#include "vsag/options.h"
47+
#include "utils/visited_list.h"
48+
#include "vsag/constants.h"
49+
#include "vsag/errors.h"
50+
#include "vsag_exception.h"
2751

2852
namespace vsag {
2953

src/algorithm/hnswlib/algorithm_interface.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
#include "algorithm_interface.h"
1717

18+
#include <ext/alloc_traits.h>
19+
1820
namespace hnswlib {
1921

2022
template <typename dist_t>

src/algorithm/hnswlib/block_manager.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@
1515

1616
#include "block_manager.h"
1717

18+
#include <algorithm>
19+
#include <cstdint>
20+
#include <ios>
21+
#include <new>
22+
#include <stdexcept>
23+
#include <string>
24+
25+
#include "storage/stream_reader.h"
26+
#include "storage/stream_writer.h"
27+
#include "vsag/allocator.h"
28+
1829
namespace hnswlib {
1930

2031
BlockManager::BlockManager(uint64_t size_data_per_element,

0 commit comments

Comments
 (0)