Handle template expressions that may use the << or >> operators
[arduino-ctags.git] / get.h
blobd523437a484ca63135059a00a015799799462e25
1 /*
2 * $Id: get.h 525 2007-05-28 01:50:41Z elliotth $
4 * Copyright (c) 1998-2002, Darren Hiebert
6 * This source code is released for free distribution under the terms of the
7 * GNU General Public License.
9 * External interface to get.c
11 #ifndef _GET_H
12 #define _GET_H
15 * INCLUDE FILES
17 #include "general.h" /* must always come first */
19 #include "ctags.h" /* to define langType */
22 * MACROS
24 /* Is the character valid as a character of a C identifier?
25 * VMS allows '$' in identifiers.
27 #define isident(c) (isalnum(c) || (c) == '_' || (c) == '$')
29 /* Is the character valid as the first character of a C identifier?
30 * C++ allows '~' in destructors.
31 * VMS allows '$' in identifiers.
33 #define isident1(c) (isalpha(c) || (c) == '_' || (c) == '~' || (c) == '$')
36 * FUNCTION PROTOTYPES
38 extern boolean isBraceFormat (void);
39 extern unsigned int getDirectiveNestLevel (void);
40 extern void cppInit (const boolean state, const boolean hasAtLiteralStrings);
41 extern void cppTerminate (void);
42 extern void cppBeginStatement (void);
43 extern void cppEndStatement (void);
44 extern void cppUngetc (const int c);
45 extern int cppGetc (void);
46 extern int skipOverCComment (void);
48 #endif /* _GET_H */
50 /* vi:set tabstop=4 shiftwidth=4: */