| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #define EXPORT(x) x {}
- namespace NSA
- {
- class ClassA
- {
- private:
- class Private
- {
- public:
- Private();
- virtual ~Private();
- void privmethod1(int);
- void privmethod2(int);
- };
- Private* p;
- class Internal
- {
- public:
- Internal();
- virtual ~Internal();
- void internal_method1(char);
- void internal_method2(char);
- };
- Internal* i;
- public:
- ClassA();
- virtual ~ClassA();
- virtual void generate_vt(const char*) const;
- };
- EXPORT(ClassA::Private::Private());
- EXPORT(ClassA::Private::~Private());
- EXPORT(void ClassA::Private::privmethod1(int));
- EXPORT(void ClassA::Private::privmethod2(int));
- EXPORT(ClassA::Internal::Internal());
- EXPORT(ClassA::Internal::~Internal());
- EXPORT(void ClassA::Internal::internal_method1(char));
- EXPORT(void ClassA::Internal::internal_method2(char));
- EXPORT(ClassA::ClassA());
- EXPORT(ClassA::~ClassA());
- EXPORT(void ClassA::generate_vt(const char*) const);
- };
- class ClassB
- {
- public:
- ClassB();
- virtual ~ClassB();
- virtual void generate_vt(const char*) const;
- };
- EXPORT(ClassB::ClassB());
- EXPORT(ClassB::~ClassB());
- EXPORT(void ClassB::generate_vt(const char*) const);
- class ClassC
- {
- public:
- ClassC();
- virtual ~ClassC();
- virtual void generate_vt(const char*) const;
- };
- EXPORT(ClassC::ClassC());
- EXPORT(ClassC::~ClassC());
- EXPORT(void ClassC::generate_vt(const char*) const);
- namespace NSB
- {
- class ClassD : public NSA::ClassA, public ClassB, public ClassC
- {
- public:
- ClassD();
- virtual ~ClassD();
- virtual void generate_vt(const char*) const;
- };
- EXPORT(ClassD::ClassD());
- EXPORT(ClassD::~ClassD());
- EXPORT(void ClassD::generate_vt(const char*) const);
- class Wildcard {
- public:
- Wildcard();
- ~Wildcard();
- void wildcard_method1();
- void wildcard_method2();
- };
- EXPORT(Wildcard::Wildcard());
- EXPORT(Wildcard::~Wildcard());
- EXPORT(void Wildcard::wildcard_method1());
- EXPORT(void Wildcard::wildcard_method2());
- };
|