@cpp.js/package-proj 1.0.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +34 -0
- package/README.md +47 -0
- package/cppjs-package-proj.podspec +14 -0
- package/cppjs.build.js +11 -0
- package/cppjs.config.js +54 -0
- package/dist/prebuilt/Android-arm64-v8a/include/geodesic.h +837 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/common.hpp +489 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/crs.hpp +1591 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/datum.hpp +860 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/io.hpp +1389 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/metadata.hpp +470 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/nn.hpp +385 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj/util.hpp +781 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj.h +2214 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj_constants.h +836 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj_experimental.h +52 -0
- package/dist/prebuilt/Android-arm64-v8a/include/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-config-version.cmake +52 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-config.cmake +79 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-targets.cmake +106 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj4-targets.cmake +106 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj-targets.cmake +106 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-config-version.cmake +52 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-config.cmake +79 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-targets.cmake +106 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/libproj.so +0 -0
- package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/proj.pc +14 -0
- package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/AUTHORS +42 -0
- package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/COPYING +34 -0
- package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/NEWS +3170 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/cct.1 +370 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/cs2cs.1 +537 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/geod.1 +263 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/gie.1 +524 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/proj.1 +326 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/projinfo.1 +853 -0
- package/dist/prebuilt/Android-arm64-v8a/share/man/man1/projsync.1 +227 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/CH +22 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/GL27 +23 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2000 +24 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2008 +94 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2014 +55 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/deformation_model.schema.json +582 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/nad.lst +142 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/nad27 +810 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/nad83 +745 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/other.extra +53 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/proj.db +0 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/proj.ini +51 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/projjson.schema.json +1174 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/triangulation.schema.json +214 -0
- package/dist/prebuilt/Android-arm64-v8a/share/proj/world +214 -0
- package/dist/prebuilt/CMakeLists.txt +44 -0
- package/dist/prebuilt/Emscripten-x86_64/include/geodesic.h +837 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/common.hpp +489 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/crs.hpp +1591 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/datum.hpp +860 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/io.hpp +1389 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/metadata.hpp +470 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/nn.hpp +385 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj/util.hpp +781 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj.h +2214 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj_constants.h +836 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj_experimental.h +52 -0
- package/dist/prebuilt/Emscripten-x86_64/include/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-config-version.cmake +52 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-config.cmake +79 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-targets.cmake +107 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj4-targets.cmake +107 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj-targets.cmake +107 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-config-version.cmake +52 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-config.cmake +79 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-targets.cmake +107 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/libproj.a +0 -0
- package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/proj.pc +14 -0
- package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/AUTHORS +42 -0
- package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/COPYING +34 -0
- package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/NEWS +3170 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/cct.1 +370 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/cs2cs.1 +537 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/geod.1 +263 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/gie.1 +524 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/proj.1 +326 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/projinfo.1 +853 -0
- package/dist/prebuilt/Emscripten-x86_64/share/man/man1/projsync.1 +227 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/CH +22 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/GL27 +23 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2000 +24 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2008 +94 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2014 +55 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/deformation_model.schema.json +582 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/nad.lst +142 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/nad27 +810 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/nad83 +745 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/other.extra +53 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/proj.db +0 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/proj.ini +51 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/projjson.schema.json +1174 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/triangulation.schema.json +214 -0
- package/dist/prebuilt/Emscripten-x86_64/share/proj/world +214 -0
- package/dist/prebuilt/iOS-iphoneos/include/geodesic.h +837 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/common.hpp +489 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/crs.hpp +1591 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/datum.hpp +860 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/io.hpp +1389 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/metadata.hpp +470 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/nn.hpp +385 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj/util.hpp +781 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj.h +2214 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj_constants.h +836 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj_experimental.h +52 -0
- package/dist/prebuilt/iOS-iphoneos/include/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-config-version.cmake +52 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-config.cmake +79 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj4-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-config-version.cmake +52 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-config.cmake +79 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libproj.a +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/proj.pc +14 -0
- package/dist/prebuilt/iOS-iphoneos/share/doc/proj/AUTHORS +42 -0
- package/dist/prebuilt/iOS-iphoneos/share/doc/proj/COPYING +34 -0
- package/dist/prebuilt/iOS-iphoneos/share/doc/proj/NEWS +3170 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/cct.1 +370 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/cs2cs.1 +537 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/geod.1 +263 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/gie.1 +524 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/proj.1 +326 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/projinfo.1 +853 -0
- package/dist/prebuilt/iOS-iphoneos/share/man/man1/projsync.1 +227 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/CH +22 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/GL27 +23 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2000 +24 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2008 +94 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2014 +55 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/deformation_model.schema.json +582 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/nad.lst +142 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/nad27 +810 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/nad83 +745 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/other.extra +53 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/proj.db +0 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/proj.ini +51 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/projjson.schema.json +1174 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/triangulation.schema.json +214 -0
- package/dist/prebuilt/iOS-iphoneos/share/proj/world +214 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/geodesic.h +837 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/common.hpp +489 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/crs.hpp +1591 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/datum.hpp +860 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/io.hpp +1389 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/metadata.hpp +470 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/nn.hpp +385 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj/util.hpp +781 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj.h +2214 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj_constants.h +836 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj_experimental.h +52 -0
- package/dist/prebuilt/iOS-iphonesimulator/include/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-config-version.cmake +52 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-config.cmake +79 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj4-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-config-version.cmake +52 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-config.cmake +79 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-targets-release.cmake +19 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-targets.cmake +108 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libproj.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/proj.pc +14 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/AUTHORS +42 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/COPYING +34 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/NEWS +3170 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/cct.1 +370 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/cs2cs.1 +537 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/geod.1 +263 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/gie.1 +524 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/proj.1 +326 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/projinfo.1 +853 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/projsync.1 +227 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/CH +22 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/GL27 +23 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2000 +24 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2008 +94 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2014 +55 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/deformation_model.schema.json +582 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad.lst +142 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad27 +810 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad83 +745 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/other.extra +53 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/proj.db +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/proj.ini +51 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/projjson.schema.json +1174 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/triangulation.schema.json +214 -0
- package/dist/prebuilt/iOS-iphonesimulator/share/proj/world +214 -0
- package/dist/prebuilt/proj.xcframework/Info.plist +50 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/geodesic.h +837 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/common.hpp +489 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/crs.hpp +1591 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/datum.hpp +860 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/io.hpp +1389 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/metadata.hpp +470 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/nn.hpp +385 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj/util.hpp +781 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj.h +2214 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj_constants.h +836 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj_experimental.h +52 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/Headers/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e/libproj.a +0 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/geodesic.h +837 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/common.hpp +489 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinateoperation.hpp +2129 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinates.hpp +115 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinatesystem.hpp +892 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/crs.hpp +1591 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/datum.hpp +860 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/io.hpp +1389 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/metadata.hpp +470 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/nn.hpp +385 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/util.hpp +781 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj.h +2214 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_constants.h +836 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_experimental.h +52 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_symbol_rename.h +428 -0
- package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/libproj.a +0 -0
- package/package.json +32 -0
package/dist/prebuilt/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/util.hpp
ADDED
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
*
|
|
3
|
+
* Project: PROJ
|
|
4
|
+
* Purpose: ISO19111:2019 implementation
|
|
5
|
+
* Author: Even Rouault <even dot rouault at spatialys dot com>
|
|
6
|
+
*
|
|
7
|
+
******************************************************************************
|
|
8
|
+
* Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot com>
|
|
9
|
+
*
|
|
10
|
+
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
11
|
+
* copy of this software and associated documentation files (the "Software"),
|
|
12
|
+
* to deal in the Software without restriction, including without limitation
|
|
13
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
14
|
+
* and/or sell copies of the Software, and to permit persons to whom the
|
|
15
|
+
* Software is furnished to do so, subject to the following conditions:
|
|
16
|
+
*
|
|
17
|
+
* The above copyright notice and this permission notice shall be included
|
|
18
|
+
* in all copies or substantial portions of the Software.
|
|
19
|
+
*
|
|
20
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
21
|
+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
23
|
+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
25
|
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
26
|
+
* DEALINGS IN THE SOFTWARE.
|
|
27
|
+
****************************************************************************/
|
|
28
|
+
|
|
29
|
+
#ifndef UTIL_HH_INCLUDED
|
|
30
|
+
#define UTIL_HH_INCLUDED
|
|
31
|
+
|
|
32
|
+
#if !(__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900))
|
|
33
|
+
#error Must have C++11 or newer.
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
// windows.h can conflict with Criterion::STRICT
|
|
37
|
+
#ifdef STRICT
|
|
38
|
+
#undef STRICT
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
#include <exception>
|
|
42
|
+
#include <map>
|
|
43
|
+
#include <memory>
|
|
44
|
+
#include <string>
|
|
45
|
+
#include <type_traits>
|
|
46
|
+
#include <vector>
|
|
47
|
+
|
|
48
|
+
#ifndef NS_PROJ
|
|
49
|
+
/** osgeo namespace */
|
|
50
|
+
namespace osgeo {
|
|
51
|
+
/** osgeo.proj namespace */
|
|
52
|
+
namespace proj {}
|
|
53
|
+
} // namespace osgeo
|
|
54
|
+
#endif
|
|
55
|
+
|
|
56
|
+
//! @cond Doxygen_Suppress
|
|
57
|
+
|
|
58
|
+
#ifndef PROJ_DLL
|
|
59
|
+
#if defined(_MSC_VER)
|
|
60
|
+
#ifdef PROJ_MSVC_DLL_EXPORT
|
|
61
|
+
#define PROJ_DLL __declspec(dllexport)
|
|
62
|
+
#else
|
|
63
|
+
#define PROJ_DLL __declspec(dllimport)
|
|
64
|
+
#endif
|
|
65
|
+
#elif defined(__GNUC__)
|
|
66
|
+
#define PROJ_DLL __attribute__((visibility("default")))
|
|
67
|
+
#else
|
|
68
|
+
#define PROJ_DLL
|
|
69
|
+
#endif
|
|
70
|
+
#endif
|
|
71
|
+
|
|
72
|
+
#ifndef PROJ_MSVC_DLL
|
|
73
|
+
#if defined(_MSC_VER)
|
|
74
|
+
#define PROJ_MSVC_DLL PROJ_DLL
|
|
75
|
+
#define PROJ_GCC_DLL
|
|
76
|
+
#define PROJ_INTERNAL
|
|
77
|
+
#elif defined(__GNUC__)
|
|
78
|
+
#define PROJ_MSVC_DLL
|
|
79
|
+
#define PROJ_GCC_DLL PROJ_DLL
|
|
80
|
+
#if !defined(__MINGW32__)
|
|
81
|
+
#define PROJ_INTERNAL __attribute__((visibility("hidden")))
|
|
82
|
+
#else
|
|
83
|
+
#define PROJ_INTERNAL
|
|
84
|
+
#endif
|
|
85
|
+
#else
|
|
86
|
+
#define PROJ_MSVC_DLL
|
|
87
|
+
#define PROJ_GCC_DLL
|
|
88
|
+
#define PROJ_INTERNAL
|
|
89
|
+
#endif
|
|
90
|
+
#define PROJ_FOR_TEST PROJ_DLL
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
#include "nn.hpp"
|
|
94
|
+
|
|
95
|
+
/* To allow customizing the base namespace of PROJ */
|
|
96
|
+
#ifdef PROJ_INTERNAL_CPP_NAMESPACE
|
|
97
|
+
#define NS_PROJ osgeo::internalproj
|
|
98
|
+
#define NS_PROJ_START \
|
|
99
|
+
namespace osgeo { \
|
|
100
|
+
namespace internalproj {
|
|
101
|
+
#define NS_PROJ_END \
|
|
102
|
+
} \
|
|
103
|
+
}
|
|
104
|
+
#else
|
|
105
|
+
#ifndef NS_PROJ
|
|
106
|
+
#define NS_PROJ osgeo::proj
|
|
107
|
+
#define NS_PROJ_START \
|
|
108
|
+
namespace osgeo { \
|
|
109
|
+
namespace proj {
|
|
110
|
+
#define NS_PROJ_END \
|
|
111
|
+
} \
|
|
112
|
+
}
|
|
113
|
+
#endif
|
|
114
|
+
#endif
|
|
115
|
+
|
|
116
|
+
// Private-implementation (Pimpl) pattern
|
|
117
|
+
#define PROJ_OPAQUE_PRIVATE_DATA \
|
|
118
|
+
private: \
|
|
119
|
+
struct PROJ_INTERNAL Private; \
|
|
120
|
+
std::unique_ptr<Private> d; \
|
|
121
|
+
\
|
|
122
|
+
protected: \
|
|
123
|
+
PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); } \
|
|
124
|
+
PROJ_INTERNAL const Private *getPrivate() const noexcept { \
|
|
125
|
+
return d.get(); \
|
|
126
|
+
} \
|
|
127
|
+
\
|
|
128
|
+
private:
|
|
129
|
+
|
|
130
|
+
// To include in the protected/private section of a class definition,
|
|
131
|
+
// to be able to call make_shared on a protected/private constructor
|
|
132
|
+
#define INLINED_MAKE_SHARED \
|
|
133
|
+
template <typename T, typename... Args> \
|
|
134
|
+
static std::shared_ptr<T> make_shared(Args &&...args) { \
|
|
135
|
+
return std::shared_ptr<T>(new T(std::forward<Args>(args)...)); \
|
|
136
|
+
} \
|
|
137
|
+
template <typename T, typename... Args> \
|
|
138
|
+
static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) { \
|
|
139
|
+
return util::nn_shared_ptr<T>( \
|
|
140
|
+
util::i_promise_i_checked_for_null, \
|
|
141
|
+
std::shared_ptr<T>(new T(std::forward<Args>(args)...))); \
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// To include in the protected/private section of a class definition,
|
|
145
|
+
// to be able to call make_unique on a protected/private constructor
|
|
146
|
+
#define INLINED_MAKE_UNIQUE \
|
|
147
|
+
template <typename T, typename... Args> \
|
|
148
|
+
static std::unique_ptr<T> make_unique(Args &&...args) { \
|
|
149
|
+
return std::unique_ptr<T>(new T(std::forward<Args>(args)...)); \
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
#ifdef DOXYGEN_ENABLED
|
|
153
|
+
#define PROJ_FRIEND(mytype)
|
|
154
|
+
#define PROJ_FRIEND_OPTIONAL(mytype)
|
|
155
|
+
#else
|
|
156
|
+
#define PROJ_FRIEND(mytype) friend class mytype
|
|
157
|
+
#define PROJ_FRIEND_OPTIONAL(mytype) friend class util::optional<mytype>
|
|
158
|
+
#endif
|
|
159
|
+
|
|
160
|
+
#ifndef PROJ_PRIVATE
|
|
161
|
+
#define PROJ_PRIVATE public
|
|
162
|
+
#endif
|
|
163
|
+
|
|
164
|
+
#if defined(__GNUC__)
|
|
165
|
+
#define PROJ_NO_INLINE __attribute__((noinline))
|
|
166
|
+
#define PROJ_NO_RETURN __attribute__((noreturn))
|
|
167
|
+
// Applies to a function that has no side effect.
|
|
168
|
+
#define PROJ_PURE_DECL const noexcept __attribute__((pure))
|
|
169
|
+
#else
|
|
170
|
+
#define PROJ_NO_RETURN
|
|
171
|
+
#define PROJ_NO_INLINE
|
|
172
|
+
#define PROJ_PURE_DECL const noexcept
|
|
173
|
+
#endif
|
|
174
|
+
#define PROJ_PURE_DEFN const noexcept
|
|
175
|
+
|
|
176
|
+
//! @endcond
|
|
177
|
+
|
|
178
|
+
NS_PROJ_START
|
|
179
|
+
|
|
180
|
+
//! @cond Doxygen_Suppress
|
|
181
|
+
namespace io {
|
|
182
|
+
class DatabaseContext;
|
|
183
|
+
using DatabaseContextPtr = std::shared_ptr<DatabaseContext>;
|
|
184
|
+
} // namespace io
|
|
185
|
+
//! @endcond
|
|
186
|
+
|
|
187
|
+
/** osgeo.proj.util namespace.
|
|
188
|
+
*
|
|
189
|
+
* \brief A set of base types from ISO 19103, \ref GeoAPI and other PROJ
|
|
190
|
+
* specific classes.
|
|
191
|
+
*/
|
|
192
|
+
namespace util {
|
|
193
|
+
|
|
194
|
+
//! @cond Doxygen_Suppress
|
|
195
|
+
// Import a few classes from nn.hpp to expose them under our ::util namespace
|
|
196
|
+
// for conveniency.
|
|
197
|
+
using ::dropbox::oxygen::i_promise_i_checked_for_null;
|
|
198
|
+
using ::dropbox::oxygen::nn;
|
|
199
|
+
using ::dropbox::oxygen::nn_dynamic_pointer_cast;
|
|
200
|
+
using ::dropbox::oxygen::nn_make_shared;
|
|
201
|
+
|
|
202
|
+
// For return statements, to convert from derived type to base type
|
|
203
|
+
using ::dropbox::oxygen::nn_static_pointer_cast;
|
|
204
|
+
|
|
205
|
+
template <typename T> using nn_shared_ptr = nn<std::shared_ptr<T>>;
|
|
206
|
+
|
|
207
|
+
// Possible implementation of C++14 std::remove_reference_t
|
|
208
|
+
// (cf https://en.cppreference.com/w/cpp/types/remove_cv)
|
|
209
|
+
template <class T>
|
|
210
|
+
using remove_reference_t = typename std::remove_reference<T>::type;
|
|
211
|
+
|
|
212
|
+
// Possible implementation of C++14 std::remove_cv_t
|
|
213
|
+
// (cf https://en.cppreference.com/w/cpp/types/remove_cv)
|
|
214
|
+
template <class T> using remove_cv_t = typename std::remove_cv<T>::type;
|
|
215
|
+
|
|
216
|
+
// Possible implementation of C++20 std::remove_cvref
|
|
217
|
+
// (cf https://en.cppreference.com/w/cpp/types/remove_cvref)
|
|
218
|
+
template <class T> struct remove_cvref {
|
|
219
|
+
typedef remove_cv_t<remove_reference_t<T>> type;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
#define NN_NO_CHECK(p) \
|
|
223
|
+
::dropbox::oxygen::nn< \
|
|
224
|
+
typename ::NS_PROJ::util::remove_cvref<decltype(p)>::type>( \
|
|
225
|
+
::dropbox::oxygen::i_promise_i_checked_for_null, (p))
|
|
226
|
+
|
|
227
|
+
//! @endcond
|
|
228
|
+
|
|
229
|
+
// To avoid formatting differences between clang-format 3.8 and 7
|
|
230
|
+
#define PROJ_NOEXCEPT noexcept
|
|
231
|
+
|
|
232
|
+
//! @cond Doxygen_Suppress
|
|
233
|
+
// isOfExactType<MyType>(*p) checks that the type of *p is exactly MyType
|
|
234
|
+
template <typename TemplateT, typename ObjectT>
|
|
235
|
+
inline bool isOfExactType(const ObjectT &o) {
|
|
236
|
+
return typeid(TemplateT).hash_code() == typeid(o).hash_code();
|
|
237
|
+
}
|
|
238
|
+
//! @endcond
|
|
239
|
+
|
|
240
|
+
/** \brief Loose transposition of [std::optional]
|
|
241
|
+
* (https://en.cppreference.com/w/cpp/utility/optional) available from C++17. */
|
|
242
|
+
template <class T> class optional {
|
|
243
|
+
public:
|
|
244
|
+
//! @cond Doxygen_Suppress
|
|
245
|
+
inline optional() : hasVal_(false) {}
|
|
246
|
+
inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
|
|
247
|
+
inline explicit optional(T &&val)
|
|
248
|
+
: hasVal_(true), val_(std::forward<T>(val)) {}
|
|
249
|
+
|
|
250
|
+
inline optional(const optional &) = default;
|
|
251
|
+
inline optional(optional &&other) PROJ_NOEXCEPT
|
|
252
|
+
: hasVal_(other.hasVal_),
|
|
253
|
+
// cppcheck-suppress functionStatic
|
|
254
|
+
val_(std::forward<T>(other.val_)) {
|
|
255
|
+
other.hasVal_ = false;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
inline optional &operator=(const T &val) {
|
|
259
|
+
hasVal_ = true;
|
|
260
|
+
val_ = val;
|
|
261
|
+
return *this;
|
|
262
|
+
}
|
|
263
|
+
inline optional &operator=(T &&val) noexcept {
|
|
264
|
+
hasVal_ = true;
|
|
265
|
+
val_ = std::forward<T>(val);
|
|
266
|
+
return *this;
|
|
267
|
+
}
|
|
268
|
+
inline optional &operator=(const optional &) = default;
|
|
269
|
+
inline optional &operator=(optional &&other) noexcept {
|
|
270
|
+
hasVal_ = other.hasVal_;
|
|
271
|
+
val_ = std::forward<T>(other.val_);
|
|
272
|
+
other.hasVal_ = false;
|
|
273
|
+
return *this;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
inline T *operator->() { return &val_; }
|
|
277
|
+
inline T &operator*() { return val_; }
|
|
278
|
+
|
|
279
|
+
//! @endcond
|
|
280
|
+
|
|
281
|
+
/** Returns a pointer to the contained value. */
|
|
282
|
+
inline const T *operator->() const { return &val_; }
|
|
283
|
+
|
|
284
|
+
/** Returns a reference to the contained value. */
|
|
285
|
+
inline const T &operator*() const { return val_; }
|
|
286
|
+
|
|
287
|
+
/** Return whether the optional has a value */
|
|
288
|
+
inline explicit operator bool() const noexcept { return hasVal_; }
|
|
289
|
+
|
|
290
|
+
/** Return whether the optional has a value */
|
|
291
|
+
inline bool has_value() const noexcept { return hasVal_; }
|
|
292
|
+
|
|
293
|
+
private:
|
|
294
|
+
bool hasVal_;
|
|
295
|
+
T val_{};
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
// ---------------------------------------------------------------------------
|
|
299
|
+
|
|
300
|
+
class BaseObject;
|
|
301
|
+
/** Shared pointer of BaseObject. */
|
|
302
|
+
using BaseObjectPtr = std::shared_ptr<BaseObject>;
|
|
303
|
+
#if 1
|
|
304
|
+
/** Non-null shared pointer of BaseObject. */
|
|
305
|
+
struct BaseObjectNNPtr : public util::nn<BaseObjectPtr> {
|
|
306
|
+
// This trick enables to avoid inlining of the destructor.
|
|
307
|
+
// This is mostly an alias of the base class.
|
|
308
|
+
//! @cond Doxygen_Suppress
|
|
309
|
+
template <class T>
|
|
310
|
+
// cppcheck-suppress noExplicitConstructor
|
|
311
|
+
BaseObjectNNPtr(const util::nn<std::shared_ptr<T>> &x)
|
|
312
|
+
: util::nn<BaseObjectPtr>(x) {}
|
|
313
|
+
|
|
314
|
+
template <class T>
|
|
315
|
+
// cppcheck-suppress noExplicitConstructor
|
|
316
|
+
BaseObjectNNPtr(util::nn<std::shared_ptr<T>> &&x) noexcept
|
|
317
|
+
: util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
|
|
318
|
+
|
|
319
|
+
explicit BaseObjectNNPtr(::dropbox::oxygen::i_promise_i_checked_for_null_t,
|
|
320
|
+
BaseObjectPtr &&arg) noexcept
|
|
321
|
+
: util::nn<BaseObjectPtr>(i_promise_i_checked_for_null,
|
|
322
|
+
std::move(arg)) {}
|
|
323
|
+
BaseObjectNNPtr(const BaseObjectNNPtr &) = default;
|
|
324
|
+
BaseObjectNNPtr &operator=(const BaseObjectNNPtr &) = default;
|
|
325
|
+
|
|
326
|
+
PROJ_DLL ~BaseObjectNNPtr();
|
|
327
|
+
//! @endcond
|
|
328
|
+
};
|
|
329
|
+
#else
|
|
330
|
+
using BaseObjectNNPtr = util::nn<BaseObjectPtr>;
|
|
331
|
+
#endif
|
|
332
|
+
|
|
333
|
+
/** \brief Class that can be derived from, to emulate Java's Object behavior.
|
|
334
|
+
*/
|
|
335
|
+
class PROJ_GCC_DLL BaseObject {
|
|
336
|
+
public:
|
|
337
|
+
//! @cond Doxygen_Suppress
|
|
338
|
+
virtual PROJ_DLL ~BaseObject();
|
|
339
|
+
//! @endcond
|
|
340
|
+
|
|
341
|
+
PROJ_PRIVATE :
|
|
342
|
+
//! @cond Doxygen_Suppress
|
|
343
|
+
PROJ_INTERNAL BaseObjectNNPtr
|
|
344
|
+
shared_from_this() const;
|
|
345
|
+
//! @endcond
|
|
346
|
+
|
|
347
|
+
protected:
|
|
348
|
+
PROJ_INTERNAL BaseObject();
|
|
349
|
+
PROJ_INTERNAL void assignSelf(const BaseObjectNNPtr &self);
|
|
350
|
+
PROJ_INTERNAL BaseObject &operator=(BaseObject &&other);
|
|
351
|
+
|
|
352
|
+
private:
|
|
353
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
// ---------------------------------------------------------------------------
|
|
357
|
+
|
|
358
|
+
/** \brief Interface for an object that can be compared to another.
|
|
359
|
+
*/
|
|
360
|
+
class PROJ_GCC_DLL IComparable {
|
|
361
|
+
public:
|
|
362
|
+
//! @cond Doxygen_Suppress
|
|
363
|
+
PROJ_DLL virtual ~IComparable();
|
|
364
|
+
//! @endcond
|
|
365
|
+
|
|
366
|
+
/** \brief Comparison criterion. */
|
|
367
|
+
enum class PROJ_MSVC_DLL Criterion {
|
|
368
|
+
/** All properties are identical. */
|
|
369
|
+
STRICT,
|
|
370
|
+
|
|
371
|
+
/** The objects are equivalent for the purpose of coordinate
|
|
372
|
+
* operations. They can differ by the name of their objects,
|
|
373
|
+
* identifiers, other metadata.
|
|
374
|
+
* Parameters may be expressed in different units, provided that the
|
|
375
|
+
* value is (with some tolerance) the same once expressed in a
|
|
376
|
+
* common unit.
|
|
377
|
+
*/
|
|
378
|
+
EQUIVALENT,
|
|
379
|
+
|
|
380
|
+
/** Same as EQUIVALENT, relaxed with an exception that the axis order
|
|
381
|
+
* of the base CRS of a DerivedCRS/ProjectedCRS or the axis order of
|
|
382
|
+
* a GeographicCRS is ignored. Only to be used
|
|
383
|
+
* with DerivedCRS/ProjectedCRS/GeographicCRS */
|
|
384
|
+
EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS,
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
PROJ_DLL bool
|
|
388
|
+
isEquivalentTo(const IComparable *other,
|
|
389
|
+
Criterion criterion = Criterion::STRICT,
|
|
390
|
+
const io::DatabaseContextPtr &dbContext = nullptr) const;
|
|
391
|
+
|
|
392
|
+
PROJ_PRIVATE :
|
|
393
|
+
|
|
394
|
+
//! @cond Doxygen_Suppress
|
|
395
|
+
PROJ_INTERNAL virtual bool
|
|
396
|
+
_isEquivalentTo(
|
|
397
|
+
const IComparable *other, Criterion criterion = Criterion::STRICT,
|
|
398
|
+
const io::DatabaseContextPtr &dbContext = nullptr) const = 0;
|
|
399
|
+
//! @endcond
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
// ---------------------------------------------------------------------------
|
|
403
|
+
|
|
404
|
+
/** \brief Encapsulate standard datatypes in an object.
|
|
405
|
+
*/
|
|
406
|
+
class BoxedValue final : public BaseObject {
|
|
407
|
+
public:
|
|
408
|
+
//! @cond Doxygen_Suppress
|
|
409
|
+
/** Type of data stored in the BoxedValue. */
|
|
410
|
+
enum class Type {
|
|
411
|
+
/** a std::string */
|
|
412
|
+
STRING,
|
|
413
|
+
/** an integer */
|
|
414
|
+
INTEGER,
|
|
415
|
+
/** a boolean */
|
|
416
|
+
BOOLEAN
|
|
417
|
+
};
|
|
418
|
+
//! @endcond
|
|
419
|
+
|
|
420
|
+
// cppcheck-suppress noExplicitConstructor
|
|
421
|
+
PROJ_DLL BoxedValue(const char *stringValueIn); // needed to avoid the bool
|
|
422
|
+
// constructor to be taken !
|
|
423
|
+
// cppcheck-suppress noExplicitConstructor
|
|
424
|
+
PROJ_DLL BoxedValue(const std::string &stringValueIn);
|
|
425
|
+
// cppcheck-suppress noExplicitConstructor
|
|
426
|
+
PROJ_DLL BoxedValue(int integerValueIn);
|
|
427
|
+
// cppcheck-suppress noExplicitConstructor
|
|
428
|
+
PROJ_DLL BoxedValue(bool booleanValueIn);
|
|
429
|
+
|
|
430
|
+
PROJ_PRIVATE :
|
|
431
|
+
//! @cond Doxygen_Suppress
|
|
432
|
+
PROJ_INTERNAL
|
|
433
|
+
BoxedValue(const BoxedValue &other);
|
|
434
|
+
|
|
435
|
+
PROJ_DLL ~BoxedValue() override;
|
|
436
|
+
|
|
437
|
+
PROJ_INTERNAL const Type &type() const;
|
|
438
|
+
PROJ_INTERNAL const std::string &stringValue() const;
|
|
439
|
+
PROJ_INTERNAL int integerValue() const;
|
|
440
|
+
PROJ_INTERNAL bool booleanValue() const;
|
|
441
|
+
//! @endcond
|
|
442
|
+
|
|
443
|
+
private:
|
|
444
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
445
|
+
BoxedValue &operator=(const BoxedValue &) = delete;
|
|
446
|
+
|
|
447
|
+
PROJ_INTERNAL BoxedValue();
|
|
448
|
+
};
|
|
449
|
+
|
|
450
|
+
/** Shared pointer of BoxedValue. */
|
|
451
|
+
using BoxedValuePtr = std::shared_ptr<BoxedValue>;
|
|
452
|
+
/** Non-null shared pointer of BoxedValue. */
|
|
453
|
+
using BoxedValueNNPtr = util::nn<BoxedValuePtr>;
|
|
454
|
+
|
|
455
|
+
// ---------------------------------------------------------------------------
|
|
456
|
+
|
|
457
|
+
class ArrayOfBaseObject;
|
|
458
|
+
/** Shared pointer of ArrayOfBaseObject. */
|
|
459
|
+
using ArrayOfBaseObjectPtr = std::shared_ptr<ArrayOfBaseObject>;
|
|
460
|
+
/** Non-null shared pointer of ArrayOfBaseObject. */
|
|
461
|
+
using ArrayOfBaseObjectNNPtr = util::nn<ArrayOfBaseObjectPtr>;
|
|
462
|
+
|
|
463
|
+
/** \brief Array of BaseObject.
|
|
464
|
+
*/
|
|
465
|
+
class ArrayOfBaseObject final : public BaseObject {
|
|
466
|
+
public:
|
|
467
|
+
//! @cond Doxygen_Suppress
|
|
468
|
+
PROJ_DLL ~ArrayOfBaseObject() override;
|
|
469
|
+
//! @endcond
|
|
470
|
+
|
|
471
|
+
PROJ_DLL void add(const BaseObjectNNPtr &obj);
|
|
472
|
+
|
|
473
|
+
PROJ_DLL static ArrayOfBaseObjectNNPtr create();
|
|
474
|
+
|
|
475
|
+
PROJ_PRIVATE :
|
|
476
|
+
//! @cond Doxygen_Suppress
|
|
477
|
+
std::vector<BaseObjectNNPtr>::const_iterator
|
|
478
|
+
begin() const;
|
|
479
|
+
std::vector<BaseObjectNNPtr>::const_iterator end() const;
|
|
480
|
+
bool empty() const;
|
|
481
|
+
//! @endcond
|
|
482
|
+
|
|
483
|
+
protected:
|
|
484
|
+
ArrayOfBaseObject();
|
|
485
|
+
INLINED_MAKE_SHARED
|
|
486
|
+
|
|
487
|
+
private:
|
|
488
|
+
ArrayOfBaseObject(const ArrayOfBaseObject &other) = delete;
|
|
489
|
+
ArrayOfBaseObject &operator=(const ArrayOfBaseObject &other) = delete;
|
|
490
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
// ---------------------------------------------------------------------------
|
|
494
|
+
|
|
495
|
+
/** \brief Wrapper of a std::map<std::string, BaseObjectNNPtr> */
|
|
496
|
+
class PropertyMap {
|
|
497
|
+
public:
|
|
498
|
+
PROJ_DLL PropertyMap();
|
|
499
|
+
//! @cond Doxygen_Suppress
|
|
500
|
+
PROJ_DLL PropertyMap(const PropertyMap &other);
|
|
501
|
+
PROJ_DLL ~PropertyMap();
|
|
502
|
+
//! @endcond
|
|
503
|
+
|
|
504
|
+
PROJ_DLL PropertyMap &set(const std::string &key,
|
|
505
|
+
const BaseObjectNNPtr &val);
|
|
506
|
+
|
|
507
|
+
//! @cond Doxygen_Suppress
|
|
508
|
+
template <class T>
|
|
509
|
+
inline PropertyMap &set(const std::string &key,
|
|
510
|
+
const nn_shared_ptr<T> &val) {
|
|
511
|
+
return set(
|
|
512
|
+
key, BaseObjectNNPtr(i_promise_i_checked_for_null,
|
|
513
|
+
BaseObjectPtr(val.as_nullable(), val.get())));
|
|
514
|
+
}
|
|
515
|
+
//! @endcond
|
|
516
|
+
|
|
517
|
+
// needed to avoid the bool constructor to be taken !
|
|
518
|
+
PROJ_DLL PropertyMap &set(const std::string &key, const char *val);
|
|
519
|
+
|
|
520
|
+
PROJ_DLL PropertyMap &set(const std::string &key, const std::string &val);
|
|
521
|
+
|
|
522
|
+
PROJ_DLL PropertyMap &set(const std::string &key, int val);
|
|
523
|
+
|
|
524
|
+
PROJ_DLL PropertyMap &set(const std::string &key, bool val);
|
|
525
|
+
|
|
526
|
+
PROJ_DLL PropertyMap &set(const std::string &key,
|
|
527
|
+
const std::vector<std::string> &array);
|
|
528
|
+
|
|
529
|
+
PROJ_PRIVATE :
|
|
530
|
+
//! @cond Doxygen_Suppress
|
|
531
|
+
const BaseObjectNNPtr *
|
|
532
|
+
get(const std::string &key) const;
|
|
533
|
+
|
|
534
|
+
// throw(InvalidValueTypeException)
|
|
535
|
+
bool getStringValue(const std::string &key, std::string &outVal) const;
|
|
536
|
+
bool getStringValue(const std::string &key,
|
|
537
|
+
optional<std::string> &outVal) const;
|
|
538
|
+
void unset(const std::string &key);
|
|
539
|
+
|
|
540
|
+
static PropertyMap createAndSetName(const char *name);
|
|
541
|
+
static PropertyMap createAndSetName(const std::string &name);
|
|
542
|
+
//! @endcond
|
|
543
|
+
|
|
544
|
+
private:
|
|
545
|
+
PropertyMap &operator=(const PropertyMap &) = delete;
|
|
546
|
+
|
|
547
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
548
|
+
};
|
|
549
|
+
|
|
550
|
+
// ---------------------------------------------------------------------------
|
|
551
|
+
|
|
552
|
+
class LocalName;
|
|
553
|
+
/** Shared pointer of LocalName. */
|
|
554
|
+
using LocalNamePtr = std::shared_ptr<LocalName>;
|
|
555
|
+
/** Non-null shared pointer of LocalName. */
|
|
556
|
+
using LocalNameNNPtr = util::nn<LocalNamePtr>;
|
|
557
|
+
|
|
558
|
+
class NameSpace;
|
|
559
|
+
/** Shared pointer of NameSpace. */
|
|
560
|
+
using NameSpacePtr = std::shared_ptr<NameSpace>;
|
|
561
|
+
/** Non-null shared pointer of NameSpace. */
|
|
562
|
+
using NameSpaceNNPtr = util::nn<NameSpacePtr>;
|
|
563
|
+
|
|
564
|
+
class GenericName;
|
|
565
|
+
/** Shared pointer of GenericName. */
|
|
566
|
+
using GenericNamePtr = std::shared_ptr<GenericName>;
|
|
567
|
+
/** Non-null shared pointer of GenericName. */
|
|
568
|
+
using GenericNameNNPtr = util::nn<GenericNamePtr>;
|
|
569
|
+
|
|
570
|
+
// ---------------------------------------------------------------------------
|
|
571
|
+
|
|
572
|
+
/** \brief A sequence of identifiers rooted within the context of a namespace.
|
|
573
|
+
*
|
|
574
|
+
* \remark Simplified version of [GenericName]
|
|
575
|
+
* (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html)
|
|
576
|
+
* from \ref GeoAPI
|
|
577
|
+
*/
|
|
578
|
+
class GenericName : public BaseObject {
|
|
579
|
+
public:
|
|
580
|
+
//! @cond Doxygen_Suppress
|
|
581
|
+
PROJ_DLL virtual ~GenericName() override;
|
|
582
|
+
//! @endcond
|
|
583
|
+
|
|
584
|
+
/** \brief Return the scope of the object, possibly a global one. */
|
|
585
|
+
PROJ_DLL virtual const NameSpacePtr scope() const = 0;
|
|
586
|
+
|
|
587
|
+
/** \brief Return the LocalName as a string. */
|
|
588
|
+
PROJ_DLL virtual std::string toString() const = 0;
|
|
589
|
+
|
|
590
|
+
/** \brief Return a fully qualified name corresponding to the local name.
|
|
591
|
+
*
|
|
592
|
+
* The namespace of the resulting name is a global one.
|
|
593
|
+
*/
|
|
594
|
+
PROJ_DLL virtual GenericNameNNPtr toFullyQualifiedName() const = 0;
|
|
595
|
+
|
|
596
|
+
protected:
|
|
597
|
+
GenericName();
|
|
598
|
+
GenericName(const GenericName &other);
|
|
599
|
+
|
|
600
|
+
private:
|
|
601
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
602
|
+
GenericName &operator=(const GenericName &other) = delete;
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
// ---------------------------------------------------------------------------
|
|
606
|
+
|
|
607
|
+
/** \brief A domain in which names given by strings are defined.
|
|
608
|
+
*
|
|
609
|
+
* \remark Simplified version of [NameSpace]
|
|
610
|
+
* (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/NameSpace.html)
|
|
611
|
+
* from \ref GeoAPI
|
|
612
|
+
*/
|
|
613
|
+
class NameSpace {
|
|
614
|
+
public:
|
|
615
|
+
//! @cond Doxygen_Suppress
|
|
616
|
+
PROJ_DLL ~NameSpace();
|
|
617
|
+
//! @endcond
|
|
618
|
+
|
|
619
|
+
PROJ_DLL bool isGlobal() const;
|
|
620
|
+
PROJ_DLL const GenericNamePtr &name() const;
|
|
621
|
+
|
|
622
|
+
protected:
|
|
623
|
+
PROJ_FRIEND(NameFactory);
|
|
624
|
+
PROJ_FRIEND(LocalName);
|
|
625
|
+
explicit NameSpace(const GenericNamePtr &name);
|
|
626
|
+
NameSpace(const NameSpace &other);
|
|
627
|
+
NameSpaceNNPtr getGlobalFromThis() const;
|
|
628
|
+
const std::string &separator() const;
|
|
629
|
+
static const NameSpaceNNPtr GLOBAL;
|
|
630
|
+
INLINED_MAKE_SHARED
|
|
631
|
+
|
|
632
|
+
private:
|
|
633
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
634
|
+
NameSpace &operator=(const NameSpace &other) = delete;
|
|
635
|
+
|
|
636
|
+
static NameSpaceNNPtr createGLOBAL();
|
|
637
|
+
};
|
|
638
|
+
|
|
639
|
+
// ---------------------------------------------------------------------------
|
|
640
|
+
|
|
641
|
+
/** \brief Identifier within a NameSpace for a local object.
|
|
642
|
+
*
|
|
643
|
+
* Local names are names which are directly accessible to and maintained by a
|
|
644
|
+
* NameSpace within which they are local, indicated by the scope.
|
|
645
|
+
*
|
|
646
|
+
* \remark Simplified version of [LocalName]
|
|
647
|
+
* (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html)
|
|
648
|
+
* from \ref GeoAPI
|
|
649
|
+
*/
|
|
650
|
+
class LocalName : public GenericName {
|
|
651
|
+
public:
|
|
652
|
+
//! @cond Doxygen_Suppress
|
|
653
|
+
PROJ_DLL ~LocalName() override;
|
|
654
|
+
//! @endcond
|
|
655
|
+
|
|
656
|
+
PROJ_DLL const NameSpacePtr scope() const override;
|
|
657
|
+
PROJ_DLL std::string toString() const override;
|
|
658
|
+
PROJ_DLL GenericNameNNPtr toFullyQualifiedName() const override;
|
|
659
|
+
|
|
660
|
+
protected:
|
|
661
|
+
PROJ_FRIEND(NameFactory);
|
|
662
|
+
PROJ_FRIEND(NameSpace);
|
|
663
|
+
explicit LocalName(const std::string &nameIn);
|
|
664
|
+
LocalName(const LocalName &other);
|
|
665
|
+
LocalName(const NameSpacePtr &ns, const std::string &name);
|
|
666
|
+
INLINED_MAKE_SHARED
|
|
667
|
+
|
|
668
|
+
private:
|
|
669
|
+
PROJ_OPAQUE_PRIVATE_DATA
|
|
670
|
+
LocalName &operator=(const LocalName &other) = delete;
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
// ---------------------------------------------------------------------------
|
|
674
|
+
|
|
675
|
+
/** \brief Factory for generic names.
|
|
676
|
+
*
|
|
677
|
+
* \remark Simplified version of [NameFactory]
|
|
678
|
+
* (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/NameFactory.html)
|
|
679
|
+
* from \ref GeoAPI
|
|
680
|
+
*/
|
|
681
|
+
class NameFactory {
|
|
682
|
+
public:
|
|
683
|
+
PROJ_DLL static NameSpaceNNPtr
|
|
684
|
+
createNameSpace(const GenericNameNNPtr &name,
|
|
685
|
+
const PropertyMap &properties);
|
|
686
|
+
PROJ_DLL static LocalNameNNPtr createLocalName(const NameSpacePtr &scope,
|
|
687
|
+
const std::string &name);
|
|
688
|
+
PROJ_DLL static GenericNameNNPtr
|
|
689
|
+
createGenericName(const NameSpacePtr &scope,
|
|
690
|
+
const std::vector<std::string> &parsedNames);
|
|
691
|
+
};
|
|
692
|
+
|
|
693
|
+
// ---------------------------------------------------------------------------
|
|
694
|
+
|
|
695
|
+
/** \brief Abstract class to define an enumeration of values.
|
|
696
|
+
*/
|
|
697
|
+
class CodeList {
|
|
698
|
+
public:
|
|
699
|
+
//! @cond Doxygen_Suppress
|
|
700
|
+
PROJ_DLL ~CodeList();
|
|
701
|
+
//! @endcond
|
|
702
|
+
|
|
703
|
+
/** Return the CodeList item as a string. */
|
|
704
|
+
// cppcheck-suppress functionStatic
|
|
705
|
+
inline const std::string &toString() PROJ_PURE_DECL { return name_; }
|
|
706
|
+
|
|
707
|
+
/** Return the CodeList item as a string. */
|
|
708
|
+
inline operator std::string() PROJ_PURE_DECL { return toString(); }
|
|
709
|
+
|
|
710
|
+
//! @cond Doxygen_Suppress
|
|
711
|
+
inline bool operator==(const CodeList &other) PROJ_PURE_DECL {
|
|
712
|
+
return name_ == other.name_;
|
|
713
|
+
}
|
|
714
|
+
inline bool operator!=(const CodeList &other) PROJ_PURE_DECL {
|
|
715
|
+
return name_ != other.name_;
|
|
716
|
+
}
|
|
717
|
+
//! @endcond
|
|
718
|
+
protected:
|
|
719
|
+
explicit CodeList(const std::string &nameIn) : name_(nameIn) {}
|
|
720
|
+
CodeList(const CodeList &) = default;
|
|
721
|
+
CodeList &operator=(const CodeList &other);
|
|
722
|
+
|
|
723
|
+
private:
|
|
724
|
+
std::string name_{};
|
|
725
|
+
};
|
|
726
|
+
|
|
727
|
+
// ---------------------------------------------------------------------------
|
|
728
|
+
|
|
729
|
+
/** \brief Root exception class.
|
|
730
|
+
*/
|
|
731
|
+
class PROJ_GCC_DLL Exception : public std::exception {
|
|
732
|
+
std::string msg_;
|
|
733
|
+
|
|
734
|
+
public:
|
|
735
|
+
//! @cond Doxygen_Suppress
|
|
736
|
+
PROJ_INTERNAL explicit Exception(const char *message);
|
|
737
|
+
PROJ_INTERNAL explicit Exception(const std::string &message);
|
|
738
|
+
PROJ_DLL Exception(const Exception &other);
|
|
739
|
+
PROJ_DLL ~Exception() override;
|
|
740
|
+
//! @endcond
|
|
741
|
+
PROJ_DLL virtual const char *what() const noexcept override;
|
|
742
|
+
};
|
|
743
|
+
|
|
744
|
+
// ---------------------------------------------------------------------------
|
|
745
|
+
|
|
746
|
+
/** \brief Exception thrown when an invalid value type is set as the value of
|
|
747
|
+
* a key of a PropertyMap.
|
|
748
|
+
*/
|
|
749
|
+
class PROJ_GCC_DLL InvalidValueTypeException : public Exception {
|
|
750
|
+
public:
|
|
751
|
+
//! @cond Doxygen_Suppress
|
|
752
|
+
PROJ_INTERNAL explicit InvalidValueTypeException(const char *message);
|
|
753
|
+
PROJ_INTERNAL explicit InvalidValueTypeException(
|
|
754
|
+
const std::string &message);
|
|
755
|
+
PROJ_DLL InvalidValueTypeException(const InvalidValueTypeException &other);
|
|
756
|
+
PROJ_DLL ~InvalidValueTypeException() override;
|
|
757
|
+
//! @endcond
|
|
758
|
+
};
|
|
759
|
+
|
|
760
|
+
// ---------------------------------------------------------------------------
|
|
761
|
+
|
|
762
|
+
/** \brief Exception Thrown to indicate that the requested operation is not
|
|
763
|
+
* supported.
|
|
764
|
+
*/
|
|
765
|
+
class PROJ_GCC_DLL UnsupportedOperationException : public Exception {
|
|
766
|
+
public:
|
|
767
|
+
//! @cond Doxygen_Suppress
|
|
768
|
+
PROJ_INTERNAL explicit UnsupportedOperationException(const char *message);
|
|
769
|
+
PROJ_INTERNAL explicit UnsupportedOperationException(
|
|
770
|
+
const std::string &message);
|
|
771
|
+
PROJ_DLL
|
|
772
|
+
UnsupportedOperationException(const UnsupportedOperationException &other);
|
|
773
|
+
PROJ_DLL ~UnsupportedOperationException() override;
|
|
774
|
+
//! @endcond
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
} // namespace util
|
|
778
|
+
|
|
779
|
+
NS_PROJ_END
|
|
780
|
+
|
|
781
|
+
#endif // UTIL_HH_INCLUDED
|