diff options
Diffstat (limited to 'scripts/t/Dpkg_Shlibs/patterns.cpp')
-rw-r--r-- | scripts/t/Dpkg_Shlibs/patterns.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/scripts/t/Dpkg_Shlibs/patterns.cpp b/scripts/t/Dpkg_Shlibs/patterns.cpp new file mode 100644 index 0000000..eb41664 --- /dev/null +++ b/scripts/t/Dpkg_Shlibs/patterns.cpp @@ -0,0 +1,99 @@ +#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 override; + }; + + EXPORT(ClassD::ClassD()); + EXPORT(ClassD::~ClassD()); + EXPORT(void ClassD::generate_vt(const char *) const); + + class Symver { + public: + Symver(); + ~Symver(); + + void symver_method1(); + void symver_method2(); + }; + + EXPORT(Symver::Symver()); + EXPORT(Symver::~Symver()); + EXPORT(void Symver::symver_method1()); + EXPORT(void Symver::symver_method2()); + + class SymverOptional { + public: + SymverOptional(); + ~SymverOptional(); + }; + + EXPORT(SymverOptional::SymverOptional()); + EXPORT(SymverOptional::~SymverOptional()); +}; |