summaryrefslogtreecommitdiffstats
path: root/tests/auto/tools/moc/cxx17-namespaces.h
blob: 9c346c79934afecee31b0aaabd7dd09a7a6ef932 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (C) 2011 Olivier Goffart.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#ifndef CXX17_NAMESPACES_H
#define CXX17_NAMESPACES_H
#include <QtCore/QObject>

#if defined(__cpp_nested_namespace_definitions) || defined(Q_MOC_RUN)
namespace CXX17Namespace::A::B {
namespace C::D {
namespace E::F::G { } // don't confuse moc
#else
namespace CXX17Namespace { namespace A { namespace B {
namespace C { namespace D {
#endif

Q_NAMESPACE

class ClassInNamespace
{
    Q_GADGET
public:
    enum GadEn { Value = 3 };
    Q_ENUM(GadEn)
};

enum NamEn { Value = 4 };
Q_ENUM_NS(NamEn);


#if defined(__cpp_nested_namespace_definitions) || defined(Q_MOC_RUN)
}
}
#else
} } }
} }
#endif

#endif