1// RUN: rm -rf %t && mkdir -p %t
2// RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %s
3// RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %s
4// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX-LINE
5// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX
6// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL-LINE
7// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL
8// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES-LINE
9// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES
10// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX-LINE
11// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX
12// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL-LINE
13// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL
14// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE
15// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES
16
17/**
18 * @brief For specifying RGB colors
19 */
20enum Color {
21 // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
22 // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
23 Red, ///< Comment 1
24 Green, ///< Comment 2
25 Blue ///< Comment 3
26};
27
28// MD-INDEX: ## Enums
29// MD-INDEX: | enum Color |
30// MD-INDEX: --
31// MD-INDEX: | Red |
32// MD-INDEX: | Green |
33// MD-INDEX: | Blue |
34// MD-INDEX: **brief** For specifying RGB colors
35
36// HTML-INDEX: <th colspan="3">enum Color</th>
37// HTML-INDEX: <td>Red</td>
38// HTML-INDEX: <td>0</td>
39// HTML-INDEX: <p> Comment 1</p>
40// HTML-INDEX: <td>Green</td>
41// HTML-INDEX: <td>1</td>
42// HTML-INDEX: <p> Comment 2</p>
43// HTML-INDEX: <td>Blue</td>
44// HTML-INDEX: <td>2</td>
45// HTML-INDEX: <p> Comment 3</p>
46
47/**
48 * @brief Shape Types
49 */
50enum class Shapes {
51 // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
52 // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
53
54 /// Comment 1
55 Circle,
56 /// Comment 2
57 Rectangle,
58 /// Comment 3
59 Triangle
60};
61// MD-INDEX: | enum class Shapes |
62// MD-INDEX: --
63// MD-INDEX: | Circle |
64// MD-INDEX: | Rectangle |
65// MD-INDEX: | Triangle |
66// MD-INDEX: **brief** Shape Types
67
68// HTML-INDEX: <th colspan="3">enum class Shapes</th>
69// HTML-INDEX: <td>Circle</td>
70// HTML-INDEX: <td>0</td>
71// HTML-INDEX: <p> Comment 1</p>
72// HTML-INDEX: <td>Rectangle</td>
73// HTML-INDEX: <td>1</td>
74// HTML-INDEX: <p> Comment 2</p>
75// HTML-INDEX: <td>Triangle</td>
76// HTML-INDEX: <td>2</td>
77// HTML-INDEX: <p> Comment 3</p>
78
79class Animals {
80 // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
81 // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
82public:
83 /**
84 * @brief specify what animal the class is
85 */
86 enum AnimalType {
87 // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
88 // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
89 Dog, ///< Man's best friend
90 Cat, ///< Man's other best friend
91 Iguana ///< A lizard
92 };
93};
94
95// HTML-ANIMAL: <h1>class Animals</h1>
96// HTML-ANIMAL: <h2 id="Enums">Enums</h2>
97// HTML-ANIMAL: <th colspan="3">enum AnimalType</th>
98// HTML-ANIMAL: <td>Dog</td>
99// HTML-ANIMAL: <td>0</td>
100// HTML-ANIMAL: <p> Man&apos;s best friend</p>
101// HTML-ANIMAL: <td>Cat</td>
102// HTML-ANIMAL: <td>1</td>
103// HTML-ANIMAL: <p> Man&apos;s other best friend</p>
104// HTML-ANIMAL: <td>Iguana</td>
105// HTML-ANIMAL: <td>2</td>
106// HTML-ANIMAL: <p> A lizard</p>
107
108// MD-ANIMAL: # class Animals
109// MD-ANIMAL: ## Enums
110// MD-ANIMAL: | enum AnimalType |
111// MD-ANIMAL: --
112// MD-ANIMAL: | Dog |
113// MD-ANIMAL: | Cat |
114// MD-ANIMAL: | Iguana |
115// MD-ANIMAL: **brief** specify what animal the class is
116
117namespace Vehicles {
118/**
119 * @brief specify type of car
120 */
121enum Car {
122 // MD-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
123 // HTML-VEHICLES-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
124
125 Sedan, ///< Comment 1
126 SUV, ///< Comment 2
127 Pickup, ///< Comment 3
128 Hatchback ///< Comment 4
129};
130} // namespace Vehicles
131
132// MD-VEHICLES: # namespace Vehicles
133// MD-VEHICLES: ## Enums
134// MD-VEHICLES: | enum Car |
135// MD-VEHICLES: --
136// MD-VEHICLES: | Sedan |
137// MD-VEHICLES: | SUV |
138// MD-VEHICLES: | Pickup |
139// MD-VEHICLES: | Hatchback |
140// MD-VEHICLES: **brief** specify type of car
141
142// HTML-VEHICLES: <h1>namespace Vehicles</h1>
143// HTML-VEHICLES: <th colspan="3">enum Car</th>
144// HTML-VEHICLES: <td>Sedan</td>
145// HTML-VEHICLES: <td>0</td>
146// HTML-VEHICLES: <p> Comment 1</p>
147// HTML-VEHICLES: <td>SUV</td>
148// HTML-VEHICLES: <td>1</td>
149// HTML-VEHICLES: <p> Comment 2</p>
150// HTML-VEHICLES: <td>Pickup</td>
151// HTML-VEHICLES: <td>2</td>
152// HTML-VEHICLES: <p> Comment 3</p>
153// HTML-VEHICLES: <td>Hatchback</td>
154// HTML-VEHICLES: <td>3</td>
155// HTML-VEHICLES: <p> Comment 4</p>
156
157enum ColorUserSpecified {
158 RedUserSpecified = 'A',
159 GreenUserSpecified = 2,
160 BlueUserSpecified = 'C'
161};
162
163// MD-INDEX: | enum ColorUserSpecified |
164// MD-INDEX: --
165// MD-INDEX: | RedUserSpecified |
166// MD-INDEX: | GreenUserSpecified |
167// MD-INDEX: | BlueUserSpecified |
168
169// HTML-INDEX: <th colspan="2">enum ColorUserSpecified</th>
170// HTML-INDEX: <td>RedUserSpecified</td>
171// HTML-INDEX: <td>&apos;A&apos;</td>
172// HTML-INDEX: <td>GreenUserSpecified</td>
173// HTML-INDEX: <td>2</td>
174// HTML-INDEX: <td>BlueUserSpecified</td>
175// HTML-INDEX: <td>&apos;C&apos;</td>
176

Provided by KDAB

Privacy Policy
Update your C++ knowledge – Modern C++11/14/17 Training
Find out more

source code of clang-tools-extra/test/clang-doc/enum.cpp