diff options
Diffstat (limited to 'tools/libclang/CXString.cpp')
-rw-r--r-- | tools/libclang/CXString.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/libclang/CXString.cpp b/tools/libclang/CXString.cpp index dec8ebc..1ccbed3 100644 --- a/tools/libclang/CXString.cpp +++ b/tools/libclang/CXString.cpp @@ -112,6 +112,15 @@ CXString createCXString(CXStringBuf *buf) { return Str; } +CXStringSet *createSet(const std::vector<std::string> &Strings) { + CXStringSet *Set = new CXStringSet; + Set->Count = Strings.size(); + Set->Strings = new CXString[Set->Count]; + for (unsigned SI = 0, SE = Set->Count; SI < SE; ++SI) + Set->Strings[SI] = createDup(Strings[SI]); + return Set; +} + //===----------------------------------------------------------------------===// // String pools. @@ -175,5 +184,13 @@ void clang_disposeString(CXString string) { break; } } + +void clang_disposeStringSet(CXStringSet *set) { + for (unsigned SI = 0, SE = set->Count; SI < SE; ++SI) + clang_disposeString(set->Strings[SI]); + delete[] set->Strings; + delete set; +} + } // end: extern "C" |