CKTypes Reference

File
ClangKit/CKTypes.h
Author
Jean-David Gadina - www.xs-labs.com
Copyright
© (c) 2010-2014 - Jean-David Gadina - www.xs-labs.com
Date
Wednesday, June 25, 2014
Includes
None

Overview

Project public types

The project obviously uses libclang headers, but there is no reason for a project using ClangKit to include them. This header contains typedefs for libclang internal types, when no libclang headers are included. This way, we can ensure the public ClangKit interfaces will compile even if libclang headers are not included.

Types

CKLanguage

Source code languages

typedef enum { CKLanguageNone = 0x00, CKLanguageC = 0x01, CKLanguageCPP = 0x02, CKLanguageObjC = 0x03, CKLanguageObjCPP = 0x04 } CKLanguage;

Discussion

ClangKit can be used to parse strings and files. For a file, the language is guessed from the file's extension. For strings, the language must be specified using one of this value.

Constants
  • CKLanguageNone
    Unknown language
  • CKLanguageC
    C source code
  • CKLanguageCPP
    C++ source code
  • CKLanguageObjC
    Objective-C source code
  • CKLanguageObjCPP
    Objective-C++ source code

CXCompletionString

libclang type for completion strings.

typedef void * CXCompletionString;

CXDiagnostic

libclang type for diagnostic objects.

typedef void * CXDiagnostic;

CXFile

libclang type for file objects.

typedef void * CXFile;

CXIndex

libclang type for index objects.

typedef void * CXIndex;

CXTranslationUnit

libclang type for translation unit objects.

typedef void * CXTranslationUnit;