/**************************************************************************** ** ** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. ** Copyright 2005 Roberto Raggi ** ** This file is part of $PRODUCT$. ** ** $CPP_LICENSE$ ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef PP_MACRO_H #define PP_MACRO_H namespace rpp { struct pp_macro { #if defined (PP_WITH_MACRO_POSITION) pp_fast_string const *file; #endif pp_fast_string const *name; pp_fast_string const *definition; std::vector formals; union { int unsigned state; struct { int unsigned hidden: 1; int unsigned function_like: 1; int unsigned variadics: 1; }; }; int lines; pp_macro *next; std::size_t hash_code; inline pp_macro(): #if defined (PP_WITH_MACRO_POSITION) file (0), #endif name (0), definition (0), state (0), lines (0), next (0), hash_code (0) {} }; } // namespace rpp #endif // PP_MACRO_H // kate: space-indent on; indent-width 2; replace-tabs on;