14#ifndef INTERROGATEFUNCTIONWRAPPER_H
15#define INTERROGATEFUNCTIONWRAPPER_H
34 INLINE FunctionIndex get_function()
const;
36 INLINE
bool is_callable_by_name()
const;
38 INLINE
bool has_return_value()
const;
39 INLINE TypeIndex get_return_type()
const;
40 INLINE
bool caller_manages_return_value()
const;
41 INLINE FunctionIndex get_return_value_destructor()
const;
43 INLINE
int number_of_parameters()
const;
44 INLINE TypeIndex parameter_get_type(
int n)
const;
45 INLINE
bool parameter_has_name(
int n)
const;
46 INLINE
const std::string ¶meter_get_name(
int n)
const;
47 INLINE
bool parameter_is_this(
int n)
const;
48 INLINE
bool parameter_is_optional(
int n)
const;
50 INLINE
const std::string &get_unique_name()
const;
52 INLINE
bool has_comment()
const;
53 INLINE
const std::string &get_comment()
const;
55 void output(std::ostream &out)
const;
56 void input(std::istream &in);
62 F_caller_manages = 0x0001,
63 F_has_return = 0x0002,
64 F_callable_by_name = 0x0004
70 PF_is_optional = 0x0004,
74 FunctionIndex _function;
75 TypeIndex _return_type;
76 FunctionIndex _return_value_destructor;
77 std::string _unique_name;
86 void output(std::ostream &out)
const;
87 void input(std::istream &in);
95 typedef std::vector<Parameter> Parameters;
96 Parameters _parameters;
98 friend class InterrogateBuilder;
99 friend class FunctionRemap;
105INLINE std::ostream &operator << (std::ostream &out,
const InterrogateFunctionWrapper::Parameter &p);
106INLINE std::istream &operator >> (std::istream &in, InterrogateFunctionWrapper::Parameter &p);
This class manages a mapping of integers to integers.
The base class for things that are part of the interrogate database.
void input(std::istream &in)
Reads the data file as previously formatted by output().
void output(std::ostream &out) const
Formats the component for output to a data file.
An internal representation of a callable function.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.