You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/build/reference/ifc-map.md
+15-12Lines changed: 15 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,33 @@
1
1
---
2
2
title: "/ifcMap"
3
3
description: "Map named modules and header units to IFC files."
4
-
ms.date: 10/13/2023
4
+
ms.date: 10/16/2023
5
5
author: "tylermsft"
6
6
ms.author: "twhitney"
7
7
f1_keywords: ["/ifcMap"]
8
8
helpviewer_keywords: ["/ifcMap", "Specify named module and header unit mappings to IFC files."]
9
9
---
10
10
# `/ifcMap`
11
11
12
-
This switch tells the compiler where to find the [TOML](https://toml.io/en/)file that maps named modules and header units to their respective IFC (.ifc) files.
12
+
This switch tells the compiler where to find the IFC reference map file, which maps references to named modules and header units to their corresponding IFC (`.ifc`) files.
13
13
14
14
## Syntax
15
15
16
16
> **`/ifcMap`***`filename`*
17
17
18
18
## Remarks
19
19
20
-
The *`filename`* argument specifies a TOML (Tom's Obvious Minimal Language) file. The file can be relative to the compiler's working directory, or an absolute path.
21
-
Multiple `/ifcMap` arguments can be provided to the compiler.
20
+
The `*filename*` argument specifies the IFC reference map file. It can be relative to the compiler's working directory, or an absolute path.
22
21
23
-
The TOML file can contain a mix of `[[module]]` and `[[header-unit]]` references. Syntax errors or unrecognized table names result in compiler error `C7696` (TOML parse error).
22
+
You can provide multiple `/ifcMap` arguments to the compiler.
24
23
25
-
### TOML for named modules
24
+
The IFC reference map file format is a subset of the [TOML](https://toml.io/en/) file format. The IFC reference map file can contain a mix of `[[module]]` and `[[header-unit]]` references.
26
25
27
-
The format of the TOML file must adhere to the following specification for named modules:
26
+
Syntax errors or unrecognized table names result in compiler error `C7696` (TOML parse error).
27
+
28
+
### Map named modules
29
+
30
+
The format of the IFC reference map file for named modules is:
28
31
29
32
```
30
33
# Using literal strings
@@ -38,17 +41,17 @@ name = "N"
38
41
ifc = "C:\\modules\\N.ifc"
39
42
```
40
43
41
-
This TOML file maps the named modules `'M'` and `'N'` to their respective IFC files. The equivalent [`/reference'](module-reference.md) is:
44
+
This IFC reference map file maps the named modules `'M'` and `'N'` to their respective IFC files. The equivalent [`/reference'](module-reference.md) is:
For more information about what types of module names are valid for the `name` field, see [`/reference remarks`](module-reference.md#remarks).
48
51
49
-
### TOML for header units
52
+
### Map header units
50
53
51
-
The format of the TOML for header units is:
54
+
The format of the IFC reference map file for header units is:
52
55
53
56
```
54
57
# Using literal strings
@@ -70,13 +73,13 @@ name = ["angle", "algorithm"]
70
73
ifc = "C:\\header-units\\algorithm.ifc"
71
74
```
72
75
73
-
The equivalent [`/headerUnit`](headerunit.md) for the previous TOML is:
76
+
This IFC reference map file maps `"my-utility.h"` to `C:\header-units\my-utility.h.ifc`, and `<vector>` to `C:\header-units\vector.ifc`, and so on. The equivalent [`/headerUnit`](headerunit.md) is:
When `[[header-unit]]` is specified in the TOML, the compiler implicitly enables [`/Zc:preprocessor`](zc-preprocessor.md), just as it's implicitly enabled when [`/headerUnit`](headerunit.md) is used. For more information about the behavior of the 'angle' and 'quote' lookup methods, see the[/headerUnit remarks](headerunit.md#remarks).
82
+
When `[[header-unit]]` is specified in an IFC reference map file, the compiler implicitly enables [`/Zc:preprocessor`](zc-preprocessor.md), just as it's implicitly enabled when [`/headerUnit`](headerunit.md) is used. For more information about the behavior of the `angle` and `quote` lookup methods, see [/headerUnit remarks](headerunit.md#remarks).
0 commit comments