Class: FFI::Clang::PrintingPolicy

Inherits:
AutoPointer
  • Object
show all
Defined in:
lib/ffi/clang/printing_policy.rb

Overview

Represents a printing policy that controls how declarations are formatted.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cursor) ⇒ PrintingPolicy

Initialize a printing policy for a cursor.



15
16
17
18
19
# File 'lib/ffi/clang/printing_policy.rb', line 15

def initialize(cursor)
  policy = Lib.get_printing_policy(cursor)
  super(policy)
  @cursor = cursor
end

Class Method Details

.release(pointer) ⇒ Object

Release the printing policy pointer.



23
24
25
# File 'lib/ffi/clang/printing_policy.rb', line 23

def self.release(pointer)
  Lib.dispose_printing_policy(pointer)
end

Instance Method Details

#get_property(property) ⇒ Object

Get a printing policy property value.



30
31
32
33
# File 'lib/ffi/clang/printing_policy.rb', line 30

def get_property(property)
  result = Lib.printing_policy_get_property(self, property)
  result == 0 ? false : true
end

#pretty_printObject

Pretty print the cursor using this policy.



44
45
46
# File 'lib/ffi/clang/printing_policy.rb', line 44

def pretty_print
  Lib.extract_string Lib.pretty_print(@cursor, self)
end

#set_property(property, value) ⇒ Object

Set a printing policy property value.



38
39
40
# File 'lib/ffi/clang/printing_policy.rb', line 38

def set_property(property, value)
  Lib.printing_policy_set_property(self, property, value ? 1 : 0)
end