blob: bfe2373aefe744cba2ce5801a88a52280972b204 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#' @include R6.R
#' @title class arrow::DictionaryType
#'
#' @usage NULL
#' @format NULL
#' @docType class
#'
#' @section Methods:
#'
#' TODO
#'
#' @rdname arrow__DictionaryType
#' @name arrow__DictionaryType
`arrow::DictionaryType` <- R6Class("arrow::DictionaryType",
inherit = `arrow::FixedWidthType`,
active = list(
index_type = function() `arrow::DataType`$dispatch(DictionaryType__index_type(self)),
value_type = function() `arrow::DataType`$dispatch(DictionaryType__value_type(self)),
name = function() DictionaryType__name(self),
ordered = function() DictionaryType__ordered(self)
)
)
#' dictionary type factory
#'
#' @param index_type index type, e.g. [int32()]
#' @param value_type value type, probably [utf8()]
#' @param ordered Is this an ordered dictionary ?
#'
#' @return a [arrow::DictionaryType][arrow__DictionaryType]
#'
#' @export
dictionary <- function(index_type, value_type, ordered = FALSE) {
assert_that(
inherits(index_type, "arrow::DataType"),
inherits(index_type, "arrow::DataType")
)
shared_ptr(`arrow::DictionaryType`, DictionaryType__initialize(index_type, value_type, ordered))
}