use separate slot implementation for each module
[lqt.git] / cpptoxml / parser / rpp / pp-macro.h
blobcc5b5c229c2ec320489f3d25f192bc27f6e1c62d
1 /****************************************************************************
2 **
3 ** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
4 ** Copyright 2005 Roberto Raggi <roberto@kdevelop.org>
5 **
6 ** This file is part of $PRODUCT$.
7 **
8 ** $CPP_LICENSE$
9 **
10 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
11 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13 ****************************************************************************/
15 #ifndef PP_MACRO_H
16 #define PP_MACRO_H
18 namespace rpp {
20 struct pp_macro
22 #if defined (PP_WITH_MACRO_POSITION)
23 pp_fast_string const *file;
24 #endif
25 pp_fast_string const *name;
26 pp_fast_string const *definition;
27 std::vector<pp_fast_string const *> formals;
29 union
31 int unsigned state;
33 struct
35 int unsigned hidden: 1;
36 int unsigned function_like: 1;
37 int unsigned variadics: 1;
38 } f;
41 int lines;
42 pp_macro *next;
43 std::size_t hash_code;
45 inline pp_macro():
46 #if defined (PP_WITH_MACRO_POSITION)
47 file (0),
48 #endif
49 name (0),
50 definition (0),
51 state (0),
52 lines (0),
53 next (0),
54 hash_code (0)
58 } // namespace rpp
60 #endif // PP_MACRO_H
62 // kate: space-indent on; indent-width 2; replace-tabs on;