class GDAL::Utils::Helpers::DatasetList

A basic wrapper for C Array of dataset handlers (e.g. GDALDatasetH *pahSrcDS).

@private @note This class is intended only to be used internally in ffi-gdal. It’s API may change.

Do not use this class directly.

Attributes

c_pointer[R]

@return [FFI::Pointer] C pointer to the Array of dataset handlers (e.g. GDALDatasetH *pahSrcDS).

datasets[R]

@return [Array<GDAL::Dataset>] List of datasets.

Public Class Methods

new(datasets: []) click to toggle source

@param datasets [Array<GDAL::Dataset>] List of datasets.

# File lib/gdal/utils/helpers/dataset_list.rb, line 19
def initialize(datasets: [])
  @datasets = datasets
  @c_pointer = datasets_pointer
end

Public Instance Methods

count() click to toggle source

@return [Integer] The number of datasets in the list.

# File lib/gdal/utils/helpers/dataset_list.rb, line 25
def count
  dataset_pointers.count
end

Private Instance Methods

dataset_pointers() click to toggle source
# File lib/gdal/utils/helpers/dataset_list.rb, line 31
def dataset_pointers
  @dataset_pointers ||= datasets.map(&:c_pointer)
end
datasets_pointer() click to toggle source
# File lib/gdal/utils/helpers/dataset_list.rb, line 35
def datasets_pointer
  ::FFI::MemoryPointer
    .new(:pointer, count)
    .write_array_of_pointer(dataset_pointers)
end