]>
Commit | Line | Data |
---|---|---|
8d20f0f1 JF |
1 | /*===-- clang-c/CXString.h - C Index strings --------------------*- C -*-===*\ |
2 | |* *| | |
3 | |* The LLVM Compiler Infrastructure *| | |
4 | |* *| | |
5 | |* This file is distributed under the University of Illinois Open Source *| | |
6 | |* License. See LICENSE.TXT for details. *| | |
7 | |* *| | |
8 | |*===----------------------------------------------------------------------===*| | |
9 | |* *| | |
10 | |* This header provides the interface to C Index strings. *| | |
11 | |* *| | |
12 | \*===----------------------------------------------------------------------===*/ | |
13 | ||
14 | #ifndef LLVM_CLANG_C_CXSTRING_H | |
15 | #define LLVM_CLANG_C_CXSTRING_H | |
16 | ||
17 | #include "clang-c/Platform.h" | |
18 | ||
19 | #ifdef __cplusplus | |
20 | extern "C" { | |
21 | #endif | |
22 | ||
23 | /** | |
24 | * \defgroup CINDEX_STRING String manipulation routines | |
25 | * \ingroup CINDEX | |
26 | * | |
27 | * @{ | |
28 | */ | |
29 | ||
30 | /** | |
31 | * \brief A character string. | |
32 | * | |
33 | * The \c CXString type is used to return strings from the interface when | |
34 | * the ownership of that string might differ from one call to the next. | |
35 | * Use \c clang_getCString() to retrieve the string data and, once finished | |
36 | * with the string data, call \c clang_disposeString() to free the string. | |
37 | */ | |
38 | typedef struct { | |
39 | const void *data; | |
40 | unsigned private_flags; | |
41 | } CXString; | |
42 | ||
43 | typedef struct { | |
44 | CXString *Strings; | |
45 | unsigned Count; | |
46 | } CXStringSet; | |
47 | ||
48 | /** | |
49 | * \brief Retrieve the character data associated with the given string. | |
50 | */ | |
51 | CINDEX_LINKAGE const char *clang_getCString(CXString string); | |
52 | ||
53 | /** | |
54 | * \brief Free the given string. | |
55 | */ | |
56 | CINDEX_LINKAGE void clang_disposeString(CXString string); | |
57 | ||
58 | /** | |
59 | * \brief Free the given string set. | |
60 | */ | |
61 | CINDEX_LINKAGE void clang_disposeStringSet(CXStringSet *set); | |
62 | ||
63 | /** | |
64 | * @} | |
65 | */ | |
66 | ||
67 | #ifdef __cplusplus | |
68 | } | |
69 | #endif | |
70 | #endif | |
71 |