A source file together with all the 
headers
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.