Class: FFI::Clang::TranslationUnit::ResourceUsage
- Inherits:
-
AutoPointer
- Object
- AutoPointer
- FFI::Clang::TranslationUnit::ResourceUsage
- Defined in:
- lib/ffi/clang/translation_unit.rb
Overview
Represents resource usage statistics for a translation unit.
Class Method Summary collapse
-
.name(kind) ⇒ Object
Get the name of a resource usage kind.
-
.release(pointer) ⇒ Object
Release the resource usage pointer.
Instance Method Summary collapse
-
#entries ⇒ Object
Get all resource usage entries.
-
#initialize(resource_usage) ⇒ ResourceUsage
constructor
Initialize resource usage from a CXTUResourceUsage structure.
Constructor Details
#initialize(resource_usage) ⇒ ResourceUsage
Initialize resource usage from a CXTUResourceUsage structure.
189 190 191 192 193 194 195 |
# File 'lib/ffi/clang/translation_unit.rb', line 189 def initialize(resource_usage) # CXResourceUsage is returned by value and should be freed explicitly. # Get FFI::pointer of the data so that the data is handled by AutoPointer. pointer = FFI::Pointer.new(resource_usage.to_ptr) super(pointer) @resource_usage = resource_usage end |
Class Method Details
.name(kind) ⇒ Object
Get the name of a resource usage kind.
207 208 209 |
# File 'lib/ffi/clang/translation_unit.rb', line 207 def self.name(kind) Lib.resource_usage_name(kind) end |
.release(pointer) ⇒ Object
Release the resource usage pointer.
199 200 201 202 |
# File 'lib/ffi/clang/translation_unit.rb', line 199 def self.release(pointer) # clang_disposeCXTUResourceUsage requires value type, so create it by pointer Lib.dispose_resource_usage(Lib::CXTUResourceUsage.new(pointer)) end |
Instance Method Details
#entries ⇒ Object
Get all resource usage entries.
213 214 215 216 217 218 219 220 |
# File 'lib/ffi/clang/translation_unit.rb', line 213 def entries ary = [] ptr = @resource_usage[:entries] @resource_usage[:numEntries].times {ary << Lib::CXTUResourceUsageEntry.new(ptr) ptr += Lib::CXTUResourceUsageEntry.size } ary end |