// Category tests. asm ( ".WORD 0,0" ); // REJECTED - asm #define M1 // ACCEPTED - variable namespace N1 { }; using namespace N1; // REJECTED - using class CLASS1; // REJECTED - forward declaration class CLASS2 // ACCEPTED - class { public: typedef CLASS1* type1; // ACCEPTED - class type public: enum {E1,E2}; // ACCEPTED - anonymous class enum enum {E3,E4} m_e; // ACCEPTED - anonymous class enum and variable enum DEF_E {E5,E6}; // ACCEPTED - class enum private: int m_a; // ACCEPTED - class variable public: int f(); // ACCEPTED - class function }; //@{ N1 comment //@} namespace N1 { //@{ N2 comment //@} namespace N2 { //@{ CLASS3 comment //@} class CLASS3 : public CLASS2 { //@{ // CLASS3_SUB comment //@} class CLASS3_SUB { public: CLASS3_SUB(); ~CLASS3_SUB(); }; public: CLASS3(); ~CLASS3(); }; } } /** * See the nested stuff. */ class CLASS4 { public: /** * @see N1::N2::CLASS3 */ CLASS4( N1::N2::CLASS3 ); }; //@{ Simple function //@} template void foo(T& v) {} //@{ Function typedef //@} int (*fct)(void) = 0; int suffix_test(); // ACCEPTED - FUNCTION forward declaration //@{ // This comment is associated with the previous statement. // @suffix //@}