[lex.separate] (original) (raw)
The text of the program is kept in units calledsource files in this document.
A source file together with all the and source files included via the preprocessing directive #include, less any source lines skipped by any of the conditional inclusion ([cpp.cond]) preprocessing directives, as modified by the implementation-defined behavior of any conditionally-supported-directives ([cpp.pre]) and pragmas ([cpp.pragma]), if any, is called a preprocessing translation unit.
[Note 1:
A C++ program need not all be translated at the same time.
Translation units can be separately translated and then later linked to produce an executable program ([basic.link]).
— _end note_]