Tools and libraries to glue C/C++ APIs to high-level languages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

64 lines
962 B

#if defined(_MSC_VER)
#define DLL_API __declspec(dllexport)
#else
#define DLL_API
#endif
class DLL_API Foo
{
public:
Foo();
int method();
int operator[](int i) const;
int operator[](unsigned int i);
int& operator[](int i);
int A;
protected:
int P;
};
class DLL_API Qux
{
public:
int farAwayFunc() const;
};
class DLL_API Bar : public Qux
{
public:
int method();
const Foo& operator[](int i) const;
Foo& operator[](int i);
private:
Foo m_foo;
};
class DLL_API Baz : public Foo, public Bar
{
public:
class DLL_API Nested
{
public:
operator int() const;
};
int takesQux(const Qux& qux);
Qux returnQux();
operator int() const;
typedef void *Baz::*FunctionPointerResolvedAsVoidStar;
operator FunctionPointerResolvedAsVoidStar() const { return 0; }
};
struct QArrayData
{
};
typedef QArrayData QByteArrayData;
struct QByteArrayDataPtr
{
QByteArrayData* ptr;
};