21 INLINE InterrogateFunctionWrapper::
28 _return_value_destructor = 0;
36 INLINE InterrogateFunctionWrapper::
46 INLINE
void InterrogateFunctionWrapper::
48 InterrogateComponent::operator = (copy);
50 _function = copy._function;
51 _return_type = copy._return_type;
52 _return_value_destructor = copy._return_value_destructor;
53 _unique_name = copy._unique_name;
54 _comment = copy._comment;
55 _parameters = copy._parameters;
74 INLINE
bool InterrogateFunctionWrapper::
75 is_callable_by_name()
const {
76 return (_flags & F_callable_by_name) != 0;
84 INLINE
bool InterrogateFunctionWrapper::
85 has_return_value()
const {
86 return (_flags & F_has_return) != 0;
94 INLINE TypeIndex InterrogateFunctionWrapper::
95 get_return_type()
const {
104 INLINE
bool InterrogateFunctionWrapper::
105 caller_manages_return_value()
const {
106 return (_flags & F_caller_manages) != 0;
114 INLINE FunctionIndex InterrogateFunctionWrapper::
115 get_return_value_destructor()
const {
116 return _return_value_destructor;
124 INLINE
int InterrogateFunctionWrapper::
125 number_of_parameters()
const {
126 return _parameters.size();
134 INLINE TypeIndex InterrogateFunctionWrapper::
135 parameter_get_type(
int n)
const {
136 if (n >= 0 && n < (
int)_parameters.size()) {
137 return _parameters[n]._type;
147 INLINE
bool InterrogateFunctionWrapper::
148 parameter_has_name(
int n)
const {
149 if (n >= 0 && n < (
int)_parameters.size()) {
150 return (_parameters[n]._parameter_flags & PF_has_name) != 0;
160 INLINE
const string &InterrogateFunctionWrapper::
161 parameter_get_name(
int n)
const {
162 static string bogus_string;
163 if (n >= 0 && n < (
int)_parameters.size()) {
164 return _parameters[n]._name;
174 INLINE
bool InterrogateFunctionWrapper::
175 parameter_is_this(
int n)
const {
176 if (n >= 0 && n < (
int)_parameters.size()) {
177 return (_parameters[n]._parameter_flags & PF_is_this) != 0;
187 INLINE
const string &InterrogateFunctionWrapper::
188 get_unique_name()
const {
197 INLINE
bool InterrogateFunctionWrapper::
198 has_comment()
const {
199 return !_comment.empty();
207 INLINE
const string &InterrogateFunctionWrapper::
208 get_comment()
const {
FunctionIndex get_function() const
Returns the FunctionIndex of the function that this wrapper corresponds to.
An internal representation of a callable function.
void output(ostream &out) const
Formats the InterrogateFunctionWrapper data for output to a data file.
The base class for things that are part of the interrogate database.
void input(istream &in)
Reads the data file as previously formatted by output().