Coverage Report

Created: 2026-02-09 06:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmImportedCxxModuleInfo.h
Line
Count
Source
1
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2
   file LICENSE.rst or https://cmake.org/licensing for details.  */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include <map>
8
#include <string>
9
#include <vector>
10
11
struct ImportedCxxModuleInfo
12
{
13
  std::string const Name;
14
  std::vector<std::string> const AvailableBmis;
15
};
16
17
struct ImportedCxxModuleGeneratorInfo
18
{
19
  std::string const BmiName;
20
};
21
22
struct ImportedCxxModuleLookup
23
{
24
0
  ImportedCxxModuleLookup() = default;
25
0
  ~ImportedCxxModuleLookup() = default;
26
27
  bool Initialized() const;
28
  void Initialize(std::string const& importedModules);
29
30
  std::string BmiNameForSource(std::string const& path);
31
32
private:
33
  bool DoneInit = false;
34
  std::map<std::string, ImportedCxxModuleInfo> ImportedInfo;
35
  std::map<std::string, ImportedCxxModuleGeneratorInfo> GeneratorInfo;
36
};