Go to the documentation of this file.
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...
@ VTK_PARSE_PREPROC_FLOAT
void vtkParsePreprocess_FreeProcessedString(PreprocessInfo *info, const char *text)
Free a processed string.
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.
@ VTK_PARSE_FILE_OPEN_ERROR
void vtkParsePreprocess_IncludeDirectory(PreprocessInfo *info, const char *name)
Add an include directory.
struct _PreprocessInfo PreprocessInfo
Contains all symbols defined thus far (including those defined in any included header files).
Struct to describe a preprocessor symbol.
@ VTK_PARSE_MACRO_REDEFINED
void vtkParsePreprocess_InitMacro(MacroInfo *symbol)
Initialize a preprocessor symbol struct.
long long preproc_int_t
This file provides subroutines to assist in preprocessing C/C++ header files.
@ VTK_PARSE_PREPROC_DOUBLE
void vtkParsePreprocess_AddStandardMacros(PreprocessInfo *info, int platform)
Add all standard preprocessor symbols.
MacroInfo * vtkParsePreprocess_GetMacro(PreprocessInfo *info, const char *name)
Return a preprocessor symbol struct, or NULL if not found.
GLuint const GLchar * name
MacroInfo *** MacroHashTable
const char ** IncludeDirectories
@ VTK_PARSE_FILE_NOT_FOUND
StringCache provides a simple way of allocating strings centrally.
@ VTK_PARSE_PREPROC_STRING
struct _MacroInfo MacroInfo
Struct to describe a preprocessor symbol.
@ VTK_PARSE_OUT_OF_MEMORY
void vtkParsePreprocess_Init(PreprocessInfo *info, const char *filename)
Initialize a preprocessor struct.
Contains all symbols defined thus far (including those defined in any included header files).
int NumberOfIncludeDirectories
@ VTK_PARSE_MACRO_UNDEFINED
void vtkParsePreprocess_FreeMacro(MacroInfo *macro)
Free a preprocessor macro struct.
_preproc_return_t
Directive return values.
@ VTK_PARSE_FILE_READ_ERROR
const char ** IncludeFiles
void vtkParsePreprocess_Free(PreprocessInfo *info)
Free a preprocessor struct and its contents;.
int vtkParsePreprocess_AddMacro(PreprocessInfo *info, const char *name, const char *definition)
Add a preprocessor symbol, including a definition.
const char * vtkParsePreprocess_FindIncludeFile(PreprocessInfo *info, const char *filename, int system_first, int *already_loaded)
Find an include file in the path.
_preproc_platform_t
Platforms.
int vtkParsePreprocess_RemoveMacro(PreprocessInfo *info, const char *name)
Remove a preprocessor symbol.
const char * vtkParsePreprocess_ExpandMacro(PreprocessInfo *info, MacroInfo *macro, const char *argstring)
Expand a macro.
int vtkParsePreprocess_HandleDirective(PreprocessInfo *info, const char *directive)
Handle a preprocessor directive.
unsigned long long preproc_uint_t
@ VTK_PARSE_MACRO_NUMARGS