The path is guaranteed to be the absolute path.
During construction checks that the file exists on the filesystem.
Flags to exclude from the flags passed on to the clang parser.
No guarantee regarding the path. May be absolute, relative, contain a '~'. The user of this type must do all the safety checks to ensure that the datacontained in valid.