class Clangc::CursorSet

brief A fast container representing a set of CXCursors.

Public Class Methods

Clangc::CursorSet#new → Clangc::CursorSet click to toggle source

Creates an empty Clangc::CursorSet instance which is a fast container representing a set of Clangc::Cursor.

VALUE
c_CursorSet_initialize(VALUE self)
{
    CursorSet_t *c;
    Data_Get_Struct(self, CursorSet_t, c);
    c->data = clang_createCXCursorSet();
    return self;
}

Public Instance Methods

Clangc::CursorSet#contains(Clangc::Cursor) → true / false click to toggle source

Queries a CXCursorSet to see if it contains a specific CXCursor.

Returns true if the set contains the specified cursor.

VALUE
c_CursorSet_contains(VALUE self, VALUE cursor)
{
    CursorSet_t *cs;
    Cursor_t *c;

    Data_Get_Struct(self, CursorSet_t, cs);
    CHECK_ARG_TYPE(cursor, Cursor);
    Data_Get_Struct(cursor, Cursor_t, c);

    return NOT_0_2_RVAL(clang_CXCursorSet_contains(cs->data, c->data));
}
Clangc::CursorSet(Clangc::Cursor) → true/false click to toggle source

Inserts a CXCursor into a CXCursorSet.

Returns false if the CXCursor was already in the set, and true otherwise.

VALUE
c_CursorSet_insert(VALUE self, VALUE cursor)
{
    CursorSet_t *cs;
    Cursor_t *c;

    Data_Get_Struct(self, CursorSet_t, cs);
    CHECK_ARG_TYPE(cursor, Cursor);
    Data_Get_Struct(cursor, Cursor_t, c);

    return NOT_0_2_RVAL(clang_CXCursorSet_insert(cs->data, c->data));
}