func (c Cursor) EnumConstantDeclValue() int64 {
	return int64(C.clang_getEnumConstantDeclValue(c.c))
}
/*
Retrieve the integer value of an enum constant declaration as a signed
long long.

If the cursor does not reference an enum constant declaration, LLONG_MIN is returned.
Since this is also potentially a valid constant value, the kind of the cursor
must be verified before calling this function.
package clang
import "C"
import (
	"reflect"
	"unsafe"
)
type Cursor struct {
	c C.CXCursor
}
func (c Cursor) ParsedComment() Comment {
	return Comment{C.clang_Cursor_getParsedComment(c.c)}
}
func NewNullCursor() Cursor {
	return Cursor{C.clang_getNullCursor()}
}
func (c Cursor) Equal(c2 Cursor) bool {
	o := C.clang_equalCursors(c.c, c2.c)
	return o != C.uint(0)
}
func (c Cursor) IsNull() bool {
	o := C.clang_Cursor_isNull(c.c)
	return o != C.int(0)
}
func (c Cursor) HashCursor() uint32 {
	return uint32(C.clang_hashCursor(c.c))
}
func (c Cursor) Kind() CursorKind {
	return CursorKind(C.clang_getCursorKind(c.c))
}
func (c Cursor) HasAttrs() bool {
	o := C.clang_Cursor_hasAttrs(c.c)
	return o != C.uint(0)
}
func (c Cursor) Linkage() LinkageKind {
	return LinkageKind(C.clang_getCursorLinkage(c.c))
}
func (c Cursor) Visibility() VisibilityKind {
	return VisibilityKind(C.clang_getCursorVisibility(c.c))
}
func (c Cursor) Availability() AvailabilityKind {
	return AvailabilityKind(C.clang_getCursorAvailability(c.c))
}
func (c Cursor) Language() LanguageKind {
	return LanguageKind(C.clang_getCursorLanguage(c.c))
}
func (c Cursor) TranslationUnit() TranslationUnit {
	return TranslationUnit{C.clang_Cursor_getTranslationUnit(c.c)}
}
func (c Cursor) SemanticParent() Cursor {
	return Cursor{C.clang_getCursorSemanticParent(c.c)}
}
func (c Cursor) LexicalParent() Cursor {
	return Cursor{C.clang_getCursorLexicalParent(c.c)}
}
func (c Cursor) OverriddenCursors() []Cursor {
	var cp_overridden *C.CXCursor
	var overridden []Cursor
	var numOverridden C.uint
	C.clang_getOverriddenCursors(c.c, &cp_overridden, &numOverridden)
	gos_overridden := (*reflect.SliceHeader)(unsafe.Pointer(&overridden))
	gos_overridden.Cap = int(numOverridden)
	gos_overridden.Len = int(numOverridden)
	gos_overridden.Data = uintptr(unsafe.Pointer(cp_overridden))
	return overridden
}
func Dispose(overridden []Cursor) {
	gos_overridden := (*reflect.SliceHeader)(unsafe.Pointer(&overridden))
	cp_overridden := (*C.CXCursor)(unsafe.Pointer(gos_overridden.Data))
	C.clang_disposeOverriddenCursors(cp_overridden)
}
func (c Cursor) IncludedFile() File {
	return File{C.clang_getIncludedFile(c.c)}
}
func (c Cursor) Location() SourceLocation {
	return SourceLocation{C.clang_getCursorLocation(c.c)}
}
func (c Cursor) Extent() SourceRange {
	return SourceRange{C.clang_getCursorExtent(c.c)}
}
func (c Cursor) Type() Type {
	return Type{C.clang_getCursorType(c.c)}
}
func (c Cursor) TypedefDeclUnderlyingType() Type {
	return Type{C.clang_getTypedefDeclUnderlyingType(c.c)}
}
func (c Cursor) EnumDeclIntegerType() Type {
	return Type{C.clang_getEnumDeclIntegerType(c.c)}
}