Dpkg::Vendor::Debian: Move time64 buildflags feature from future to abi
[dpkg.git] / scripts / t / Dpkg_Shlibs / patterns.cpp
blobeb4166438e8be9f4522fd52d97e61985c3b83c3b
1 #define EXPORT(x) x {}
3 namespace NSA {
4 class ClassA {
5 private:
6 class Private {
7 public:
8 Private();
9 virtual ~Private();
10 void privmethod1(int);
11 void privmethod2(int);
13 Private *p;
14 class Internal {
15 public:
16 Internal();
17 virtual ~Internal();
18 void internal_method1(char);
19 void internal_method2(char);
21 Internal *i;
22 public:
23 ClassA();
24 virtual ~ClassA();
25 virtual void generate_vt(const char *) const;
28 EXPORT(ClassA::Private::Private());
29 EXPORT(ClassA::Private::~Private());
30 EXPORT(void ClassA::Private::privmethod1(int));
31 EXPORT(void ClassA::Private::privmethod2(int));
33 EXPORT(ClassA::Internal::Internal());
34 EXPORT(ClassA::Internal::~Internal());
35 EXPORT(void ClassA::Internal::internal_method1(char));
36 EXPORT(void ClassA::Internal::internal_method2(char));
38 EXPORT(ClassA::ClassA());
39 EXPORT(ClassA::~ClassA());
40 EXPORT(void ClassA::generate_vt(const char *) const);
43 class ClassB {
44 public:
45 ClassB();
46 virtual ~ClassB();
47 virtual void generate_vt(const char *) const;
50 EXPORT(ClassB::ClassB());
51 EXPORT(ClassB::~ClassB());
52 EXPORT(void ClassB::generate_vt(const char *) const);
54 class ClassC {
55 public:
56 ClassC();
57 virtual ~ClassC();
58 virtual void generate_vt(const char *) const;
61 EXPORT(ClassC::ClassC());
62 EXPORT(ClassC::~ClassC());
63 EXPORT(void ClassC::generate_vt(const char *) const);
65 namespace NSB {
66 class ClassD : public NSA::ClassA, public ClassB, public ClassC {
67 public:
68 ClassD();
69 virtual ~ClassD();
70 virtual void generate_vt(const char *) const override;
73 EXPORT(ClassD::ClassD());
74 EXPORT(ClassD::~ClassD());
75 EXPORT(void ClassD::generate_vt(const char *) const);
77 class Symver {
78 public:
79 Symver();
80 ~Symver();
82 void symver_method1();
83 void symver_method2();
86 EXPORT(Symver::Symver());
87 EXPORT(Symver::~Symver());
88 EXPORT(void Symver::symver_method1());
89 EXPORT(void Symver::symver_method2());
91 class SymverOptional {
92 public:
93 SymverOptional();
94 ~SymverOptional();
97 EXPORT(SymverOptional::SymverOptional());
98 EXPORT(SymverOptional::~SymverOptional());