//===--- BackgroundIndexLoader.h - Load shards from index storage-*- C++-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_BACKGROUNDINDEXLOADER_H #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_BACKGROUNDINDEXLOADER_H #include "index/Background.h" #include "support/Path.h" #include "llvm/ADT/ArrayRef.h" #include <memory> #include <vector> namespace clang { namespace clangd { /// Represents a shard loaded from storage, stores contents in \p Shard and /// metadata about the source file that generated this shard. struct LoadedShard { … }; /// Loads all shards for the TU \p MainFile from \p Storage. std::vector<LoadedShard> loadIndexShards(llvm::ArrayRef<Path> MainFiles, BackgroundIndexStorage::Factory &IndexStorageFactory, const GlobalCompilationDatabase &CDB); } // namespace clangd } // namespace clang #endif