From cf6f419e9dfffc2bfb1f7d6eff1cf9aa016306f3 Mon Sep 17 00:00:00 2001 From: "J. Daniel Smith" Date: Tue, 2 Mar 2021 13:05:37 -0500 Subject: [PATCH] update "coda-oss" and "nitro" (#434) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add contact details * update .gitignore * not sure what to do with CMakeSettings.json * Create CMakeSettings.json * new/updated "docs" directory * update externals/nitro with latest from nitro repo * use in32_t, etc. instead of nitf::Int32_t * Revert "Merge branch 'feature/update_nitro' into develop/jdsmith" This reverts commit 52001eede19a37bbc9e3cbb8a5c25ce94142421e, reversing changes made to aac9d2cbb37d3fb228fc0368500f90374d8cb105. * Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith" This reverts commit aac9d2cbb37d3fb228fc0368500f90374d8cb105, reversing changes made to 89b7807ef0a32c0e7e47a41e37d4b3a5fb0e4026. * use in32_t, etc. instead of nitf::Int32_t * update externals/nitro with latest from nitro repo * Revert "update externals/nitro with latest from nitro repo" This reverts commit 7eb28137e4f2a9c494b2191d7340fd7210663b88. * update nitro/nrt * update "nitro" * nitf::Int8 -> int8_t * updates from coda-oss and nitro * update externals/nitro with latest from "main" * update externals/coda-oss with latest from "main" * don't want "docs" directory in externals/nitro * fix bad merge * ignore CMake-generated files * std::auto_ptr -> std::unique_ptr * need std::auto_ptr<> overloads for pre-generated Python wrapper code * provide std::auto_ptr "overloads" so that existing Python wrapper code continues to work w/o changes * impelement std::auto_ptr "overrides" * latest from nitro:main * update externals/nitro * update coda-oss * Create codeql-analysis.yml * update coda-oss with latest from "main" * update nitro with latest from "main" * Revert "Create codeql-analysis.yml" This reverts commit b261bbd26098485afd60f490e93b90fc4b7d84ed. * fix nitf::Field to get rid of compiler errors * build externals/coda-oss by itself * build with Visual Studio 2019 (#358) * Revert "Create codeql-analysis.yml" This reverts commit 43882771cbe3bf8d934b1e369ee68e935c8eb07f. * build nitro projects in SIX solution * build "six" as a Visual Studio project * build "scene" with Visual Studio * build cphd with Visual Studio * build cphd03 with Visual Studio * build six.sicd with Visual Studio * build six.sidd with Visual Studio * buid six.convert with Visual Studio * add a GTest project * trying to get a unittest working * build XML_DATA_CONTENT * get a NITF unit-test working :-) * run all "six" unittests * fix dummy DEFAULT_SCHEMA_PATH * allow unit-tests to run in Visual Studio * run SIDD unit-tests from Visual Studio * set SIX_SCHEMA_PATH so unittest works * run SICD unittests in Visual Studio * build and run six.sicd unittests in Visual Studio * set NITF_PLUGIN_PATH for sicd_test_area_plane * build cphd03 unittests in Visual Studio * run remaining cphd03 unittests * fix build error introduced with VS2019 changes * build cphd unittests in Visual Studio * build & run remaining cphd unittests in Visual Studio * use c++11 (#359) * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * get rid of hard-coded paths with (#360) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * build crop_sicd in Visual Studio (#361) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * build crop_sicd * update coda-oss with latest from "main" * update coda-oss with latest from "main" (#362) * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from coda-oss "main" (#364) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * update coda-oss (#365) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * latest from coda-oss * another update to coda-oss (#366) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * latest from coda-oss * latest from coda-oss * Develop/update externals (#367) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * latest from coda-oss * latest from coda-oss * latest from coda-oss * latest from coda-oss (#368) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * latest from coda-oss * latest from coda-oss * latest from coda-oss * latest from "main" on coda-oss * latest from coda-oss (#369) * update coda-oss with latest from "main" * coda-oss updates to make TextEncoding part of the OutputStream * updates from coda-oss to make TextEncoding part of the OutputStream * fix StringStream() .ctor() * one more coda-oss update * latest from "main" on coda-oss: xml.lite updates for UTF-8 * restore changes lost in merge * latest from coda-oss * latest from coda-oss * latest from coda-oss * latest from "main" on coda-oss * use Filesystem.h from coda-oss instead of * use sys::Filesystem * update "nitro" and "coda-oss" (#370) * update "nitro" and "coda-oss" * Delete CMakeSettings.json * changeFileHeader() doesn't (yet) work in "externals" * preserve utf8 in XML text (#363) * pass io::Encoding::Utf8 to print() and prettyPrint() to preserve UTF-8 in output * store the value of xml::lite::MinidomParser::preserveCharacterData() so we can figure out the encoding * Don't want to set a dummy schema path to a directory that exists * add a unit-test for UTF-8 characters in "Classification" * fix isUnclassified() so it works for "NON CLASSIFIÉ / UNCLASSIFIED" * Revert "Merge branch 'main' into bugfix/preserve_UTF8_in_classified_field" This reverts commit 12534c9701ce19169bcb1d8c6051813d67dee8e2, reversing changes made to 02ce75550c12b14c9b4bdf3f04f18716220c5152. * account for coda-oss changes where TextEncoding is part of the OutputStream * get the right verson of Element.h * use new xml::lite to read/write XML in UTF-8 * be sure we can read-in and process UTF-8 from a NITF * assume UTF-8 on *ix and Windows-1252 on Windows * reduce "gratuatous" diffs for simpler merge request * one more unneeded diff * French -> Canada * latest from coda-oss * trying to get the test_valid_six unittest working on Linux * use .tar, not .tar.gz * add another unit-test (#371) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * remove some compiler warnings (#372) * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update externals (#373) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * use c++11 features (#374) * update "nitro" * update coda-oss and fix compiler errors * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest "nitro" (#375) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" (#376) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more use of C++11 (#377) * update "nitro" * update coda-oss and fix compiler errors * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * fix build errors from recent changes (#378) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update "nitro" * update coda-oss and fix compiler errors * update "nitro" * update coda-oss and fix compiler errors * use "externals" from top-level "install" * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * build with simplified "externals" scheme * latest from "nitro" * match nitro -> nitf change * make_span() * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * fix compiler errors from previous merge; mostly #include * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * latest from "coda-oss" * NULL -> nullptr (#379) * update "nitro" * update coda-oss and fix compiler errors * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * use filesystem::path and std::endian * less use of sys:: * NULL -> nullptr * latest from coda-oss (#381) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from develop/jdsmith (#382) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update "nitro" * update coda-oss and fix compiler errors * update "nitro" * update coda-oss and fix compiler errors * use "externals" from top-level "install" * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * build with simplified "externals" scheme * latest from "nitro" * match nitro -> nitf change * make_span() * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * fix compiler errors from previous merge; mostly #include * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * latest from "coda-oss" * use filesystem::path and std::endian * more filesystem from coda-oss * less use of sys:: * NULL -> nullptr * use .data() rather than &d[0] * mem::BufferView -> std::span * const std::span<>& doesn't make much sense * need make_span() overload for pointer+size * latest from "nitro" (#383) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from "nitro" * latest from develop/jdsmith (#385) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update "nitro" * update coda-oss and fix compiler errors * update "nitro" * update coda-oss and fix compiler errors * use "externals" from top-level "install" * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * build with simplified "externals" scheme * latest from "nitro" * match nitro -> nitf change * make_span() * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * fix compiler errors from previous merge; mostly #include * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * latest from "coda-oss" * use filesystem::path and std::endian * more filesystem from coda-oss * less use of sys:: * NULL -> nullptr * use .data() rather than &d[0] * mem::BufferView -> std::span * const std::span<>& doesn't make much sense * need make_span() overload for pointer+size * latest from "nitro" * std::endian * coda-oss now gives us std::endian * sys::Filesystem -> std::filesystem * don't need to explicitly call fs::path::string() in most cases * sys::Filesystem -> std::filesystem * fix build errors when using C++17 * latest from "nitro" (#387) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from "nitro" * std::endian * latest from "nitro" * latest changes from develop/jdsmith (#386) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update "nitro" * update coda-oss and fix compiler errors * update "nitro" * update coda-oss and fix compiler errors * use "externals" from top-level "install" * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * build with simplified "externals" scheme * latest from "nitro" * match nitro -> nitf change * make_span() * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * fix compiler errors from previous merge; mostly #include * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * latest from "coda-oss" * use filesystem::path and std::endian * more filesystem from coda-oss * less use of sys:: * NULL -> nullptr * use .data() rather than &d[0] * mem::BufferView -> std::span * const std::span<>& doesn't make much sense * need make_span() overload for pointer+size * latest from "nitro" * std::endian * coda-oss now gives us std::endian * sys::Filesystem -> std::filesystem * don't need to explicitly call fs::path::string() in most cases * sys::Filesystem -> std::filesystem * fix build errors when using C++17 * simplify access to some ImageSubheader values * newReadControl() returns a std::unique_ptr<> rather than a raw pointer * a singleton is much easier in C++11 * don't need to do manual locking in C++11 * use a template and some macros to dramatically simplify Enums * adjust macros for GCC, provide operators for SWIG * got the map entries wrong * make getIndices() a bit more robust * store a std::unique_ptr<> instead of a raw poniter * throw exceptions in getIndices() rather than assuming * use Enum.toString() where possible rather than duplicating code * remove duplicate code converting from a string to Enum * don't explicilty check for "SIDD" as that's already part of getDataType() * use std::string instead of char[] * reduce use of "delete[]" * less use of "SICD" and "SIDD", use six::DataType instead * simplify Region buffer management * reduce some explicit use of std::shared_ptr<> with std::make_shared and/or auto * more reduction in explicit use of std::shared_ptr * latest from "nitro" * simplify use of six::Region * reduce use of explicit .toString() * further reduction in explicit use of toString() * template specialiaton can't be inline with G++ * simplify cphd enum creation * reduce use of toString() with setAttribute() * update externals (#388) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from "nitro" * std::endian * latest from "nitro" * latest from "nitro" and "coda-oss" * reduce use of toString() (#389) * put common #includes for PCH in a single file * build check_valid_six * use EXIT_* rather than 0/1 * getting rid of std::auto_ptr<> because it's gone in C++17 * build all projects with C++17 * use to remove hard-coded paths * in Visual Studio, run check_valid_six with a pre-defined path * tweak plugin dir * can't have "check_valid_six" as a directory for *ix build * build crop_sicd * turn on /Wall, fix some warnings * C++17 generates more warnings that I don't want to fix right now * removed some compiler warnings from third-party code * comment-out use of C++17's * tweak project settings for consistency * unit-test for createFakeComplexData() * turn on compiler warnings * crank-up warning level * enable "Warnings as errors" * turn on all warnings (many #pragma'd away) * get rid of more warnings * adjust more #pragma's * update "nitro" * update coda-oss and fix compiler errors * update "nitro" * update coda-oss and fix compiler errors * use "externals" from top-level "install" * use int64_t, etc. instead of sys::Int64_T * mem::SharedPtr -> std::shared_ptr * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * use std::unique_ptr<[]> instead of mem::ScopedArray * use int32_t et. al. instead of sys::Int32_T * use std::byte (not quite working yet, but need to move code to a faster machine) * build with std::byte * build with simplified "externals" scheme * latest from "nitro" * match nitro -> nitf change * make_span() * use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs() * sys::Off_T -> ptrdiff_t * fix compiler errors from previous merge; mostly #include * Revert "sys::Off_T -> ptrdiff_t" This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2. * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t * latest from "coda-oss" * use filesystem::path and std::endian * more filesystem from coda-oss * less use of sys:: * NULL -> nullptr * use .data() rather than &d[0] * mem::BufferView -> std::span * const std::span<>& doesn't make much sense * need make_span() overload for pointer+size * latest from "nitro" * std::endian * coda-oss now gives us std::endian * sys::Filesystem -> std::filesystem * don't need to explicitly call fs::path::string() in most cases * sys::Filesystem -> std::filesystem * fix build errors when using C++17 * simplify access to some ImageSubheader values * newReadControl() returns a std::unique_ptr<> rather than a raw pointer * a singleton is much easier in C++11 * don't need to do manual locking in C++11 * use a template and some macros to dramatically simplify Enums * adjust macros for GCC, provide operators for SWIG * got the map entries wrong * make getIndices() a bit more robust * store a std::unique_ptr<> instead of a raw poniter * throw exceptions in getIndices() rather than assuming * use Enum.toString() where possible rather than duplicating code * remove duplicate code converting from a string to Enum * don't explicilty check for "SIDD" as that's already part of getDataType() * use std::string instead of char[] * reduce use of "delete[]" * less use of "SICD" and "SIDD", use six::DataType instead * simplify Region buffer management * reduce some explicit use of std::shared_ptr<> with std::make_shared and/or auto * more reduction in explicit use of std::shared_ptr * latest from "nitro" * simplify use of six::Region * reduce use of explicit .toString() * further reduction in explicit use of toString() * template specialiaton can't be inline with G++ * simplify cphd enum creation * reduce use of toString() with setAttribute() * latest from "nitro" and "coda-oss" * don't need catch(excep::Exception) ex.toString() as std::exception::what() now does the same thing * really only have two calls to setAttribute(): std::string and size_t * use macros to generate SIDD Enums * add operator<< for Enum to avoid some explicit .toString() calls * add operator==(std::string) overload to redue need for .toString() * add operator<<() to redue need for .toString() * don't implmeent a bunch of six::toString() routines; they sholdn't be called anymore * further reduction in use of toString() * eliminate six::toString() template; just provide a few overloads instead * createSixString() which calls six::toString(t) instead of t.toString() * createSixString() overload with URI parameter * allow different strings (e.g., "1" and "+1") to map to the same value * put "Enum" support code in a separate file * there is now just one NOT_SET_VALUE * latest from coda-oss (#390) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from "nitro" * std::endian * latest from "nitro" * latest from "nitro" and "coda-oss" * latest from coda-oss * lost toString() * latest from coda-oss/main * want "std" augmented in this repo * latest from coda-oss and nitro (#391) * update "nitro" * update coda-oss and fix compiler errors * update coda-oss and nitro with less use of sys:: * unit-test paths are wrong for "externals" * update "nitro" to get SegmentMemorySource overloads * latest from "nitro" * match nitro -> nitf change * make_span() * latest from "coda-oss" * more filesystem from coda-oss * latest from "nitro" * std::endian * latest from "nitro" * latest from "nitro" and "coda-oss" * latest from coda-oss * lost toString() * latest from coda-oss/main * want "std" augmented in this repo * partial update from coda-oss/main * latest from coda-oss/main * update coda-oss with latest from https://github.com/mdaus/coda-oss * update externals/nitro/docs * latest from "nitro" * Revert "latest from "nitro"" This reverts commit 0b99300f7c181eb073a86239444d30bc0acf7fa4. * latest from nitro/master * ignore build/ directory * Revert "latest from nitro/master" This reverts commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d. * update externals/nitro/docs * update "c", "java", "mex", and "python" directories -- but not "c++" * update other nitro top-level files ... everything except modules/c++ * VCXPROJ files from nitro * several changes from nitro/c++ ... hoping this builds. * fix build error on Linux * more changes from nitro/modules/c++ * fix IOStreamWriter ctor * more changes from nitro/modules/c++ * paths are wrong when in "externals" * remove externals/nitro/docs * slam in "main" * latest from coda-oss/main * adjust coda-oss for our usage * latest from nitro/main * std::span removed from "nitro" * need to redo C++17 * fix missing #include file * remove "nitro" files not needed in externals/nitro * paths are wrong in "externals" * Revert "remove "nitro" files not needed in externals/nitro" This reverts commit da30b960bb2a2af6c4580c49cae6740588703653. * Revert "Revert "remove "nitro" files not needed in externals/nitro"" This reverts commit e69391bfee6b5e7cd481fc83856f7eee95e83929. * slam in externals as merging creates too many conflicts * merge brought back a deleted #include * add back "java" and "mex" * lates from coda-oss/main * latest from "nitro" * paths are wrong in "externals" * need to redo C++17 support * std::span -> gsl::span * Revert "std::span -> gsl::span" This reverts commit c10f2332c3650969a770c71ee830569911b9d13a. * latest from coda-oss and nitro * these are the correct files from "master" * gsl::span -> std::span * get #includes right for PCH * didn't want this change * trigger build on GitHub * remove files that shouldn't have been committed * latest from coda-oss:master * latest from nitro::master * adjust to API changes in coda-oss/xml.lite * latest from coda-oss * latest from coda-oss * std::filesystem::path doesn't implicitly convert to std::string * more place where an explicit std::filesystem::path::string() call is needed * latest from "coda-oss" and "nitro" * latest from coda-oss * one more change from coda-oss * "nitro" changes to build with C90 instead of C99 * old C++11 compilers don't like template