1 /*===-- clang-c/CXString.h - C Index strings --------------------*- C -*-===*\
3 |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
5 |* See https://llvm.org/LICENSE.txt for license information. *|
6 |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
8 |*===----------------------------------------------------------------------===*|
10 |* This header provides the interface to C Index strings. *|
12 \*===----------------------------------------------------------------------===*/
14 #ifndef LLVM_CLANG_C_CXSTRING_H
15 #define LLVM_CLANG_C_CXSTRING_H
17 #include "clang-c/ExternC.h"
18 #include "clang-c/Platform.h"
20 LLVM_CLANG_C_EXTERN_C_BEGIN
23 * \defgroup CINDEX_STRING String manipulation routines
32 * The \c CXString type is used to return strings from the interface when
33 * the ownership of that string might differ from one call to the next.
34 * Use \c clang_getCString() to retrieve the string data and, once finished
35 * with the string data, call \c clang_disposeString() to free the string.
39 unsigned private_flags
;
48 * Retrieve the character data associated with the given string.
50 CINDEX_LINKAGE
const char *clang_getCString(CXString string
);
53 * Free the given string.
55 CINDEX_LINKAGE
void clang_disposeString(CXString string
);
58 * Free the given string set.
60 CINDEX_LINKAGE
void clang_disposeStringSet(CXStringSet
*set
);
66 LLVM_CLANG_C_EXTERN_C_END