# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

CPL_get_bbox <- function(sf, depth = 0L) {
    .Call(`_sf_CPL_get_bbox`, sf, depth)
}

CPL_gdal_init <- function() {
    invisible(.Call(`_sf_CPL_gdal_init`))
}

CPL_gdal_cleanup_all <- function() {
    invisible(.Call(`_sf_CPL_gdal_cleanup_all`))
}

CPL_gdal_version <- function(what = "RELEASE_NAME") {
    .Call(`_sf_CPL_gdal_version`, what)
}

CPL_crs_parameters <- function(crs) {
    .Call(`_sf_CPL_crs_parameters`, crs)
}

CPL_crs_equivalent <- function(crs1, crs2) {
    .Call(`_sf_CPL_crs_equivalent`, crs1, crs2)
}

CPL_crs_from_input <- function(input) {
    .Call(`_sf_CPL_crs_from_input`, input)
}

CPL_roundtrip <- function(sfc) {
    .Call(`_sf_CPL_roundtrip`, sfc)
}

CPL_circularstring_to_linestring <- function(sfc) {
    .Call(`_sf_CPL_circularstring_to_linestring`, sfc)
}

CPL_multisurface_to_multipolygon <- function(sfc) {
    .Call(`_sf_CPL_multisurface_to_multipolygon`, sfc)
}

CPL_compoundcurve_to_linear <- function(sfc) {
    .Call(`_sf_CPL_compoundcurve_to_linear`, sfc)
}

CPL_curve_to_linestring <- function(sfc) {
    .Call(`_sf_CPL_curve_to_linestring`, sfc)
}

CPL_can_transform <- function(src, dst) {
    .Call(`_sf_CPL_can_transform`, src, dst)
}

CPL_transform <- function(sfc, crs, AOI, pipeline, reverse = FALSE, desired_accuracy = -1.0, allow_ballpark = TRUE) {
    .Call(`_sf_CPL_transform`, sfc, crs, AOI, pipeline, reverse, desired_accuracy, allow_ballpark)
}

CPL_transform_bounds <- function(bb, crs_dst, densify_pts = 21L) {
    .Call(`_sf_CPL_transform_bounds`, bb, crs_dst, densify_pts)
}

CPL_wrap_dateline <- function(sfc, opt, quiet = TRUE) {
    .Call(`_sf_CPL_wrap_dateline`, sfc, opt, quiet)
}

CPL_get_gdal_drivers <- function(dummy) {
    .Call(`_sf_CPL_get_gdal_drivers`, dummy)
}

CPL_sfc_from_wkt <- function(wkt) {
    .Call(`_sf_CPL_sfc_from_wkt`, wkt)
}

CPL_gdal_with_geos <- function() {
    .Call(`_sf_CPL_gdal_with_geos`)
}

CPL_axis_order_authority_compliant <- function(authority_compliant) {
    .Call(`_sf_CPL_axis_order_authority_compliant`, authority_compliant)
}

CPL_compressors <- function() {
    .Call(`_sf_CPL_compressors`)
}

CPL_area <- function(sfc) {
    .Call(`_sf_CPL_area`, sfc)
}

CPL_gdal_dimension <- function(sfc, NA_if_empty = TRUE) {
    .Call(`_sf_CPL_gdal_dimension`, sfc, NA_if_empty)
}

CPL_length <- function(sfc) {
    .Call(`_sf_CPL_length`, sfc)
}

CPL_gdal_segmentize <- function(sfc, dfMaxLength = 0.0) {
    .Call(`_sf_CPL_gdal_segmentize`, sfc, dfMaxLength)
}

CPL_gdal_linestring_sample <- function(sfc, distLst) {
    .Call(`_sf_CPL_gdal_linestring_sample`, sfc, distLst)
}

CPL_get_layers <- function(datasource, options, do_count = FALSE) {
    .Call(`_sf_CPL_get_layers`, datasource, options, do_count)
}

CPL_read_ogr <- function(datasource, layer, query, options, quiet, toTypeUser, fid_column_name, drivers, wkt_filter, promote_to_multi = TRUE, int64_as_string = FALSE, dsn_exists = TRUE, dsn_isdb = FALSE, width = 80L) {
    .Call(`_sf_CPL_read_ogr`, datasource, layer, query, options, quiet, toTypeUser, fid_column_name, drivers, wkt_filter, promote_to_multi, int64_as_string, dsn_exists, dsn_isdb, width)
}

CPL_read_gdal_stream <- function(stream_xptr, datasource, layer, query, options, quiet, drivers, wkt_filter, dsn_exists, dsn_isdb, fid_column, width) {
    .Call(`_sf_CPL_read_gdal_stream`, stream_xptr, datasource, layer, query, options, quiet, drivers, wkt_filter, dsn_exists, dsn_isdb, fid_column, width)
}

CPL_gdalinfo <- function(obj, options, oo, co) {
    .Call(`_sf_CPL_gdalinfo`, obj, options, oo, co)
}

CPL_ogrinfo <- function(obj, options, oo, co, read_only = FALSE) {
    .Call(`_sf_CPL_ogrinfo`, obj, options, oo, co, read_only)
}

CPL_gdaladdo <- function(obj, method, overviews, bands, oo, co, clean = FALSE, read_only = FALSE) {
    .Call(`_sf_CPL_gdaladdo`, obj, method, overviews, bands, oo, co, clean, read_only)
}

CPL_gdalwarp <- function(src, dst, options, oo, doo, co, quiet = TRUE, overwrite = FALSE) {
    .Call(`_sf_CPL_gdalwarp`, src, dst, options, oo, doo, co, quiet, overwrite)
}

CPL_gdalrasterize <- function(src, dst, options, oo, doo, co, overwrite = FALSE, quiet = TRUE) {
    .Call(`_sf_CPL_gdalrasterize`, src, dst, options, oo, doo, co, overwrite, quiet)
}

CPL_gdaltranslate <- function(src, dst, options, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdaltranslate`, src, dst, options, oo, co, quiet)
}

CPL_gdalfootprint <- function(src, dst, options, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalfootprint`, src, dst, options, oo, co, quiet)
}

CPL_gdalvectortranslate <- function(src, dst, options, oo, doo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalvectortranslate`, src, dst, options, oo, doo, co, quiet)
}

CPL_gdalbuildvrt <- function(src, dst, options, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalbuildvrt`, src, dst, options, oo, co, quiet)
}

CPL_gdaldemprocessing <- function(src, dst, options, processing, colorfilename, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdaldemprocessing`, src, dst, options, processing, colorfilename, oo, co, quiet)
}

CPL_gdalnearblack <- function(src, dst, options, oo, doo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalnearblack`, src, dst, options, oo, doo, co, quiet)
}

CPL_gdalgrid <- function(src, dst, options, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalgrid`, src, dst, options, oo, co, quiet)
}

CPL_gdalmdiminfo <- function(obj, options, oo, co) {
    .Call(`_sf_CPL_gdalmdiminfo`, obj, options, oo, co)
}

CPL_gdalmdimtranslate <- function(src, dst, options, oo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdalmdimtranslate`, src, dst, options, oo, co, quiet)
}

CPL_gdal_warper <- function(infile, outfile, options, oo, doo, co, quiet = TRUE) {
    .Call(`_sf_CPL_gdal_warper`, infile, outfile, options, oo, doo, co, quiet)
}

CPL_write_ogr <- function(obj, dsn, layer, driver, dco, lco, geom, dim, fids, ConfigOptions, quiet, append, delete_dsn = FALSE, delete_layer = FALSE, write_geometries = TRUE, width = 80L) {
    .Call(`_sf_CPL_write_ogr`, obj, dsn, layer, driver, dco, lco, geom, dim, fids, ConfigOptions, quiet, append, delete_dsn, delete_layer, write_geometries, width)
}

CPL_delete_ogr <- function(dsn, layer, driver, quiet = TRUE) {
    .Call(`_sf_CPL_delete_ogr`, dsn, layer, driver, quiet)
}

CPL_geos_binop <- function(sfc0, sfc1, op, par = 0.0, pattern = "", prepared = FALSE) {
    .Call(`_sf_CPL_geos_binop`, sfc0, sfc1, op, par, pattern, prepared)
}

CPL_geos_binop_by_element <- function(sfc0, sfc1, op, par, pattern, prepared) {
    .Call(`_sf_CPL_geos_binop_by_element`, sfc0, sfc1, op, par, pattern, prepared)
}

CPL_geos_is_valid_reason <- function(sfc) {
    .Call(`_sf_CPL_geos_is_valid_reason`, sfc)
}

CPL_geos_make_valid <- function(sfc, method, keep_collapsed) {
    .Call(`_sf_CPL_geos_make_valid`, sfc, method, keep_collapsed)
}

CPL_geos_is_valid <- function(sfc, NA_on_exception = TRUE) {
    .Call(`_sf_CPL_geos_is_valid`, sfc, NA_on_exception)
}

CPL_geos_is_simple <- function(sfc) {
    .Call(`_sf_CPL_geos_is_simple`, sfc)
}

CPL_geos_is_empty <- function(sfc) {
    .Call(`_sf_CPL_geos_is_empty`, sfc)
}

CPL_geos_normalize <- function(sfc) {
    .Call(`_sf_CPL_geos_normalize`, sfc)
}

CPL_geos_union <- function(sfc, by_feature = FALSE, is_coverage = FALSE) {
    .Call(`_sf_CPL_geos_union`, sfc, by_feature, is_coverage)
}

CPL_geos_snap <- function(sfc0, sfc1, tolerance) {
    .Call(`_sf_CPL_geos_snap`, sfc0, sfc1, tolerance)
}

CPL_geos_op <- function(op, sfc, bufferDist, nQuadSegs, dTolerance, preserveTopology, bOnlyEdges = 1L, endCapStyle = 0L, joinStyle = 0L, mitreLimit = 1L, singleside = 0L) {
    .Call(`_sf_CPL_geos_op`, op, sfc, bufferDist, nQuadSegs, dTolerance, preserveTopology, bOnlyEdges, endCapStyle, joinStyle, mitreLimit, singleside)
}

CPL_geos_voronoi <- function(sfc, env, dTolerance = 0.0, bOnlyEdges = 1L) {
    .Call(`_sf_CPL_geos_voronoi`, sfc, env, dTolerance, bOnlyEdges)
}

CPL_geos_op2 <- function(op, sfcx, sfcy) {
    .Call(`_sf_CPL_geos_op2`, op, sfcx, sfcy)
}

CPL_geos_dist_by_element <- function(sfc0, sfc1, which, par) {
    .Call(`_sf_CPL_geos_dist_by_element`, sfc0, sfc1, which, par)
}

CPL_geos_version <- function(runtime = FALSE, capi = FALSE) {
    .Call(`_sf_CPL_geos_version`, runtime, capi)
}

CPL_geos_op2_by_element <- function(op, sfcx, sfcy) {
    .Call(`_sf_CPL_geos_op2_by_element`, op, sfcx, sfcy)
}

CPL_geos_dist <- function(sfc0, sfc1, which, par) {
    .Call(`_sf_CPL_geos_dist`, sfc0, sfc1, which, par)
}

CPL_geos_nearest_feature <- function(sfc0, sfc1) {
    .Call(`_sf_CPL_geos_nearest_feature`, sfc0, sfc1)
}

CPL_geos_nearest_points <- function(sfc0, sfc1, pairwise) {
    .Call(`_sf_CPL_geos_nearest_points`, sfc0, sfc1, pairwise)
}

CPL_transpose_sparse_incidence <- function(m, n) {
    .Call(`_sf_CPL_transpose_sparse_incidence`, m, n)
}

CPL_nary_difference <- function(sfc) {
    .Call(`_sf_CPL_nary_difference`, sfc)
}

CPL_nary_intersection <- function(sfc) {
    .Call(`_sf_CPL_nary_intersection`, sfc)
}

CPL_line_project <- function(lines, points, normalized) {
    .Call(`_sf_CPL_line_project`, lines, points, normalized)
}

CPL_line_interpolate <- function(lines, dists, normalized) {
    .Call(`_sf_CPL_line_interpolate`, lines, dists, normalized)
}

CPL_hex_to_raw <- function(cx) {
    .Call(`_sf_CPL_hex_to_raw`, cx)
}

CPL_raw_to_hex <- function(raw) {
    .Call(`_sf_CPL_raw_to_hex`, raw)
}

CPL_read_mdim <- function(file, array_names, oo, offset, count, step, proxy = FALSE, debug = FALSE) {
    .Call(`_sf_CPL_read_mdim`, file, array_names, oo, offset, count, step, proxy, debug)
}

CPL_write_mdim <- function(name, driver, dimensions, variables, wkt, xy, RootGroupOptions, CreationOptions, as_float = TRUE) {
    .Call(`_sf_CPL_write_mdim`, name, driver, dimensions, variables, wkt, xy, RootGroupOptions, CreationOptions, as_float)
}

opp_sfc <- function(geom, value, mult, crs) {
    .Call(`_sf_opp_sfc`, geom, value, mult, crs)
}

normalize_sfc <- function(geom, min, range, crs) {
    .Call(`_sf_normalize_sfc`, geom, min, range, crs)
}

CPL_polygonize <- function(raster, mask_name, raster_driver, vector_driver, vector_dsn, options, iPixValField, contour_options, use_contours = FALSE, use_integer = TRUE) {
    .Call(`_sf_CPL_polygonize`, raster, mask_name, raster_driver, vector_driver, vector_dsn, options, iPixValField, contour_options, use_contours, use_integer)
}

CPL_rasterize <- function(raster, raster_driver, sfc, values, options, NA_value) {
    .Call(`_sf_CPL_rasterize`, raster, raster_driver, sfc, values, options, NA_value)
}

CPL_proj_h <- function(b = FALSE) {
    .Call(`_sf_CPL_proj_h`, b)
}

CPL_get_pipelines <- function(crs, authority, AOI, Use, grid_availability, accuracy = -1.0, strict_containment = FALSE, axis_order_auth_compl = FALSE) {
    .Call(`_sf_CPL_get_pipelines`, crs, authority, AOI, Use, grid_availability, accuracy, strict_containment, axis_order_auth_compl)
}

CPL_get_data_dir <- function(from_proj = FALSE) {
    .Call(`_sf_CPL_get_data_dir`, from_proj)
}

CPL_is_network_enabled <- function(b = FALSE) {
    .Call(`_sf_CPL_is_network_enabled`, b)
}

CPL_enable_network <- function(url, enable = TRUE) {
    .Call(`_sf_CPL_enable_network`, url, enable)
}

CPL_set_data_dir <- function(data_dir, with_proj) {
    .Call(`_sf_CPL_set_data_dir`, data_dir, with_proj)
}

CPL_use_proj4_init_rules <- function(v) {
    .Call(`_sf_CPL_use_proj4_init_rules`, v)
}

CPL_proj_version <- function(b = FALSE) {
    .Call(`_sf_CPL_proj_version`, b)
}

CPL_proj_is_valid <- function(proj4string) {
    .Call(`_sf_CPL_proj_is_valid`, proj4string)
}

CPL_have_datum_files <- function(foo) {
    .Call(`_sf_CPL_have_datum_files`, foo)
}

CPL_proj_direct <- function(from_to, pts, keep, warn = TRUE, authority_compliant = FALSE) {
    .Call(`_sf_CPL_proj_direct`, from_to, pts, keep, warn, authority_compliant)
}

CPL_proj_info <- function(type) {
    .Call(`_sf_CPL_proj_info`, type)
}

CPL_xy2sfc <- function(cc, dim, to_points, which, cc_has_NAs) {
    .Call(`_sf_CPL_xy2sfc`, cc, dim, to_points, which, cc_has_NAs)
}

sfc_is_null <- function(sfc) {
    .Call(`_sf_sfc_is_null`, sfc)
}

sfc_unique_sfg_dims_and_types <- function(sfc) {
    .Call(`_sf_sfc_unique_sfg_dims_and_types`, sfc)
}

sfc_is_empty <- function(sfc) {
    .Call(`_sf_sfc_is_empty`, sfc)
}

sfc_is_full <- function(sfc) {
    .Call(`_sf_sfc_is_full`, sfc)
}

points_cpp <- function(pts, gdim = "XY") {
    .Call(`_sf_points_cpp`, pts, gdim)
}

CPL_signed_area <- function(pts) {
    .Call(`_sf_CPL_signed_area`, pts)
}

CPL_get_metadata <- function(obj, domain_item, options) {
    .Call(`_sf_CPL_get_metadata`, obj, domain_item, options)
}

CPL_get_crs <- function(obj, options) {
    .Call(`_sf_CPL_get_crs`, obj, options)
}

CPL_inv_geotransform <- function(gt_r) {
    .Call(`_sf_CPL_inv_geotransform`, gt_r)
}

CPL_read_gdal <- function(fname, options, driver, read_data, NA_value, RasterIO_parameters, max_cells) {
    .Call(`_sf_CPL_read_gdal`, fname, options, driver, read_data, NA_value, RasterIO_parameters, max_cells)
}

CPL_write_gdal <- function(x, fname, driver, options, Type, dims, from, gt, p4s, na_val, scale_offset, create = TRUE, only_create = FALSE) {
    invisible(.Call(`_sf_CPL_write_gdal`, x, fname, driver, options, Type, dims, from, gt, p4s, na_val, scale_offset, create, only_create))
}

CPL_extract <- function(input, xy, interpolate) {
    .Call(`_sf_CPL_extract`, input, xy, interpolate)
}

CPL_create <- function(file, nxy, value, wkt, xlim, ylim) {
    invisible(.Call(`_sf_CPL_create`, file, nxy, value, wkt, xlim, ylim))
}

CPL_read_wkb <- function(wkb_list, EWKB = FALSE, spatialite = FALSE) {
    .Call(`_sf_CPL_read_wkb`, wkb_list, EWKB, spatialite)
}

CPL_write_wkb <- function(sfc, EWKB = FALSE) {
    .Call(`_sf_CPL_write_wkb`, sfc, EWKB)
}

CPL_get_z_range <- function(sf, depth) {
    .Call(`_sf_CPL_get_z_range`, sf, depth)
}

CPL_get_m_range <- function(sf, depth) {
    .Call(`_sf_CPL_get_m_range`, sf, depth)
}

# Register entry points for exported C++ functions
methods::setLoadAction(function(ns) {
    .Call(`_sf_RcppExport_registerCCallable`)
})
