1# Copyright 2014-2017 Insight Software Consortium.
2# Copyright 2004-2009 Roman Yakovenko.
3# Distributed under the Boost Software License, Version 1.0.
4# See http://www.boost.org/LICENSE_1_0.txt
5
6"""
7defines types visitor class interface
8"""
9
10
11class type_visitor_t(object):
12
13    """
14    types visitor interface
15
16    All functions within this class should be redefined in derived classes.
17    """
18
19    def __init__(self):
20        object.__init__(self)
21
22    def visit_void(self):
23        raise NotImplementedError()
24
25    def visit_char(self):
26        raise NotImplementedError()
27
28    def visit_unsigned_char(self):
29        raise NotImplementedError()
30
31    def visit_signed_char(self):
32        raise NotImplementedError()
33
34    def visit_wchar(self):
35        raise NotImplementedError()
36
37    def visit_short_int(self):
38        raise NotImplementedError()
39
40    def visit_short_unsigned_int(self):
41        raise NotImplementedError()
42
43    def visit_bool(self):
44        raise NotImplementedError()
45
46    def visit_int(self):
47        raise NotImplementedError()
48
49    def visit_unsigned_int(self):
50        raise NotImplementedError()
51
52    def visit_long_int(self):
53        raise NotImplementedError()
54
55    def visit_long_unsigned_int(self):
56        raise NotImplementedError()
57
58    def visit_long_long_int(self):
59        raise NotImplementedError()
60
61    def visit_long_long_unsigned_int(self):
62        raise NotImplementedError()
63
64    def visit_int128(self):
65        raise NotImplementedError()
66
67    def visit_uint128(self):
68        raise NotImplementedError()
69
70    def visit_float(self):
71        raise NotImplementedError()
72
73    def visit_double(self):
74        raise NotImplementedError()
75
76    def visit_long_double(self):
77        raise NotImplementedError()
78
79    def visit_complex_long_double(self):
80        raise NotImplementedError()
81
82    def visit_complex_double(self):
83        raise NotImplementedError()
84
85    def visit_complex_float(self):
86        raise NotImplementedError()
87
88    def visit_jbyte(self):
89        raise NotImplementedError()
90
91    def visit_jshort(self):
92        raise NotImplementedError()
93
94    def visit_jint(self):
95        raise NotImplementedError()
96
97    def visit_jlong(self):
98        raise NotImplementedError()
99
100    def visit_jfloat(self):
101        raise NotImplementedError()
102
103    def visit_jdouble(self):
104        raise NotImplementedError()
105
106    def visit_jchar(self):
107        raise NotImplementedError()
108
109    def visit_jboolean(self):
110        raise NotImplementedError()
111
112    def visit_volatile(self):
113        raise NotImplementedError()
114
115    def visit_const(self):
116        raise NotImplementedError()
117
118    def visit_pointer(self):
119        raise NotImplementedError()
120
121    def visit_reference(self):
122        raise NotImplementedError()
123
124    def visit_elaborated(self):
125        raise NotImplementedError()
126
127    def visit_array(self):
128        raise NotImplementedError()
129
130    def visit_free_function_type(self):
131        raise NotImplementedError()
132
133    def visit_member_function_type(self):
134        raise NotImplementedError()
135
136    def visit_member_variable_type(self):
137        raise NotImplementedError()
138
139    def visit_declarated(self):
140        raise NotImplementedError()
141
142    def visit_restrict(self):
143        raise NotImplementedError()
144
145    def visit_ellipsis(self):
146        raise NotImplementedError()
147