14#ifndef INTERROGATEFUNCTION_H
15#define INTERROGATEFUNCTION_H
30class EXPCL_INTERROGATEDB InterrogateFunction :
public InterrogateComponent {
33 InterrogateFunction(
const InterrogateFunction ©);
34 void operator = (
const InterrogateFunction ©);
45 INLINE
bool has_scoped_name()
const;
46 INLINE
const std::string &get_scoped_name()
const;
48 INLINE
bool has_comment()
const;
49 INLINE
const std::string &get_comment()
const;
51 INLINE
bool has_prototype()
const;
52 INLINE
const std::string &get_prototype()
const;
54 INLINE
int number_of_c_wrappers()
const;
55 INLINE FunctionWrapperIndex get_c_wrapper(
int n)
const;
57 INLINE
int number_of_python_wrappers()
const;
58 INLINE FunctionWrapperIndex get_python_wrapper(
int n)
const;
60 void output(std::ostream &out)
const;
61 void input(std::istream &in);
74 F_operator_typecast = 0x0080,
75 F_constructor = 0x0100,
76 F_destructor = 0x0200,
80 std::string _scoped_name;
82 std::string _prototype;
85 typedef std::vector<FunctionWrapperIndex> Wrappers;
87 Wrappers _python_wrappers;
99 typedef std::map<std::string, CPPInstance *> Instances;
100 Instances *_instances;
101 std::string _expression;
103 friend class InterrogateBuilder;
104 friend class InterrogateDatabase;
105 friend class InterfaceMakerC;
106 friend class InterfaceMakerPythonSimple;
107 friend class InterfaceMakerPythonNative;
108 friend class FunctionRemap;
This class manages a mapping of integers to integers.
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 function.
bool is_method() const
Returns true if the function is a class method.
bool is_destructor() const
Returns true if the function is a destructor.
void remap_indices(const IndexRemapper &remap)
Remaps all internal index numbers according to the indicated map.
bool is_global() const
Returns true if the function is marked as 'global'.
TypeIndex get_class() const
Return the class that owns the method, if is_method() returns true.
bool is_constructor() const
Returns true if the function is a constructor.
bool is_unary_op() const
Returns true if the function is flagged as a special unary operator, like operator -() with no parame...
bool is_virtual() const
Returns true if the function is virtual, for whatever that's worth.
bool is_operator_typecast() const
Returns true if the function is a special typecast operator, like operator bool().
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.