43 #ifndef VTK_PARSE_PREPROCESS_H
44 #define VTK_PARSE_PREPROCESS_H
51 #if defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
122 #define VTK_PARSE_FATAL_ERROR 0xF8
228 int *already_loaded);
const char * vtkParsePreprocess_ProcessString(PreprocessInfo *info, const char *text)
Fully process a string with the preprocessor, and return a new string or NULL if a fatal error occurr...
_preproc_platform_t
Platforms.
Contains all symbols defined thus far (including those defined in any included header files)...
void vtkParsePreprocess_InitMacro(MacroInfo *symbol)
Initialize a preprocessor symbol struct.
MacroInfo * vtkParsePreprocess_GetMacro(PreprocessInfo *info, const char *name)
Return a preprocessor symbol struct, or NULL if not found.
int vtkParsePreprocess_HandleDirective(PreprocessInfo *info, const char *directive)
Handle a preprocessor directive.
struct _PreprocessInfo PreprocessInfo
Contains all symbols defined thus far (including those defined in any included header files)...
struct _MacroInfo MacroInfo
Struct to describe a preprocessor symbol.
_preproc_return_t
Directive return values.
Struct to describe a preprocessor symbol.
void vtkParsePreprocess_Init(PreprocessInfo *info, const char *filename)
Initialize a preprocessor struct.
unsigned long long preproc_uint_t
const char * vtkParsePreprocess_FindIncludeFile(PreprocessInfo *info, const char *filename, int system_first, int *already_loaded)
Find an include file in the path.
const char ** IncludeDirectories
void vtkParsePreprocess_Free(PreprocessInfo *info)
Free a preprocessor struct and its contents;.
MacroInfo *** MacroHashTable
void vtkParsePreprocess_AddStandardMacros(PreprocessInfo *info, int platform)
Add all standard preprocessor symbols.
void vtkParsePreprocess_FreeProcessedString(PreprocessInfo *info, const char *text)
Free a processed string.
int vtkParsePreprocess_AddMacro(PreprocessInfo *info, const char *name, const char *definition)
Add a preprocessor symbol, including a definition.
int vtkParsePreprocess_RemoveMacro(PreprocessInfo *info, const char *name)
Remove a preprocessor symbol.
StringCache provides a simple way of allocating strings centrally.
long long preproc_int_t
This file provides subroutines to assist in preprocessing C/C++ header files.
int NumberOfIncludeDirectories
const char ** IncludeFiles
const char * vtkParsePreprocess_ExpandMacro(PreprocessInfo *info, MacroInfo *macro, const char *argstring)
Expand a macro.
void vtkParsePreprocess_FreeMacro(MacroInfo *macro)
Free a preprocessor macro struct.
int vtkParsePreprocess_EvaluateExpression(PreprocessInfo *info, const char *text, preproc_int_t *val, int *is_unsigned)
Evaluate a preprocessor expression, providing an integer result in "val", and whether it is unsigned ...
void vtkParsePreprocess_FreeMacroExpansion(PreprocessInfo *info, MacroInfo *macro, const char *text)
Free an expanded macro.
void vtkParsePreprocess_IncludeDirectory(PreprocessInfo *info, const char *name)
Add an include directory.