VTK
vtkParseMerge.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParseMerge.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright (c) 2010,2015 David Gobbi
17 
18  Contributed to the VisualizationToolkit by the author in March 2015
19  under the terms of the Visualization Toolkit 2015 copyright.
20 -------------------------------------------------------------------------*/
21 
27 #ifndef VTK_PARSE_MERGE_H
28 #define VTK_PARSE_MERGE_H
29 
30 #include "vtkParseData.h"
31 #include "vtkParseHierarchy.h"
32 
37 typedef struct _MergeInfo
38 {
39  int NumberOfClasses; /* number of classes in geneology */
40  const char **ClassNames; /* class name */
41  int NumberOfFunctions; /* must match FunctionInfo */
42  int *NumberOfOverrides; /* n classes that define this function */
43  int **OverrideClasses; /* class for the override */
44 } MergeInfo;
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
58  FileInfo *finfo, NamespaceInfo *data, ClassInfo *classInfo);
59 
64 
74  FileInfo *finfo, const NamespaceInfo *data, const HierarchyInfo *hinfo,
75  const char *classname, FILE *hintfile, MergeInfo *info, ClassInfo *merge);
76 
77 #ifdef __cplusplus
78 } /* extern "C" */
79 #endif
80 
81 #endif
void vtkParseMerge_FreeMergeInfo(MergeInfo *info)
Free the MergeInfo object.
All the entries from a hierarchy file.
FileInfo is for header files.
Definition: vtkParseData.h:222
MergeInfo * vtkParseMerge_MergeSuperClasses(FileInfo *finfo, NamespaceInfo *data, ClassInfo *classInfo)
Merge all inherited methods into the ClassInfo.
int ** OverrideClasses
Definition: vtkParseMerge.h:43
int * NumberOfOverrides
Definition: vtkParseMerge.h:42
struct _MergeInfo MergeInfo
This file contains utility functions for merging together the methods for a class with those inherite...
int NumberOfClasses
Definition: vtkParseMerge.h:39
void vtkParseMerge_MergeHelper(FileInfo *finfo, const NamespaceInfo *data, const HierarchyInfo *hinfo, const char *classname, FILE *hintfile, MergeInfo *info, ClassInfo *merge)
Recursive suproutine to inherit methods from "classname".
ClassInfo is for classes, structs, unions, and namespaces.
Definition: vtkParseData.h:175
const char ** ClassNames
Definition: vtkParseMerge.h:40
This file contains utility functions for merging together the methods for a class with those inherite...
Definition: vtkParseMerge.h:37
int NumberOfFunctions
Definition: vtkParseMerge.h:41