| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*===-- clang-c/CXString.h - C Index strings --------------------*- C -*-===*\
- |* *|
- |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
- |* Exceptions. *|
- |* See https://llvm.org/LICENSE.txt for license information. *|
- |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
- |* *|
- |*===----------------------------------------------------------------------===*|
- |* *|
- |* This header provides the interface to C Index strings. *|
- |* *|
- \*===----------------------------------------------------------------------===*/
- #ifndef LLVM_CLANG_C_CXSTRING_H
- #define LLVM_CLANG_C_CXSTRING_H
- #include "clang-c/ExternC.h"
- #include "clang-c/Platform.h"
- LLVM_CLANG_C_EXTERN_C_BEGIN
- /**
- * \defgroup CINDEX_STRING String manipulation routines
- * \ingroup CINDEX
- *
- * @{
- */
- /**
- * A character string.
- *
- * The \c CXString type is used to return strings from the interface when
- * the ownership of that string might differ from one call to the next.
- * Use \c clang_getCString() to retrieve the string data and, once finished
- * with the string data, call \c clang_disposeString() to free the string.
- */
- typedef struct {
- const void *data;
- unsigned private_flags;
- } CXString;
- typedef struct {
- CXString *Strings;
- unsigned Count;
- } CXStringSet;
- /**
- * Retrieve the character data associated with the given string.
- */
- CINDEX_LINKAGE const char *clang_getCString(CXString string);
- /**
- * Free the given string.
- */
- CINDEX_LINKAGE void clang_disposeString(CXString string);
- /**
- * Free the given string set.
- */
- CINDEX_LINKAGE void clang_disposeStringSet(CXStringSet *set);
- /**
- * @}
- */
- LLVM_CLANG_C_EXTERN_C_END
- #endif
|