Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update coda-oss #365

Merged
merged 9 commits into from
Oct 26, 2020
Merged

update coda-oss #365

merged 9 commits into from
Oct 26, 2020

Conversation

JDanielSmith
Copy link
Contributor

update coda-oss

@JDanielSmith JDanielSmith self-assigned this Oct 26, 2020
@JDanielSmith JDanielSmith merged commit 21a550c into main Oct 26, 2020
JDanielSmith pushed a commit that referenced this pull request Jan 20, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jan 20, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jan 25, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* slam in externals as merging creates too many conflicts

* merge brought back a deleted #include

* update externals (#396)

* 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

* build with VS2019

* add "Test" directory

* add WAF to externals/coda-oss for building with Visual Studio

* /W3 and no "Warnings as Errors" (for now)

* dummy value for DEFAULT_SCHEMA_PATH

* default value for DEFAULT_SCHEMA_PATH

* "Test" project builds (with all files excluded)

* build some cphd unit-tests

* build "cphd" unittests

* run cphd03 unittests

* build "six" unittests

* run six.sidd unittests

* build all but the two new six.sicd unttests

* fix build error on Linux

* "scene" changes from main

* scene/include changes from main

* scene/tests changes from main

* simple six/source changes from main

* more six/ changes from "main"

* more six/six changes from "main"

* tweak XML routines from six/six in "main"

* ReadControl from six/six @ main

* std::auto_ptr -> mem::auto_ptr for C++17

* easy .h changes from six/six @ main

* get six/six closer to "main"

* simplify Enums, from "main"

* a few more changes from six/six on "main"

* add std::byte overload from "main"

* restore setBuffer() utility from "main"

* std::shared_ptr -> mem::SharedPtr for fewer diffs with "master"

* Revert "std::shared_ptr -> mem::SharedPtr for fewer diffs with "master""

This reverts commit 4131733.

* simple CPP changes from six.sidd/main

* std::auto_ptr -> mem::auto_ptr for C++17

* six.sidd changes from "main"

* .h file changes from six.sidd @ main

* Revert ".h file changes from six.sidd @ main"

This reverts commit 7696286.

* Revert "Revert ".h file changes from six.sidd @ main""

This reverts commit f025140.

* fix six.sidd/tests after last submission

* can't use std::make_shared with mem::SharedPtr

* use six/Enum.h to make six.sidd enums

* minimize diffs

* six.convert changes from "main"

* bring over cphd03 changes from "main"

* instantiate more templates

* cphd changes from "main"

* remaining cphd changes from "main"

* fix build errors on Linux

* preserve existing interface

* gsl::span -> std::span

* gsl::span -> std::span

* turn on all warnings and "warnings as errors" for code that has been moved over from "main"

* easy CPP changes from six.sicd in "main"

* more six.sicd changes from "main"

* fix build error on Linux

* remaiing code changes from six.sicd on "main" branch

* turn on all warnings and "warnings as errors" for six.sicd

* tests and unittests from six.sicd on "main" branch

* fix build errors on Linux

* need to use mem::SharedPtr instead of std::unique_ptr

* projects\csm changes from "main"

* "samples" from main branch

* need to use mem::SharedPtr instead of std::shared_ptr

* restore "warnings as errors" from main

* latest from coda-oss:main

* latest from nitro:main

* build after merge of "master"

* fix interleaved() template

* more use of mem::SharedPtr instead of std::shared_ptr: need to preserve existing interface

* remove files that aren't part of "master"

* cphd changes to minimize diffs with master

* add back "catch (const except::Exce[topm&)"

* make code match that in "master"

* use "python" from master branch

* a few more cphd changes from "master"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jan 25, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* slam in externals as merging creates too many conflicts

* merge brought back a deleted #include

* update externals (#396)

* 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

* build with VS2019

* add "Test" directory

* add WAF to externals/coda-oss for building with Visual Studio

* /W3 and no "Warnings as Errors" (for now)

* dummy value for DEFAULT_SCHEMA_PATH

* default value for DEFAULT_SCHEMA_PATH

* "Test" project builds (with all files excluded)

* build some cphd unit-tests

* build "cphd" unittests

* run cphd03 unittests

* build "six" unittests

* run six.sidd unittests

* build all but the two new six.sicd unttests

* fix build error on Linux

* "scene" changes from main

* scene/include changes from main

* scene/tests changes from main

* simple six/source changes from main

* more six/ changes from "main"

* more six/six changes from "main"

* tweak XML routines from six/six in "main"

* ReadControl from six/six @ main

* std::auto_ptr -> mem::auto_ptr for C++17

* easy .h changes from six/six @ main

* get six/six closer to "main"

* simplify Enums, from "main"

* a few more changes from six/six on "main"

* add std::byte overload from "main"

* restore setBuffer() utility from "main"

* std::shared_ptr -> mem::SharedPtr for fewer diffs with "master"

* Revert "std::shared_ptr -> mem::SharedPtr for fewer diffs with "master""

This reverts commit 4131733.

* simple CPP changes from six.sidd/main

* std::auto_ptr -> mem::auto_ptr for C++17

* six.sidd changes from "main"

* .h file changes from six.sidd @ main

* Revert ".h file changes from six.sidd @ main"

This reverts commit 7696286.

* Revert "Revert ".h file changes from six.sidd @ main""

This reverts commit f025140.

* fix six.sidd/tests after last submission

* can't use std::make_shared with mem::SharedPtr

* use six/Enum.h to make six.sidd enums

* minimize diffs

* six.convert changes from "main"

* bring over cphd03 changes from "main"

* instantiate more templates

* cphd changes from "main"

* remaining cphd changes from "main"

* fix build errors on Linux

* preserve existing interface

* gsl::span -> std::span

* gsl::span -> std::span

* turn on all warnings and "warnings as errors" for code that has been moved over from "main"

* easy CPP changes from six.sicd in "main"

* more six.sicd changes from "main"

* fix build error on Linux

* remaiing code changes from six.sicd on "main" branch

* turn on all warnings and "warnings as errors" for six.sicd

* tests and unittests from six.sicd on "main" branch

* fix build errors on Linux

* need to use mem::SharedPtr instead of std::unique_ptr

* projects\csm changes from "main"

* "samples" from main branch

* need to use mem::SharedPtr instead of std::shared_ptr

* restore "warnings as errors" from main

* latest from coda-oss:main

* latest from nitro:main

* build after merge of "master"

* fix interleaved() template

* more use of mem::SharedPtr instead of std::shared_ptr: need to preserve existing interface

* remove files that aren't part of "master"

* cphd changes to minimize diffs with master

* add back "catch (const except::Exce[topm&)"

* make code match that in "master"

* use "python" from master branch

* a few more cphd changes from "master"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jan 26, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jan 27, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 1, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 1, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 9, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 9, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 10, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 10, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 15, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 20, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

* turn off some CA diagnostics from other code

* assignment operator for sys::Optional

* make it easier to switch to std::optional<>

* consolidate !has_value() check

* use std;:optional to be sure values are initialized

* common #include file for "nitro"

* code-analysis complained about using a dangling pointer

* changes to support switching to std::optional<>

* remove more uninitialized variable code diagnostics

* prepare for more use of std::optional<>

* need toString() for sys::Optional<>

* use std::optional<> for things marked optional

* remove more code-analysis diagnostics about uninitialized member data

* remove more Variable '...' is uninitialized. Always initialize a member variable (type.6).

* fixed code-analysis diagnostics from cphd

* createOptionalDouble() that checks has_value() first

* revert std::optional<> changes from "scene" (for now, at least)

* revert more std::optional<> changes (for now) ... leaving in place infrastructure to make changing easier

* remove remaining std::optional (for now)

* add hasXXX() methods to wrap calls to isUndefined()

* added set*() methods for DecorrType

* initialize member data in-line to match ctors()

* use six::Init::isDefined() for creeateOptionalDouble()

* use set*() methods instead of member data

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 20, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

* turn off some CA diagnostics from other code

* assignment operator for sys::Optional

* make it easier to switch to std::optional<>

* consolidate !has_value() check

* use std;:optional to be sure values are initialized

* common #include file for "nitro"

* code-analysis complained about using a dangling pointer

* changes to support switching to std::optional<>

* remove more uninitialized variable code diagnostics

* prepare for more use of std::optional<>

* need toString() for sys::Optional<>

* use std::optional<> for things marked optional

* remove more code-analysis diagnostics about uninitialized member data

* remove more Variable '...' is uninitialized. Always initialize a member variable (type.6).

* fixed code-analysis diagnostics from cphd

* createOptionalDouble() that checks has_value() first

* revert std::optional<> changes from "scene" (for now, at least)

* revert more std::optional<> changes (for now) ... leaving in place infrastructure to make changing easier

* remove remaining std::optional (for now)

* add hasXXX() methods to wrap calls to isUndefined()

* added set*() methods for DecorrType

* initialize member data in-line to match ctors()

* use six::Init::isDefined() for creeateOptionalDouble()

* use set*() methods instead of member data

* set defaults per Bill's guidance

* avoid direct access to compositeSCIP and components

* use get*() accessors instead of member data

* Revert "set defaults per Bill's guidance"

This reverts commit 5c13afa.

* got through getters and setters for RadarSensor values

* restore member data names to not break existing code

* utility class to avoid code duplication for "optional" member data

* wrap access to other "optional" DecorrType

* wrap access to TropoError values

* wrap access to IonoError values

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 23, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

* turn off some CA diagnostics from other code

* assignment operator for sys::Optional

* make it easier to switch to std::optional<>

* consolidate !has_value() check

* use std;:optional to be sure values are initialized

* common #include file for "nitro"

* code-analysis complained about using a dangling pointer

* changes to support switching to std::optional<>

* remove more uninitialized variable code diagnostics

* prepare for more use of std::optional<>

* need toString() for sys::Optional<>

* use std::optional<> for things marked optional

* remove more code-analysis diagnostics about uninitialized member data

* remove more Variable '...' is uninitialized. Always initialize a member variable (type.6).

* fixed code-analysis diagnostics from cphd

* createOptionalDouble() that checks has_value() first

* revert std::optional<> changes from "scene" (for now, at least)

* revert more std::optional<> changes (for now) ... leaving in place infrastructure to make changing easier

* remove remaining std::optional (for now)

* add hasXXX() methods to wrap calls to isUndefined()

* added set*() methods for DecorrType

* initialize member data in-line to match ctors()

* use six::Init::isDefined() for creeateOptionalDouble()

* use set*() methods instead of member data

* set defaults per Bill's guidance

* avoid direct access to compositeSCIP and components

* use get*() accessors instead of member data

* Revert "set defaults per Bill's guidance"

This reverts commit 5c13afa.

* got through getters and setters for RadarSensor values

* restore member data names to not break existing code

* utility class to avoid code duplication for "optional" member data

* wrap access to other "optional" DecorrType

* wrap access to TropoError values

* wrap access to IonoError values

* set defaults per Bill's guidance (again)

* make six::InitRef<T> look more like std::optional

* values passed to addDecorrType() might not be initialized

* get one step closer to making member-data std::optional

* reduce duplicated code for getting/setting optional doubles to/from XML

* now that all the places accessing ErrorStatistics have been identified, the code can be simplified

* revert changes to minimize diffs from latest release/ branch

* simplify parseOptionalDouble() calls

* make it easier to switch to std::optional for ErrorStatistics

* createDecorrType() utility to reduce duplicated code

* more support for std::optional

* more support for std::optional<>

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 23, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 23, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Feb 23, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

* turn off some CA diagnostics from other code

* assignment operator for sys::Optional

* make it easier to switch to std::optional<>

* consolidate !has_value() check

* use std;:optional to be sure values are initialized

* common #include file for "nitro"

* code-analysis complained about using a dangling pointer

* changes to support switching to std::optional<>

* remove more uninitialized variable code diagnostics

* prepare for more use of std::optional<>

* need toString() for sys::Optional<>

* use std::optional<> for things marked optional

* remove more code-analysis diagnostics about uninitialized member data

* remove more Variable '...' is uninitialized. Always initialize a member variable (type.6).

* fixed code-analysis diagnostics from cphd

* createOptionalDouble() that checks has_value() first

* revert std::optional<> changes from "scene" (for now, at least)

* revert more std::optional<> changes (for now) ... leaving in place infrastructure to make changing easier

* remove remaining std::optional (for now)

* add hasXXX() methods to wrap calls to isUndefined()

* added set*() methods for DecorrType

* initialize member data in-line to match ctors()

* use six::Init::isDefined() for creeateOptionalDouble()

* use set*() methods instead of member data

* set defaults per Bill's guidance

* avoid direct access to compositeSCIP and components

* use get*() accessors instead of member data

* Revert "set defaults per Bill's guidance"

This reverts commit 5c13afa.

* got through getters and setters for RadarSensor values

* restore member data names to not break existing code

* utility class to avoid code duplication for "optional" member data

* wrap access to other "optional" DecorrType

* wrap access to TropoError values

* wrap access to IonoError values

* set defaults per Bill's guidance (again)

* make six::InitRef<T> look more like std::optional

* values passed to addDecorrType() might not be initialized

* get one step closer to making member-data std::optional

* reduce duplicated code for getting/setting optional doubles to/from XML

* now that all the places accessing ErrorStatistics have been identified, the code can be simplified

* revert changes to minimize diffs from latest release/ branch

* simplify parseOptionalDouble() calls

* make it easier to switch to std::optional for ErrorStatistics

* createDecorrType() utility to reduce duplicated code

* more support for std::optional

* more support for std::optional<>

* six::assign() breaks Python bindings

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request May 17, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request May 17, 2021
* 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* prepare for removing some code-analysis diagnostics

* "const" and "constexpr" as directed by code-analsysi

* be sure variables are initialized -- per code-analysis

* prepare code-analysis for SIX

* "const" or "constexpr" per code-analysis

* get rid of most reinterpret_cast<>s

* get rid of C-style casts

* XML parsing routines can be "const"

* initialize per code-analysis

* turn on a few more code-analysis diagnostics

* assert() that various pointers aren't NULL

* make copy/move explicit, usually =delete

* enable more compiler-warnings & code-analysis diagnostics

* updates from coda-oss to remove compiler warnings

* Xerces generates a bunch of warnings

* there are a lot of code-analysis diagnostics from Xerces

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* enable more compiler warnings and code-analysis diagnostics

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* turn on more code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* fix more code-analysis diagnistics

* more code-analysis diagnostics fixes from coda-oss

* more code-analysis cleanup

* remove several more compiler warnings

* Multithreaded DEBUG DLL is the default

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* use =default for more default constructors

* tweak code-analysis

* gsl::narrow<>

* get rid of size & signed/unsigned warnings

* more =default for default constructors

* use std::make_unique instead of explicit new

* latest from coda-oss and nitro

* latest from nitro

* assert() that some pointers can't be NULL

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* Merge branch 'master' into develop/update_externals

* get rid of more compiler warnings/code-analysis diagnostics

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* allow six.ruleset to be used in other projects

* fix a bunch of compiler warnings

* get rid of the errors that were #pragma'd away in the previous submission

* PlanarCoordinateMesh can be moved constructed (i.e., return value)

* fix compiler warnings in six.sidd

* reduce the use of "static_cast" in client code

* CODA-OSS eliminates the need for /Zc:__cplusplus

* reduce some code-analysis diagnostics from six.sicd

* utilities to reduce code duplication

* fix more code-analysis diagnostics

* get rid of a bunch of "unreferenced parameter" warnings

* utility routines to reduce use of static_cast<>

* use template magic to reduce static_cast<>s when calling createInt()

* more reduction of static_cast<>

* "const XMLElem" -> "const xml::lite::Element*"

* parseOptionalInt()

* use parseOptional*() routines to reduce noisy code
JDanielSmith pushed a commit that referenced this pull request May 24, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request May 27, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jun 10, 2021
* 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 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jun 17, 2021
* Revert "Merge branch 'feature/update_nitro' into develop/jdsmith"

This reverts commit 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Jul 21, 2021
* Revert "Merge branch 'feature/update_nitro' into develop/jdsmith"

This reverts commit 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* 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 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Aug 4, 2021
* update externals/nitro with latest from nitro repo

* Revert "update externals/nitro with latest from nitro repo"

This reverts commit 7eb2813.

* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Aug 11, 2021
* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

Co-authored-by: Dan Smith <[email protected]>
JDanielSmith pushed a commit that referenced this pull request Aug 16, 2021
* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>
JDanielSmith pushed a commit that referenced this pull request Aug 25, 2021
commit c57cd954272f55da042262f5c8d5e88ed15f72ce
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:55:35 2021 -0400

    latest from "nitro"

commit 9cd3c090116420237c9a948dbc2652d9eb044343
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:53:00 2021 -0400

    latest from coda-oss

commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
Merge: 76a8924ef c13678637
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:25:15 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:25:42 2021 -0400

    mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:06:07 2021 -0400

    latest from coda-oss

commit bf3a4183d98778292b522b108af655b870f81f7c
Merge: 1b96c7c82 242b834f6
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:01:51 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:10:19 2021 -0400

    latest from "nitro"

commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:05:52 2021 -0400

    latest from coda-oss

commit 06fae55d680fdac68314a7f7f3581babd8235911
Merge: da2932b21 1334638dd
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:00:38 2021 -0400

    Merge branch 'master' into develop/update_externals

commit da2932b21a7c2796aee659b598813643bbb7b72a
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:30:13 2021 -0400

    latest from "nitro"

commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:15:36 2021 -0400

    latest from coda-oss

commit 1b15d837462f2fab03a77e449602a55076a1358e
Merge: e219ad8c0 6fa3d44d9
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:13:22 2021 -0400

    Merge branch 'master' into develop/update_externals

commit e219ad8c0282ad9000cdf071089b979335ea79b6
Author: Dan Smith <[email protected]>
Date:   Wed Jun 23 10:54:34 2021 -0400

    latest from coda-oss

commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
Merge: 3681b8586 67830a063
Author: Dan Smith <[email protected]>
Date:   Wed Jun 23 10:51:23 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 3681b85865a306eebefe48584e00e1c4ca53f825
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:49:18 2021 -0400

    getCornersAsLatLons should be w/o "const"

commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:39:41 2021 -0400

    latest from "nitro"

commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:37:44 2021 -0400

    latest from coda-oss

commit 0103074f0d1db84c55c01541571029f75feebfe9
Merge: f4c89c4e9 8ab030569
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:24:19 2021 -0400

    Merge branch 'master' into develop/update_externals

commit f4c89c4e950246ef7dc6ec307cc18104253c911a
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 16:29:14 2021 -0400

    latest from NITRO

commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 16:26:48 2021 -0400

    latest from coda-oss

commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
Merge: 5a8c6a58b e708b980c
Author: Dan Smith <[email protected]>
Date:   Thu May 27 15:19:30 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
Author: Dan Smith <[email protected]>
Date:   Thu May 27 13:38:20 2021 -0400

    latest from nitro and coda-oss

commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
Author: Dan Smith <[email protected]>
Date:   Wed May 26 10:07:40 2021 -0400

    tweaks for VS2019 16.10

commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
Merge: cc2d0548f 9390b614b
Author: Dan Smith <[email protected]>
Date:   Mon May 24 16:01:09 2021 -0400

    Merge branch 'master' into develop/update_externals

commit cc2d0548f00a61fd27235d309504b1817dac5889
Merge: dfb69caea 47301187b
Author: Dan Smith <[email protected]>
Date:   Mon May 24 15:17:39 2021 -0400

    Merge branch 'master' into develop/update_externals

commit dfb69caeae5cc9aefb710673d11e6bf62e675734
Author: Dan Smith <[email protected]>
Date:   Mon May 24 14:34:58 2021 -0400

    changes from coda-oss to reduce code-analysis diagnostics

commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
Author: Dan Smith <[email protected]>
Date:   Wed May 19 16:03:14 2021 -0400

    reduce use of .c_str() in "nitro"

commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
Merge: df166d5a2 8e10afb11
Author: Dan Smith <[email protected]>
Date:   Wed May 19 16:01:45 2021 -0400

    Merge branch 'master' into develop/update_externals

commit df166d5a2452aabb958ef5773d21097186a01a0d
Author: Dan Smith <[email protected]>
Date:   Mon May 17 11:10:13 2021 -0400

    latest from "nitro" and "coda-oss"

commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
Merge: ef2d1fee0 50bbbb573
Author: Dan Smith <[email protected]>
Date:   Mon May 17 11:05:57 2021 -0400

    Merge branch 'master' into develop/update_externals

commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
Author: Dan Smith <[email protected]>
Date:   Tue May 11 10:41:21 2021 -0400

    build NITRO @ /W4

commit a4f624b985335b3633a5804e14b9819c293cf3a0
Author: Dan Smith <[email protected]>
Date:   Sat May 8 12:38:51 2021 -0400

    be sure NITRO validation changes don't break SIX unittests

commit 2bb3a4e4582046435e42cb53462598b824fc2685
Merge: 0591d37c0 76c1dc1dc
Author: Dan Smith <[email protected]>
Date:   Sat May 8 12:34:01 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 0591d37c0f46402a7b467f8d04c292426cb9d089
Author: Dan Smith <[email protected]>
Date:   Tue May 4 13:27:14 2021 -0400

    latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
Author: Dan Smith <[email protected]>
Date:   Mon May 3 13:58:24 2021 -0400

    explicitly list SegmentMemorySource() overloads

commit f273b6d036a25fdf6899af195069ae88bedc1218
Author: Dan Smith <[email protected]>
Date:   Mon May 3 13:13:08 2021 -0400

    build w/o errors when nitf-c++ is a DLL

commit 9faad061720737c0abc35b33192280a3243740bc
Author: Dan Smith <[email protected]>
Date:   Mon May 3 11:45:13 2021 -0400

    latest from "nitro" to support nitf-c++ as a DLL/shared-library

commit f20557ace1f491f6597cf8f03ce873b0c494103e
Merge: 5df916362 27b8f6aa5
Author: Dan Smith <[email protected]>
Date:   Mon May 3 11:31:16 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5df916362cec21608631c5d9ac0444ca1b6c339b
Author: Dan Smith <[email protected]>
Date:   Mon Apr 26 12:09:53 2021 -0400

    updates from "nitro"

commit dc070a143163f920e11f66768fded2876a1277af
Author: Dan Smith <[email protected]>
Date:   Mon Apr 26 12:07:44 2021 -0400

    latest from coda-oss

commit 733a255827f4c031ac654959189cd65358cecafb
Author: Dan Smith <[email protected]>
Date:   Tue Apr 20 10:01:43 2021 -0400

    latest from nitro

commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
Author: Dan Smith <[email protected]>
Date:   Tue Apr 20 09:55:06 2021 -0400

    latest from coda-oss and nitro

commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
Author: Dan Smith <[email protected]>
Date:   Mon Apr 19 09:08:27 2021 -0400

    lost sys/Conf.h #include

commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
Author: Dan Smith <[email protected]>
Date:   Mon Apr 19 08:36:41 2021 -0400

    updates from "nitro"

commit 24e1ee592c1979e0d91b92b715377356f03cedff
Author: Dan Smith <[email protected]>
Date:   Sat Apr 17 16:49:21 2021 -0400

    latest from coda-oss

commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
Author: Dan Smith <[email protected]>
Date:   Sat Apr 17 09:35:04 2021 -0400

    more code-analysis diagnostics fixes from coda-oss

commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 16:29:00 2021 -0400

    latest from coda-oss to reduce compiler warnings

commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 12:54:49 2021 -0400

    coda-oss updates to reduce compiler warnings/code-analysis diagnostics

commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 09:19:28 2021 -0400

    latest from coda-oss

commit 74491f15ab390f4a0372e14de3008bf3d850aece
Merge: 37b4a362b de6c5fae4
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 09:17:09 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
Author: Dan Smith <[email protected]>
Date:   Tue Apr 13 17:39:49 2021 -0400

    another update to coda-oss to get rid of code-analysis diagnostics

commit 582f71ac9689ee028f99523cce4772c20102a709
Author: Dan Smith <[email protected]>
Date:   Tue Apr 13 09:02:51 2021 -0400

    updates from coda-oss to remove compiler warnings

commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
Author: Dan Smith <[email protected]>
Date:   Tue Apr 6 11:38:10 2021 -0400

    tweaks to python wrappers from coda-oss

commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
Merge: c77366127 1a7f2f328
Author: Dan Smith <[email protected]>
Date:   Tue Apr 6 11:34:07 2021 -0400

    Merge branch 'master' into develop/update_externals

commit c77366127448c8d9ca8c1a12d79df31707c8db19
Author: Dan Smith <[email protected]>
Date:   Mon Apr 5 10:26:53 2021 -0400

    latest from "coda-oss" and "nitro"

commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
Merge: 0319e7076 4ea37a20f
Author: Dan Smith <[email protected]>
Date:   Sat Apr 3 10:45:52 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
Merge: 1dfc03417 788e7846d
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 18:17:32 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 17:21:06 2021 -0400

    forgot to add new "coda_oss" directory

commit 78ec6f69a6f08f564fd98ab678c501e34117200e
Merge: f105c98ab a5910ffd2
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 17:00:53 2021 -0400

    Merge branch 'master' into develop/update_externals

commit f105c98ab9a54dc87efc7b266662b65c3e176007
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 16:54:27 2021 -0400

    add back coda_oss;;filesystem::path

commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
Merge: ab1348f5e 664d2c219
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 14:03:46 2021 -0400

    Merge branch 'master' into develop/update_externals

commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 13:27:42 2021 -0400

    account for removed coda-oss overloads

commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 11:50:01 2021 -0400

    build using C++17 features

commit 899e6158a65262649190c0de909ea9c620176831
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 11:21:10 2021 -0400

    sys/Filesystem.h -> std/filesystem

commit 3d28513e4c9cd307891c65c43113616878eeefe8
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:56:56 2021 -0400

    WAF dependencies for "scene"

commit a22f195284c320b58c82272998d2d3d32715eb50
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:46:25 2021 -0400

    fix coda-oss unittest dependencies

commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:27:35 2021 -0400

    latest from coda-oss

commit b00fab77e92c86b3b101536730870c46600cf578
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 12:38:50 2021 -0400

    updates from coda-oss and nitro

commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 12:01:36 2021 -0400

    more coda-oss changes

commit 30afeeac677873c24c72b53796a8768525786f9a
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:27:21 2021 -0400

    use new coda-oss "std" headers

commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:14:30 2021 -0400

    be sure coda-oss "std" files are copied

commit c1f2b328b7b8bc7dcd3dcbd41fd851dadb3a8a77
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:02:23 2021 -0400

    update coda-oss and nitro

commit eeba5b8f0641d679eb895b0141aed17a52918653
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 08:08:18 2021 -0400

    CODA_OSS_AUGMENT_std_namespace got clobbered again

commit 77276c14a479d828b67b7df7d8ea96201a141449
Merge: 77b0b6545 7c1caf136
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 13:43:24 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 77b0b6545a3dfd2cd0a8457a65a5d2030243ed7b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 12:45:37 2021 -0400

    remove CA diagnostics from coda-oss

commit cdb74ed4757559d701140a41d7d4c216c339fea6
Merge: 5aa2efba1 0cee4292b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 11:47:37 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5aa2efba19373c06fd94501d2f83a687f71951b7
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:34:04 2021 -0400

    latest from "master" at nitro

commit 4db1a4be74299cece5953c6c3299203a26fd9cb8
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:28:46 2021 -0400

    latest from "master" on coda-oss

commit cc369cc01fb09490707ebb64a72edc9d45dbe08c
Merge: a22422ae0 9be2a2af8
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:26:16 2021 -0400

    Merge branch 'master' into develop/update_externals

commit a22422ae0eed2d7b393caad717b3a17592ee27e1
Author: Dan Smith <[email protected]>
Date:   Tue Mar 16 18:50:11 2021 -0400

    latest from coda-oss

commit a0206cf1812822e6e8aeb2982c81075f171fa608
Merge: 2d5f38dd1 64130a79c
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 10:32:12 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 2d5f38dd15beb538a325b0e7068704943db36eb9
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 09:05:30 2021 -0500

    missing "build" files

commit 9825b7da00cc69652360aeb53bc2a7be199677b6
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 09:03:30 2021 -0500

    missing .cmake files

commit f84a172af6e75e242de665a4d648c01fbae0597f
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:42:59 2021 -0500

    version number is in too many places ...

commit b69e63ab7e39b962e6ace387bc3d7cc311234792
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:40:46 2021 -0500

    finish rename

commit 5283b310f891b06300ddb2580f666bceffd4767b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:35:46 2021 -0500

    remove version numbers (for now); we've went a very long time w/o them

commit abe6a561d8a0e4de214bb7ddaffcf98ea1cd3f68
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 17:13:46 2021 -0500

    update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

commit f4e67deff2e978687ab41daf65c7c1ca221af7b1
Merge: 2b4e00a9e fcd89c652
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 16:54:07 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 2b4e00a9e12e820c356c99e43ec80700c104601f
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:49:05 2021 -0500

    Gsl_.h got lost ... ?

commit 25cd85e1d090a0f33ba2b683541bdc4aff258bb7
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:41:11 2021 -0500

    restore "build" and "cmake"

commit a675370deb50da8f7247159e9024bff9ac383e79
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:30:56 2021 -0500

    add a version number to externals/nitro

commit cb99d69acfd296878fbacde04926aed36c8e42eb
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:23:19 2021 -0500

    add a version number to externals/coda-oss

commit 9f26eedc7057adf47d925837b8d2d9a927b33147
Merge: 5dcd930c6 cf6f419e9
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 14:56:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 5dcd930c60f9c9c461db66d1d3f3eb2156494839
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:35:28 2021 -0500

    latest from "nitro"

commit 07ba711ffdeb4a3b7c465c6c4611607147e9e0fd
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:32:36 2021 -0500

    latest from coda_oss

commit af2417e3e73596bf749236122882e31650dfcdb8
Merge: 241b4f532 6b8265118
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:26:07 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 241b4f532c77b074a2c4e593bf7ba98dc8b9504a
Merge: 6dfeb8599 e662ccae4
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 16:22:58 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 6dfeb8599b9dfc6803e87401445d9413dce55395
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 16:22:25 2021 -0500

    SWIG doesn't like "final"

commit f64bd7191b6426b181b654b81488c33745147b31
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 15:17:06 2021 -0500

    SWIG doesn't like "final"

commit 9bc5b4c96b4b29ad86da636735b16029ca154e6f
Merge: 93d681486 8c469b58e
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 15:15:32 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 93d681486e8cb2fd5fa2b9a4010ed26becfa8509
Merge: 805b4fd0c e846b9490
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:04:16 2021 -0500

    Merge branch 'develop/update_externals' of github.com:ngageoint/six-library into develop/update_externals

commit e846b949095117a7d9c156277db65d00d921a9bb
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:02:32 2021 -0500

    Update .gitignore from "nitro"

commit 0c8be8ebc0ad2acd6c796594328d4be90285d71c
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 14:57:56 2021 -0500

    latest coda-oss changes

commit 67b566658adc2d024615049e8604b54a5de8d0f8
Merge: 5d113a48b 1327e071a
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 14:52:16 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 5d113a48b8b5966010d0f7ff73b529208162c770
Author: Dan Smith <[email protected]>
Date:   Wed Feb 10 08:51:32 2021 -0500

    build with older compilers

commit 969cd6f6ea1ce23cdf5349f95d9b5bfc32f18926
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 18:29:07 2021 -0500

    std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

commit 00b6e23eee97a203b5fe87cda1c50f6760f7c5e5
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 17:50:12 2021 -0500

    new TREs from "nitro"

commit c2a990976efd65a857f1e67a46ab1de40314b884
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 17:40:02 2021 -0500

    old C++11 compilers don't like template<template>

commit 98df1ed3947898603f9203fa464824721154affd
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 16:06:31 2021 -0500

    "nitro" changes to build with C90 instead of C99

commit 9ef79c0a47120cf680ca3c9a3bbbd0f60da8bbfe
Merge: 92ab24a96 5febd8eae
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 14:19:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 92ab24a9656e2b02c1ab9445fb97149736fb292d
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:52:55 2021 -0500

    one more change from coda-oss

commit ee7b56324d5c6c49344ed191f7ec296ab43a773c
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:47:25 2021 -0500

    latest from coda-oss

commit a181f348022d7856f56873eda0fbf5d7e3bfcabb
Merge: f616a8e62 f7a1c034e
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:33:16 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 805b4fd0c75f3a79bd38bd5755c771092d60ba7b
Merge: f616a8e62 4b30e4a09
Author: Dan Smith <[email protected]>
Date:   Tue Feb 2 13:35:08 2021 -0500

    Merge branch 'master' into develop/update_externals

commit f616a8e623c2784dc46c5e672525a3269538a134
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 14:35:41 2021 -0500

    latest from "coda-oss" and "nitro"

commit 42c63d0a153a27c5e5fd073c5c07a4e4036201c2
Merge: 6ba97c649 1f671bb17
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 11:41:32 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 6ba97c6499be41a1f7d8e3bebaba0f06520a583d
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 16:10:31 2021 -0500

    more place where an explicit std::filesystem::path::string() call is needed

commit 96918daf007397605a14914ae2645d98e0e0fec2
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 15:58:51 2021 -0500

    std::filesystem::path doesn't implicitly convert to std::string

commit f13785c7f22c21945cbcc82f04d0a2183b473a22
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 15:58:31 2021 -0500

    latest from coda-oss

commit 6a3859f9c2df84d19664b806182117d063a7429e
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:18:04 2021 -0500

    latest from coda-oss

commit 9dd7e36a96d4ea40ebba120c901904bafc3d046d
Merge: bc1744e03 d22cdb99a
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:16:51 2021 -0500

    Merge branch 'master' into develop/update_externals

commit bc1744e03517f4fd41a90e46b845dc818a529343
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 13:14:37 2021 -0500

    adjust to API changes in coda-oss/xml.lite

commit f204751432f3ab6a2eb60f9204aa3a1db3b8f76e
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 12:57:45 2021 -0500

    latest from nitro::master

commit 4b403052198a2bf775ae99142114009a45add25f
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 12:54:36 2021 -0500

    latest from coda-oss:master

commit f99597a1c72ab6838d139ca873bceac6251afb88
Merge: 0ecff9559 5d81778ca
Author: Dan Smith <[email protected]>
Date:   Tue Jan 26 08:43:34 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 0ecff955987475619e5756b30bbe1e38add907fa
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:59:47 2021 -0500

    remove files that shouldn't have been committed

commit 671a89a17a8c7e818e51f0b8ac260d3cbd50b35f
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:28:27 2021 -0500

    trigger build on GitHub

commit 460a96b3819c150608ca6e28cf51234b53c7299e
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:14:26 2021 -0500

    didn't want this change

commit 0ec8633e6f1f16384e08fb0f54fc463c05c5a0a7
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:11:15 2021 -0500

    get #includes right for PCH

commit 824284722ce0a6b80cdbc6c76d9414032b27da45
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:55:58 2021 -0500

    gsl::span -> std::span

commit 70a3e7282bc4359f6edbc2df52c77e11df523b1b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:50:53 2021 -0500

    these are the correct files from "master"

commit b856b5451289a0ad6bab254dd2a2d6f14aee571d
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:44:25 2021 -0500

    latest from coda-oss and nitro

commit fa0a138472ae143518bad1eb9d608152d32dbe22
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:33:06 2021 -0500

    Revert "std::span -> gsl::span"

    This reverts commit c10f2332c3650969a770c71ee830569911b9d13a.

commit f897082bd98771c278a77a14561be9e194c3878e
Merge: c10f2332c 812235491
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:32:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit c10f2332c3650969a770c71ee830569911b9d13a
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 15:08:25 2021 -0500

    std::span -> gsl::span

commit 9e218034c4ecdac44392473ee8f385a25a56f3c5
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:49:00 2021 -0500

    need to redo C++17 support

commit e21d4fcf730005f605df2d345f62e4f2399a14ca
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:48:25 2021 -0500

    paths are wrong in "externals"

commit 1083ac1a6cc8879d2b1c9949602321197cec4ecc
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 13:52:32 2021 -0500

    latest from "nitro"

commit 6fca2584d08b2d03374450a60d64c7086c23d568
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 12:20:13 2021 -0500

    lates from coda-oss/main

commit 1073b397a60a3a5357c5b433409dd6447b773273
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 11:41:11 2021 -0500

    add back "java" and "mex"

commit 6de2fa0d43d9d40078b0c268ac3fdeb78ae7aa39
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:22:13 2021 -0500

    merge brought back a deleted #include

commit 4e23991f609f2ec430a57539f80c27561abb28c8
Merge: ebe95509a 436986f87
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:55 2021 -0500

    Merge branch 'develop/update_externals' into main

commit ebe95509a01652e16d9fc9ac8869834bd2cf60a2
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:01 2021 -0500

    slam in externals as merging creates too many conflicts

commit 436986f87f612e10ada1cce884a4519daa022a5d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:40:28 2021 -0500

    Revert "Revert "remove "nitro" files not needed in externals/nitro""

    This reverts commit e69391bfee6b5e7cd481fc83856f7eee95e83929.

commit e69391bfee6b5e7cd481fc83856f7eee95e83929
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:39:25 2021 -0500

    Revert "remove "nitro" files not needed in externals/nitro"

    This reverts commit da30b960bb2a2af6c4580c49cae6740588703653.

commit dd710d55110cdd7b4bd8a17b25784e25ac93c98d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:52:28 2021 -0500

    paths are wrong in "externals"

commit da30b960bb2a2af6c4580c49cae6740588703653
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:27:21 2021 -0500

    remove "nitro" files not needed in externals/nitro

commit 120ee00fad22e0d6713184eb8f6660d97b76b721
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:25:11 2021 -0500

    fix missing #include file

commit fa1990597c9e08a30e110e5710ec0177d6aabfdf
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:55:17 2021 -0500

    need to redo C++17

commit 1bd0cb3a8df08c6304bea6ff3a187a2847ad37df
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:50:53 2021 -0500

    std::span removed from "nitro"

commit 4e6a7528b5888b965522f5e80d7279a36206aee8
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:30:47 2021 -0500

    latest from nitro/main

commit 99a0a01cb852152021c61696fb9b83bdab425004
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:28:13 2021 -0500

    adjust coda-oss for our usage

commit 65026c2702081ae9cd59f676a30934564148983b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:26:59 2021 -0500

    latest from coda-oss/main

commit e6a58a2be5b66ba52b7a3747e7325acaa84276a9
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:24:02 2021 -0500

    slam in "main"

commit 92d5bb5ca0afce00012f8892494ef41516dc4df7
Merge: 7b8ca7066 5e5870f6b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:21 2021 -0500

    Merge branch 'develop/update_externals' of github.com:ngageoint/six-library into develop/update_externals

commit 7b8ca7066eaea523f5f57c61648e2d6093d5b454
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:11 2021 -0500

    remove externals/nitro/docs

commit 5e5870f6b9b1d38596e6be22ab89e07def076e68
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:05:56 2021 -0500

    paths are wrong when in "externals"

commit d9a5c2ff8923a322760393632391c50ed793510b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:42:08 2021 -0500

    more changes from nitro/modules/c++

commit 7aba3b8d9a1add0317b14de33b7717a8565a0b39
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:19:54 2021 -0500

    fix IOStreamWriter ctor

commit 84db123c433ef5d2ade3ad712369e23c8af8dbe8
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:13:14 2021 -0500

    more changes from nitro/modules/c++

commit a6880924fe205acb4faa8ca7943cf0c84d3d59e9
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 16:48:00 2021 -0500

    fix build error on Linux

commit 7a9b240ec9a313c8eb699c81dbc2742bb88fb8b4
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 15:10:45 2021 -0500

    several changes from nitro/c++ ... hoping this builds.

commit a398eefa2e2ce746becee4d72dbd7c8add57c8be
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:48:32 2021 -0500

    VCXPROJ files from nitro

commit b3c1dbd794849177d6416a34379987996d4e019e
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:26:17 2021 -0500

    update other nitro top-level files ... everything except modules/c++

commit 8fe3028cc3b051075b760fdd95b2562b7ec9734b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:48:24 2021 -0500

    update "c", "java", "mex", and "python" directories -- but not "c++"

commit e82f28cd40d9e4e3029085b23048ba6c4d9c7a29
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:31:22 2021 -0500

    update externals/nitro/docs

commit 89522fe0f8200111a6ea860927903f38a9021727
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:38 2021 -0500

    Revert "latest from nitro/master"

    This reverts commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d.

commit 3adb502a17a1bda89372b235e18388197a9eaf4f
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:24 2021 -0500

    ignore build/ directory

commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 12:14:31 2021 -0500

    latest from nitro/master

commit db45e1e2f214df8ab417ddde0875593f0bba537b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 09:11:16 2021 -0500

    Revert "latest from "nitro""

    This reverts commit 0b99300f7c181eb073a86239444d30bc0acf7fa4.

commit 0b99300f7c181eb073a86239444d30bc0acf7fa4
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 18:02:30 2021 -0500

    latest from "nitro"

commit ae630e65c608257650c70735d5062db7e5e2dcc2
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:33:00 2021 -0500

    update externals/nitro/docs

commit f283be39d553aafad0f3132e2277038eaa4b515c
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:27:31 2021 -0500

    update coda-oss with latest from https://github.com/mdaus/coda-oss

commit 825a6674dba619591e343c0ecd9672703b69e3f5
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 30 13:49:02 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

    * partial update from coda-oss/main

    * latest from coda-oss/main

commit 21e2b675ffd4290149bc867024ded6d008e4fd1a
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 29 17:32:49 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

commit 433e81909997ccc83515b7b8551d82b9e09f1029
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 22 09:38:57 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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<T> 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

commit f217f237b20ad1aef87d1218b16f12e095d61c25
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 14:37:28 2020 -0500

    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"

commit 6ba3ffdaad96c0e4f945cce27af2f8b172ebd884
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:38:06 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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()

commit f990e7735a1135b16f2baf0be11215ec057e3bab
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:36:33 2020 -0500

    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"

commit 514403d30f5e42b768ae5675cb8f870086d138c1
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 8 14:30:18 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit a2d5396ec559cde98f9d8adb50c78111a7d884b3
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 18:12:34 2020 -0500

    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"

commit 12f6f27e269013d95df0dfb4845dc04e831717e1
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 17:51:26 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit e2084e8fad7af3962ef6d6e75d0ee72906f5430b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:56:09 2020 -0500

    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

commit 37f162087fd80259f8f14710ef421c4fe5073113
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:52:57 2020 -0500

    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

commit ef45d66b7ce27551cb9d96555da353ef266c9e9b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:43:44 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * Revert "sys::Off_T -> ptrdiff_t"

    This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2.

    * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

    * latest from "coda-oss"

commit d038e0e3d68a9dc1783d84ad39f5e03aced505ff
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:21:22 2020 -0500

    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

commit 10df67a17abcf66dd74e3608195dd5957e0c2241
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:20:04 2020 -0500

    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"

commit 48deaeb01376d88956a1b84097ae953c2e939c85
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 10:05:33 2020 -0500

    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()

commit b03c97994b65dad3e5fe5af14be3dc43379423f3
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 2 10:55:11 2020 -0500

    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

commit f1b6d2255807c658c55a83232cd3e8b40a59348b
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 17:53:46 2020 -0500

    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"

commit 4538574440414f950dd454424ee00ee15754fe0e
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 13:11:34 2020 -0500

    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

commit 79aa44ff0388a3ba7cdcc51d42bd1c11475efdc4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 30 13:45:16 2020 -0500

    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 <filesystem> 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 <filesystem>

    * tweak project settings for consistency

    * unit-test for createFakeComplexData()

commit ce28071805c3d6aeb23413ff13dd1d4f0c75e7fc
Author: Dan Smith <[email protected]>
Date:   Mon Nov 9 14:51:12 2020 -0500

    use .tar, not .tar.gz

commit f9283e8b6eb56a2ca4fb193964240087a8c1ce7d
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:31:00 2020 -0500

    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

commit 3c07e7278d53b0500d35c1153bbd827f74b1b090
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:10:17 2020 -0500

    update "nitro" and "coda-oss" (#370)

    * update "nitro" and "coda-oss"

    * Delete CMakeSettings.json

    * changeFileHeader() doesn't (yet) work in "externals"

commit 5c4bfb60bdb0dd778135dc7476b82735e82b0413
Merge: 950668d00 90e42da6b
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:35:45 2020 -0500

    Merge branch 'develop/update_externals' into main

commit 90e42da6b5a3c2cb23e2183bbd5afc46b1785507
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:34:33 2020 -0500

    use sys::Filesystem

commit f014cf4b86e62d26971e458af52d5e28f183ea6d
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 18:27:23 2020 -0500

    use Filesystem.h from coda-oss instead of <filesystem>

commit 950668d00022199c0c5e4a60f6ee0a1524c92fbc
Author: J. Daniel Smith <[email protected]>
Date:   Tue Nov 3 15:51:14 2020 -0500

    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

commit 29d743f25f42b89e9c34a7d64ae659fb263c5073
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:30:24 2020 -0500

    latest from "main" on coda-oss

commit 70d253c1f34df1bd79aca35737e9fc60ab97cc61
Merge: f332607bf 3a042b670
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:24:47 2020 -0500

    Merge branch 'main' into develop/update_externals

commit 3a042b6707eef97a43b508513ed11ca7f7bc0f2a
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 2 16:03:00 2020 -0500

    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

commit f332607bfe6ada9958f68c2fa370055600756486
Author: Dan Smith <[email protected]>
Date:   Mon Nov 2 15:41:41 2020 -0500

    latest from coda-oss

commit 5c48090a2dbb0c665a12f45cf126329395fcb0c4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 17:56:20 2020 -0400

    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

commit 313a60141a3e42d99067fa5bc6a9a98cfbe6f575
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:28:09 2020 -0400

    latest from coda-oss

commit f71c7eda1610f1dc5f9668c541c8cd925fd3c963
Merge: d3423b3b8 404dadcd2
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:26:57 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 404dadcd26851a243332d8263e57230687bad231
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 16:07:44 2020 -0400

    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

commit d3423b3b832f65dfc699c6faf7e1a055b226f2d0
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:57:51 2020 -0400

    latest from coda-oss

commit 18613b5bfb2e988e1c809a3df774e6335a5537b9
Merge: 8ff24519e 21a550c5a
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:48:50 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 21a550c5aca6c0c2f0d9cb9112be3f8f84c54cdb
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 12:35:42 2020 -0400

    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

commit 8ff24519ec9c24df4d2a4f5302eaec697e048737
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 12:12:01 2020 -0400

    restore changes lost in merge

commit f996fa8e2f7c496b5526825695334e64fdbf66d9
Merge: 1edffffdd fe9dffff6
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 11:47:16 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 1edffffddef9bdf94bd67a68aacfd03d5ee09cdd
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 11:27:40 2020 -0400

    latest from "main" on coda-oss: xml.lite updates for UTF-8

commit fe9dffff6a19a4793dabad070b01685fe784fdfb
Author: J. Daniel Smith <[email protected]>
Date:   Wed Oct 21 14:09:05 2020 -0400

    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

commit cdb08935c7c6387b343b491925fac4f4a126425c
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:43:18 2020 -0400

    one more coda-oss update

commi…
JDanielSmith pushed a commit that referenced this pull request Aug 25, 2021
* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes
JDanielSmith pushed a commit that referenced this pull request Aug 25, 2021
* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss
JDanielSmith pushed a commit that referenced this pull request Aug 31, 2021
commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:21:30 2021 -0400

    latest from "nitro"

commit 0527a629b781bc0531c4b5c20456617317f272a5
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:20:12 2021 -0400

    latest from coda-oss

commit ee48c047678cad511d7a84f6a125f11deba88014
Merge: 1096f4fd5 6cff53db9
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:19:29 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 14:17:33 2021 -0400

    latest from nitro and coda-oss

commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
Merge: 99ae196d3 ff3219eb1
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 14:01:46 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 99ae196d3861fb08a0785fe233679e4b61970186
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 12:17:41 2021 -0400

    account for NITRO changes

commit c57cd954272f55da042262f5c8d5e88ed15f72ce
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:55:35 2021 -0400

    latest from "nitro"

commit 9cd3c090116420237c9a948dbc2652d9eb044343
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:53:00 2021 -0400

    latest from coda-oss

commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
Merge: 76a8924ef c13678637
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:25:15 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:25:42 2021 -0400

    mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:06:07 2021 -0400

    latest from coda-oss

commit bf3a4183d98778292b522b108af655b870f81f7c
Merge: 1b96c7c82 242b834f6
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:01:51 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:10:19 2021 -0400

    latest from "nitro"

commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:05:52 2021 -0400

    latest from coda-oss

commit 06fae55d680fdac68314a7f7f3581babd8235911
Merge: da2932b21 1334638dd
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 11:00:38 2021 -0400

    Merge branch 'master' into develop/update_externals

commit da2932b21a7c2796aee659b598813643bbb7b72a
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:30:13 2021 -0400

    latest from "nitro"

commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:15:36 2021 -0400

    latest from coda-oss

commit 1b15d837462f2fab03a77e449602a55076a1358e
Merge: e219ad8c0 6fa3d44d9
Author: Dan Smith <[email protected]>
Date:   Wed Aug 4 10:13:22 2021 -0400

    Merge branch 'master' into develop/update_externals

commit e219ad8c0282ad9000cdf071089b979335ea79b6
Author: Dan Smith <[email protected]>
Date:   Wed Jun 23 10:54:34 2021 -0400

    latest from coda-oss

commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
Merge: 3681b8586 67830a063
Author: Dan Smith <[email protected]>
Date:   Wed Jun 23 10:51:23 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 3681b85865a306eebefe48584e00e1c4ca53f825
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:49:18 2021 -0400

    getCornersAsLatLons should be w/o "const"

commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:39:41 2021 -0400

    latest from "nitro"

commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:37:44 2021 -0400

    latest from coda-oss

commit 0103074f0d1db84c55c01541571029f75feebfe9
Merge: f4c89c4e9 8ab030569
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 09:24:19 2021 -0400

    Merge branch 'master' into develop/update_externals

commit f4c89c4e950246ef7dc6ec307cc18104253c911a
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 16:29:14 2021 -0400

    latest from NITRO

commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 16:26:48 2021 -0400

    latest from coda-oss

commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
Merge: 5a8c6a58b e708b980c
Author: Dan Smith <[email protected]>
Date:   Thu May 27 15:19:30 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
Author: Dan Smith <[email protected]>
Date:   Thu May 27 13:38:20 2021 -0400

    latest from nitro and coda-oss

commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
Author: Dan Smith <[email protected]>
Date:   Wed May 26 10:07:40 2021 -0400

    tweaks for VS2019 16.10

commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
Merge: cc2d0548f 9390b614b
Author: Dan Smith <[email protected]>
Date:   Mon May 24 16:01:09 2021 -0400

    Merge branch 'master' into develop/update_externals

commit cc2d0548f00a61fd27235d309504b1817dac5889
Merge: dfb69caea 47301187b
Author: Dan Smith <[email protected]>
Date:   Mon May 24 15:17:39 2021 -0400

    Merge branch 'master' into develop/update_externals

commit dfb69caeae5cc9aefb710673d11e6bf62e675734
Author: Dan Smith <[email protected]>
Date:   Mon May 24 14:34:58 2021 -0400

    changes from coda-oss to reduce code-analysis diagnostics

commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
Author: Dan Smith <[email protected]>
Date:   Wed May 19 16:03:14 2021 -0400

    reduce use of .c_str() in "nitro"

commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
Merge: df166d5a2 8e10afb11
Author: Dan Smith <[email protected]>
Date:   Wed May 19 16:01:45 2021 -0400

    Merge branch 'master' into develop/update_externals

commit df166d5a2452aabb958ef5773d21097186a01a0d
Author: Dan Smith <[email protected]>
Date:   Mon May 17 11:10:13 2021 -0400

    latest from "nitro" and "coda-oss"

commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
Merge: ef2d1fee0 50bbbb573
Author: Dan Smith <[email protected]>
Date:   Mon May 17 11:05:57 2021 -0400

    Merge branch 'master' into develop/update_externals

commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
Author: Dan Smith <[email protected]>
Date:   Tue May 11 10:41:21 2021 -0400

    build NITRO @ /W4

commit a4f624b985335b3633a5804e14b9819c293cf3a0
Author: Dan Smith <[email protected]>
Date:   Sat May 8 12:38:51 2021 -0400

    be sure NITRO validation changes don't break SIX unittests

commit 2bb3a4e4582046435e42cb53462598b824fc2685
Merge: 0591d37c0 76c1dc1dc
Author: Dan Smith <[email protected]>
Date:   Sat May 8 12:34:01 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 0591d37c0f46402a7b467f8d04c292426cb9d089
Author: Dan Smith <[email protected]>
Date:   Tue May 4 13:27:14 2021 -0400

    latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
Author: Dan Smith <[email protected]>
Date:   Mon May 3 13:58:24 2021 -0400

    explicitly list SegmentMemorySource() overloads

commit f273b6d036a25fdf6899af195069ae88bedc1218
Author: Dan Smith <[email protected]>
Date:   Mon May 3 13:13:08 2021 -0400

    build w/o errors when nitf-c++ is a DLL

commit 9faad061720737c0abc35b33192280a3243740bc
Author: Dan Smith <[email protected]>
Date:   Mon May 3 11:45:13 2021 -0400

    latest from "nitro" to support nitf-c++ as a DLL/shared-library

commit f20557ace1f491f6597cf8f03ce873b0c494103e
Merge: 5df916362 27b8f6aa5
Author: Dan Smith <[email protected]>
Date:   Mon May 3 11:31:16 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5df916362cec21608631c5d9ac0444ca1b6c339b
Author: Dan Smith <[email protected]>
Date:   Mon Apr 26 12:09:53 2021 -0400

    updates from "nitro"

commit dc070a143163f920e11f66768fded2876a1277af
Author: Dan Smith <[email protected]>
Date:   Mon Apr 26 12:07:44 2021 -0400

    latest from coda-oss

commit 733a255827f4c031ac654959189cd65358cecafb
Author: Dan Smith <[email protected]>
Date:   Tue Apr 20 10:01:43 2021 -0400

    latest from nitro

commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
Author: Dan Smith <[email protected]>
Date:   Tue Apr 20 09:55:06 2021 -0400

    latest from coda-oss and nitro

commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
Author: Dan Smith <[email protected]>
Date:   Mon Apr 19 09:08:27 2021 -0400

    lost sys/Conf.h #include

commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
Author: Dan Smith <[email protected]>
Date:   Mon Apr 19 08:36:41 2021 -0400

    updates from "nitro"

commit 24e1ee592c1979e0d91b92b715377356f03cedff
Author: Dan Smith <[email protected]>
Date:   Sat Apr 17 16:49:21 2021 -0400

    latest from coda-oss

commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
Author: Dan Smith <[email protected]>
Date:   Sat Apr 17 09:35:04 2021 -0400

    more code-analysis diagnostics fixes from coda-oss

commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 16:29:00 2021 -0400

    latest from coda-oss to reduce compiler warnings

commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 12:54:49 2021 -0400

    coda-oss updates to reduce compiler warnings/code-analysis diagnostics

commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 09:19:28 2021 -0400

    latest from coda-oss

commit 74491f15ab390f4a0372e14de3008bf3d850aece
Merge: 37b4a362b de6c5fae4
Author: Dan Smith <[email protected]>
Date:   Wed Apr 14 09:17:09 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
Author: Dan Smith <[email protected]>
Date:   Tue Apr 13 17:39:49 2021 -0400

    another update to coda-oss to get rid of code-analysis diagnostics

commit 582f71ac9689ee028f99523cce4772c20102a709
Author: Dan Smith <[email protected]>
Date:   Tue Apr 13 09:02:51 2021 -0400

    updates from coda-oss to remove compiler warnings

commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
Author: Dan Smith <[email protected]>
Date:   Tue Apr 6 11:38:10 2021 -0400

    tweaks to python wrappers from coda-oss

commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
Merge: c77366127 1a7f2f328
Author: Dan Smith <[email protected]>
Date:   Tue Apr 6 11:34:07 2021 -0400

    Merge branch 'master' into develop/update_externals

commit c77366127448c8d9ca8c1a12d79df31707c8db19
Author: Dan Smith <[email protected]>
Date:   Mon Apr 5 10:26:53 2021 -0400

    latest from "coda-oss" and "nitro"

commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
Merge: 0319e7076 4ea37a20f
Author: Dan Smith <[email protected]>
Date:   Sat Apr 3 10:45:52 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
Merge: 1dfc03417 788e7846d
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 18:17:32 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 17:21:06 2021 -0400

    forgot to add new "coda_oss" directory

commit 78ec6f69a6f08f564fd98ab678c501e34117200e
Merge: f105c98ab a5910ffd2
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 17:00:53 2021 -0400

    Merge branch 'master' into develop/update_externals

commit f105c98ab9a54dc87efc7b266662b65c3e176007
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 16:54:27 2021 -0400

    add back coda_oss;;filesystem::path

commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
Merge: ab1348f5e 664d2c219
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 14:03:46 2021 -0400

    Merge branch 'master' into develop/update_externals

commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 13:27:42 2021 -0400

    account for removed coda-oss overloads

commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 11:50:01 2021 -0400

    build using C++17 features

commit 899e6158a65262649190c0de909ea9c620176831
Author: Dan Smith <[email protected]>
Date:   Sat Mar 27 11:21:10 2021 -0400

    sys/Filesystem.h -> std/filesystem

commit 3d28513e4c9cd307891c65c43113616878eeefe8
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:56:56 2021 -0400

    WAF dependencies for "scene"

commit a22f195284c320b58c82272998d2d3d32715eb50
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:46:25 2021 -0400

    fix coda-oss unittest dependencies

commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 15:27:35 2021 -0400

    latest from coda-oss

commit b00fab77e92c86b3b101536730870c46600cf578
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 12:38:50 2021 -0400

    updates from coda-oss and nitro

commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 12:01:36 2021 -0400

    more coda-oss changes

commit 30afeeac677873c24c72b53796a8768525786f9a
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:27:21 2021 -0400

    use new coda-oss "std" headers

commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:14:30 2021 -0400

    be sure coda-oss "std" files are copied

commit c1f2b328b7b8bc7dcd3dcbd41fd851dadb3a8a77
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 10:02:23 2021 -0400

    update coda-oss and nitro

commit eeba5b8f0641d679eb895b0141aed17a52918653
Author: Dan Smith <[email protected]>
Date:   Wed Mar 24 08:08:18 2021 -0400

    CODA_OSS_AUGMENT_std_namespace got clobbered again

commit 77276c14a479d828b67b7df7d8ea96201a141449
Merge: 77b0b6545 7c1caf136
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 13:43:24 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 77b0b6545a3dfd2cd0a8457a65a5d2030243ed7b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 12:45:37 2021 -0400

    remove CA diagnostics from coda-oss

commit cdb74ed4757559d701140a41d7d4c216c339fea6
Merge: 5aa2efba1 0cee4292b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 11:47:37 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 5aa2efba19373c06fd94501d2f83a687f71951b7
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:34:04 2021 -0400

    latest from "master" at nitro

commit 4db1a4be74299cece5953c6c3299203a26fd9cb8
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:28:46 2021 -0400

    latest from "master" on coda-oss

commit cc369cc01fb09490707ebb64a72edc9d45dbe08c
Merge: a22422ae0 9be2a2af8
Author: Dan Smith <[email protected]>
Date:   Mon Mar 22 09:26:16 2021 -0400

    Merge branch 'master' into develop/update_externals

commit a22422ae0eed2d7b393caad717b3a17592ee27e1
Author: Dan Smith <[email protected]>
Date:   Tue Mar 16 18:50:11 2021 -0400

    latest from coda-oss

commit a0206cf1812822e6e8aeb2982c81075f171fa608
Merge: 2d5f38dd1 64130a79c
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 10:32:12 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 2d5f38dd15beb538a325b0e7068704943db36eb9
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 09:05:30 2021 -0500

    missing "build" files

commit 9825b7da00cc69652360aeb53bc2a7be199677b6
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 09:03:30 2021 -0500

    missing .cmake files

commit f84a172af6e75e242de665a4d648c01fbae0597f
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:42:59 2021 -0500

    version number is in too many places ...

commit b69e63ab7e39b962e6ace387bc3d7cc311234792
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:40:46 2021 -0500

    finish rename

commit 5283b310f891b06300ddb2580f666bceffd4767b
Author: Dan Smith <[email protected]>
Date:   Mon Mar 8 08:35:46 2021 -0500

    remove version numbers (for now); we've went a very long time w/o them

commit abe6a561d8a0e4de214bb7ddaffcf98ea1cd3f68
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 17:13:46 2021 -0500

    update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

commit f4e67deff2e978687ab41daf65c7c1ca221af7b1
Merge: 2b4e00a9e fcd89c652
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 16:54:07 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 2b4e00a9e12e820c356c99e43ec80700c104601f
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:49:05 2021 -0500

    Gsl_.h got lost ... ?

commit 25cd85e1d090a0f33ba2b683541bdc4aff258bb7
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:41:11 2021 -0500

    restore "build" and "cmake"

commit a675370deb50da8f7247159e9024bff9ac383e79
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:30:56 2021 -0500

    add a version number to externals/nitro

commit cb99d69acfd296878fbacde04926aed36c8e42eb
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 15:23:19 2021 -0500

    add a version number to externals/coda-oss

commit 9f26eedc7057adf47d925837b8d2d9a927b33147
Merge: 5dcd930c6 cf6f419e9
Author: Dan Smith <[email protected]>
Date:   Sat Mar 6 14:56:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 5dcd930c60f9c9c461db66d1d3f3eb2156494839
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:35:28 2021 -0500

    latest from "nitro"

commit 07ba711ffdeb4a3b7c465c6c4611607147e9e0fd
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:32:36 2021 -0500

    latest from coda_oss

commit af2417e3e73596bf749236122882e31650dfcdb8
Merge: 241b4f532 6b8265118
Author: Dan Smith <[email protected]>
Date:   Tue Mar 2 12:26:07 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 241b4f532c77b074a2c4e593bf7ba98dc8b9504a
Merge: 6dfeb8599 e662ccae4
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 16:22:58 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 6dfeb8599b9dfc6803e87401445d9413dce55395
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 16:22:25 2021 -0500

    SWIG doesn't like "final"

commit f64bd7191b6426b181b654b81488c33745147b31
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 15:17:06 2021 -0500

    SWIG doesn't like "final"

commit 9bc5b4c96b4b29ad86da636735b16029ca154e6f
Merge: 93d681486 8c469b58e
Author: Dan Smith <[email protected]>
Date:   Tue Feb 23 15:15:32 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 93d681486e8cb2fd5fa2b9a4010ed26becfa8509
Merge: 805b4fd0c e846b9490
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:04:16 2021 -0500

    Merge branch 'develop/update_externals' of github.com:ngageoint/six-library into develop/update_externals

commit e846b949095117a7d9c156277db65d00d921a9bb
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:02:32 2021 -0500

    Update .gitignore from "nitro"

commit 0c8be8ebc0ad2acd6c796594328d4be90285d71c
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 14:57:56 2021 -0500

    latest coda-oss changes

commit 67b566658adc2d024615049e8604b54a5de8d0f8
Merge: 5d113a48b 1327e071a
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 14:52:16 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 5d113a48b8b5966010d0f7ff73b529208162c770
Author: Dan Smith <[email protected]>
Date:   Wed Feb 10 08:51:32 2021 -0500

    build with older compilers

commit 969cd6f6ea1ce23cdf5349f95d9b5bfc32f18926
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 18:29:07 2021 -0500

    std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

commit 00b6e23eee97a203b5fe87cda1c50f6760f7c5e5
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 17:50:12 2021 -0500

    new TREs from "nitro"

commit c2a990976efd65a857f1e67a46ab1de40314b884
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 17:40:02 2021 -0500

    old C++11 compilers don't like template<template>

commit 98df1ed3947898603f9203fa464824721154affd
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 16:06:31 2021 -0500

    "nitro" changes to build with C90 instead of C99

commit 9ef79c0a47120cf680ca3c9a3bbbd0f60da8bbfe
Merge: 92ab24a96 5febd8eae
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 14:19:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 92ab24a9656e2b02c1ab9445fb97149736fb292d
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:52:55 2021 -0500

    one more change from coda-oss

commit ee7b56324d5c6c49344ed191f7ec296ab43a773c
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:47:25 2021 -0500

    latest from coda-oss

commit a181f348022d7856f56873eda0fbf5d7e3bfcabb
Merge: f616a8e62 f7a1c034e
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 13:33:16 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 805b4fd0c75f3a79bd38bd5755c771092d60ba7b
Merge: f616a8e62 4b30e4a09
Author: Dan Smith <[email protected]>
Date:   Tue Feb 2 13:35:08 2021 -0500

    Merge branch 'master' into develop/update_externals

commit f616a8e623c2784dc46c5e672525a3269538a134
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 14:35:41 2021 -0500

    latest from "coda-oss" and "nitro"

commit 42c63d0a153a27c5e5fd073c5c07a4e4036201c2
Merge: 6ba97c649 1f671bb17
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 11:41:32 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 6ba97c6499be41a1f7d8e3bebaba0f06520a583d
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 16:10:31 2021 -0500

    more place where an explicit std::filesystem::path::string() call is needed

commit 96918daf007397605a14914ae2645d98e0e0fec2
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 15:58:51 2021 -0500

    std::filesystem::path doesn't implicitly convert to std::string

commit f13785c7f22c21945cbcc82f04d0a2183b473a22
Author: Dan Smith <[email protected]>
Date:   Sat Jan 30 15:58:31 2021 -0500

    latest from coda-oss

commit 6a3859f9c2df84d19664b806182117d063a7429e
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:18:04 2021 -0500

    latest from coda-oss

commit 9dd7e36a96d4ea40ebba120c901904bafc3d046d
Merge: bc1744e03 d22cdb99a
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:16:51 2021 -0500

    Merge branch 'master' into develop/update_externals

commit bc1744e03517f4fd41a90e46b845dc818a529343
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 13:14:37 2021 -0500

    adjust to API changes in coda-oss/xml.lite

commit f204751432f3ab6a2eb60f9204aa3a1db3b8f76e
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 12:57:45 2021 -0500

    latest from nitro::master

commit 4b403052198a2bf775ae99142114009a45add25f
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 12:54:36 2021 -0500

    latest from coda-oss:master

commit f99597a1c72ab6838d139ca873bceac6251afb88
Merge: 0ecff9559 5d81778ca
Author: Dan Smith <[email protected]>
Date:   Tue Jan 26 08:43:34 2021 -0500

    Merge branch 'master' into develop/update_externals

commit 0ecff955987475619e5756b30bbe1e38add907fa
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:59:47 2021 -0500

    remove files that shouldn't have been committed

commit 671a89a17a8c7e818e51f0b8ac260d3cbd50b35f
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:28:27 2021 -0500

    trigger build on GitHub

commit 460a96b3819c150608ca6e28cf51234b53c7299e
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:14:26 2021 -0500

    didn't want this change

commit 0ec8633e6f1f16384e08fb0f54fc463c05c5a0a7
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:11:15 2021 -0500

    get #includes right for PCH

commit 824284722ce0a6b80cdbc6c76d9414032b27da45
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:55:58 2021 -0500

    gsl::span -> std::span

commit 70a3e7282bc4359f6edbc2df52c77e11df523b1b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:50:53 2021 -0500

    these are the correct files from "master"

commit b856b5451289a0ad6bab254dd2a2d6f14aee571d
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:44:25 2021 -0500

    latest from coda-oss and nitro

commit fa0a138472ae143518bad1eb9d608152d32dbe22
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:33:06 2021 -0500

    Revert "std::span -> gsl::span"

    This reverts commit c10f2332c3650969a770c71ee830569911b9d13a.

commit f897082bd98771c278a77a14561be9e194c3878e
Merge: c10f2332c 812235491
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:32:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit c10f2332c3650969a770c71ee830569911b9d13a
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 15:08:25 2021 -0500

    std::span -> gsl::span

commit 9e218034c4ecdac44392473ee8f385a25a56f3c5
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:49:00 2021 -0500

    need to redo C++17 support

commit e21d4fcf730005f605df2d345f62e4f2399a14ca
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:48:25 2021 -0500

    paths are wrong in "externals"

commit 1083ac1a6cc8879d2b1c9949602321197cec4ecc
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 13:52:32 2021 -0500

    latest from "nitro"

commit 6fca2584d08b2d03374450a60d64c7086c23d568
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 12:20:13 2021 -0500

    lates from coda-oss/main

commit 1073b397a60a3a5357c5b433409dd6447b773273
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 11:41:11 2021 -0500

    add back "java" and "mex"

commit 6de2fa0d43d9d40078b0c268ac3fdeb78ae7aa39
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:22:13 2021 -0500

    merge brought back a deleted #include

commit 4e23991f609f2ec430a57539f80c27561abb28c8
Merge: ebe95509a 436986f87
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:55 2021 -0500

    Merge branch 'develop/update_externals' into main

commit ebe95509a01652e16d9fc9ac8869834bd2cf60a2
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:01 2021 -0500

    slam in externals as merging creates too many conflicts

commit 436986f87f612e10ada1cce884a4519daa022a5d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:40:28 2021 -0500

    Revert "Revert "remove "nitro" files not needed in externals/nitro""

    This reverts commit e69391bfee6b5e7cd481fc83856f7eee95e83929.

commit e69391bfee6b5e7cd481fc83856f7eee95e83929
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:39:25 2021 -0500

    Revert "remove "nitro" files not needed in externals/nitro"

    This reverts commit da30b960bb2a2af6c4580c49cae6740588703653.

commit dd710d55110cdd7b4bd8a17b25784e25ac93c98d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:52:28 2021 -0500

    paths are wrong in "externals"

commit da30b960bb2a2af6c4580c49cae6740588703653
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:27:21 2021 -0500

    remove "nitro" files not needed in externals/nitro

commit 120ee00fad22e0d6713184eb8f6660d97b76b721
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:25:11 2021 -0500

    fix missing #include file

commit fa1990597c9e08a30e110e5710ec0177d6aabfdf
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:55:17 2021 -0500

    need to redo C++17

commit 1bd0cb3a8df08c6304bea6ff3a187a2847ad37df
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:50:53 2021 -0500

    std::span removed from "nitro"

commit 4e6a7528b5888b965522f5e80d7279a36206aee8
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:30:47 2021 -0500

    latest from nitro/main

commit 99a0a01cb852152021c61696fb9b83bdab425004
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:28:13 2021 -0500

    adjust coda-oss for our usage

commit 65026c2702081ae9cd59f676a30934564148983b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:26:59 2021 -0500

    latest from coda-oss/main

commit e6a58a2be5b66ba52b7a3747e7325acaa84276a9
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:24:02 2021 -0500

    slam in "main"

commit 92d5bb5ca0afce00012f8892494ef41516dc4df7
Merge: 7b8ca7066 5e5870f6b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:21 2021 -0500

    Merge branch 'develop/update_externals' of github.com:ngageoint/six-library into develop/update_externals

commit 7b8ca7066eaea523f5f57c61648e2d6093d5b454
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:11 2021 -0500

    remove externals/nitro/docs

commit 5e5870f6b9b1d38596e6be22ab89e07def076e68
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:05:56 2021 -0500

    paths are wrong when in "externals"

commit d9a5c2ff8923a322760393632391c50ed793510b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:42:08 2021 -0500

    more changes from nitro/modules/c++

commit 7aba3b8d9a1add0317b14de33b7717a8565a0b39
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:19:54 2021 -0500

    fix IOStreamWriter ctor

commit 84db123c433ef5d2ade3ad712369e23c8af8dbe8
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:13:14 2021 -0500

    more changes from nitro/modules/c++

commit a6880924fe205acb4faa8ca7943cf0c84d3d59e9
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 16:48:00 2021 -0500

    fix build error on Linux

commit 7a9b240ec9a313c8eb699c81dbc2742bb88fb8b4
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 15:10:45 2021 -0500

    several changes from nitro/c++ ... hoping this builds.

commit a398eefa2e2ce746becee4d72dbd7c8add57c8be
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:48:32 2021 -0500

    VCXPROJ files from nitro

commit b3c1dbd794849177d6416a34379987996d4e019e
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:26:17 2021 -0500

    update other nitro top-level files ... everything except modules/c++

commit 8fe3028cc3b051075b760fdd95b2562b7ec9734b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:48:24 2021 -0500

    update "c", "java", "mex", and "python" directories -- but not "c++"

commit e82f28cd40d9e4e3029085b23048ba6c4d9c7a29
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:31:22 2021 -0500

    update externals/nitro/docs

commit 89522fe0f8200111a6ea860927903f38a9021727
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:38 2021 -0500

    Revert "latest from nitro/master"

    This reverts commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d.

commit 3adb502a17a1bda89372b235e18388197a9eaf4f
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:24 2021 -0500

    ignore build/ directory

commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 12:14:31 2021 -0500

    latest from nitro/master

commit db45e1e2f214df8ab417ddde0875593f0bba537b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 09:11:16 2021 -0500

    Revert "latest from "nitro""

    This reverts commit 0b99300f7c181eb073a86239444d30bc0acf7fa4.

commit 0b99300f7c181eb073a86239444d30bc0acf7fa4
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 18:02:30 2021 -0500

    latest from "nitro"

commit ae630e65c608257650c70735d5062db7e5e2dcc2
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:33:00 2021 -0500

    update externals/nitro/docs

commit f283be39d553aafad0f3132e2277038eaa4b515c
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:27:31 2021 -0500

    update coda-oss with latest from https://github.com/mdaus/coda-oss

commit 825a6674dba619591e343c0ecd9672703b69e3f5
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 30 13:49:02 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

    * partial update from coda-oss/main

    * latest from coda-oss/main

commit 21e2b675ffd4290149bc867024ded6d008e4fd1a
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 29 17:32:49 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

commit 433e81909997ccc83515b7b8551d82b9e09f1029
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 22 09:38:57 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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<T> 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

commit f217f237b20ad1aef87d1218b16f12e095d61c25
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 14:37:28 2020 -0500

    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"

commit 6ba3ffdaad96c0e4f945cce27af2f8b172ebd884
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:38:06 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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()

commit f990e7735a1135b16f2baf0be11215ec057e3bab
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:36:33 2020 -0500

    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"

commit 514403d30f5e42b768ae5675cb8f870086d138c1
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 8 14:30:18 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit a2d5396ec559cde98f9d8adb50c78111a7d884b3
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 18:12:34 2020 -0500

    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"

commit 12f6f27e269013d95df0dfb4845dc04e831717e1
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 17:51:26 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit e2084e8fad7af3962ef6d6e75d0ee72906f5430b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:56:09 2020 -0500

    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

commit 37f162087fd80259f8f14710ef421c4fe5073113
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:52:57 2020 -0500

    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

commit ef45d66b7ce27551cb9d96555da353ef266c9e9b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:43:44 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * Revert "sys::Off_T -> ptrdiff_t"

    This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2.

    * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

    * latest from "coda-oss"

commit d038e0e3d68a9dc1783d84ad39f5e03aced505ff
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:21:22 2020 -0500

    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

commit 10df67a17abcf66dd74e3608195dd5957e0c2241
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:20:04 2020 -0500

    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"

commit 48deaeb01376d88956a1b84097ae953c2e939c85
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 10:05:33 2020 -0500

    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()

commit b03c97994b65dad3e5fe5af14be3dc43379423f3
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 2 10:55:11 2020 -0500

    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

commit f1b6d2255807c658c55a83232cd3e8b40a59348b
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 17:53:46 2020 -0500

    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"

commit 4538574440414f950dd454424ee00ee15754fe0e
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 13:11:34 2020 -0500

    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

commit 79aa44ff0388a3ba7cdcc51d42bd1c11475efdc4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 30 13:45:16 2020 -0500

    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 <filesystem> 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 <filesystem>

    * tweak project settings for consistency

    * unit-test for createFakeComplexData()

commit ce28071805c3d6aeb23413ff13dd1d4f0c75e7fc
Author: Dan Smith <[email protected]>
Date:   Mon Nov 9 14:51:12 2020 -0500

    use .tar, not .tar.gz

commit f9283e8b6eb56a2ca4fb193964240087a8c1ce7d
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:31:00 2020 -0500

    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

commit 3c07e7278d53b0500d35c1153bbd827f74b1b090
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:10:17 2020 -0500

    update "nitro" and "coda-oss" (#370)

    * update "nitro" and "coda-oss"

    * Delete CMakeSettings.json

    * changeFileHeader() doesn't (yet) work in "externals"

commit 5c4bfb60bdb0dd778135dc7476b82735e82b0413
Merge: 950668d00 90e42da6b
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:35:45 2020 -0500

    Merge branch 'develop/update_externals' into main

commit 90e42da6b5a3c2cb23e2183bbd5afc46b1785507
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:34:33 2020 -0500

    use sys::Filesystem

commit f014cf4b86e62d26971e458af52d5e28f183ea6d
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 18:27:23 2020 -0500

    use Filesystem.h from coda-oss instead of <filesystem>

commit 950668d00022199c0c5e4a60f6ee0a1524c92fbc
Author: J. Daniel Smith <[email protected]>
Date:   Tue Nov 3 15:51:14 2020 -0500

    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

commit 29d743f25f42b89e9c34a7d64ae659fb263c5073
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:30:24 2020 -0500

    latest from "main" on coda-oss

commit 70d253c1f34df1bd79aca35737e9fc60ab97cc61
Merge: f332607bf 3a042b670
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:24:47 2020 -0500

    Merge branch 'main' into develop/update_externals

commit 3a042b6707eef97a43b508513ed11ca7f7bc0f2a
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 2 16:03:00 2020 -0500

    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

commit f332607bfe6ada9958f68c2fa370055600756486
Author: Dan Smith <[email protected]>
Date:   Mon Nov 2 15:41:41 2020 -0500

    latest from coda-oss

commit 5c48090a2dbb0c665a12f45cf126329395fcb0c4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 17:56:20 2020 -0400

    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

commit 313a60141a3e42d99067fa5bc6a9a98cfbe6f575
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:28:09 2020 -0400

    latest from coda-oss

commit f71c7eda1610f1dc5f9668c541c8cd925fd3c963
Merge: d3423b3b8 404dadcd2
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:26:57 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 404dadcd26851a243332d8263e57230687bad231
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 16:07:44 2020 -0400

    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

commit d3423b3b832f65dfc699c6faf7e1a055b226f2d0
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:57:51 2020 -0400

    latest from coda-oss

commit 18613b5bfb2e988e1c809a3df774e6335a5537b9
Merge: 8ff24519e 21a550c5a
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:48:50 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 21a550c5aca6c0c2f0d9cb9112be3f8f84c54cdb
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 12:35:42 2020 -0400

    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

commit 8ff24519ec9c24df4d2a4f5302eaec697e048737
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26…
JDanielSmith pushed a commit that referenced this pull request Sep 3, 2021
* 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 b261bbd.

* 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 4388277.

* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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 <filesystem> 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 <filesystem>

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* 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 da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* 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 c10f233.

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (#433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* Revert "latest from coda-oss"

This reverts commit f38b783.

* latest from coda-oss

* latest from "nitro"
JDanielSmith pushed a commit that referenced this pull request Sep 9, 2021
* 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 b261bbd.

* 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 4388277.

* 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

* 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 c++11 (#359)

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* get rid of hard-coded paths with <filesystem> (#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 <filesystem> 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

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* 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 <filesystem> 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

* 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 <filesystem>

* 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 <filesystem>

* 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 12534c9, reversing
changes made to 02ce755.

* 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

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* 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 <filesystem> 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 <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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()

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* 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 aa22a37.

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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

* 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 aa22a37.

* 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

* 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 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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"

* 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"

* 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 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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" (#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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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"

* 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"

* 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<T> 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

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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

* xml,lite is a bit easier to use

* fix DownsamplingMethod enum

* slam in latest from "master"

* add build and cmake directories

* expose calculateWeightFunction(), simplify implementation

* don't check-in CMakeSettings.json
JDanielSmith pushed a commit that referenced this pull request Sep 17, 2021
* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* latest from "nitro"

* Squashed commit of the following:

commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 17:11:45 2021 -0400

    oops ... checked in TestTestTest enum

commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
Merge: 25d3f9be7 dabb8ba68
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 15:46:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 14:02:28 2021 -0400

    Squashed commit of the following:

    commit bf16b368e76062f2e325193a2ab0972bb56987c8
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 12:44:36 2021 -0400

        let macros do the job of repeating SIX_Enum_map_entry_

    commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 11:06:08 2021 -0400

        macros for Enums; these are quite a bit simpler than SIX

    commit ff3756734545d5f1619e8366c5809c63cfec792e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 10:00:03 2021 -0400

        hook up macros for creating Enums in NITRO

commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
Merge: 1dfd650e1 8bbdb1d75
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:50:18 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 1dfd650e1a4cce160f4c43ced2db761b58183550
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:49:32 2021 -0400

    tweak copyright notices

commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 08:45:23 2021 -0400

    make test data even more visible with "[****************]"

commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:53:38 2021 -0400

    be sure std::span<std::byte> is the right size

commit d8d30eade99950557439081bea8320dab54895be
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:47:11 2021 -0400

    switch back to the old writing code; it seems to work better than writeAsNITF() ???

commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:12:43 2021 -0400

    getRawData() shouldn't return the entire temp buffer

commit 61617482b5414a4dd03fb73398a0266654b7d99a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 12:06:50 2021 -0400

    more testing to be sure everything is in-sync

commit e0595099e42b97762d16dfb1aee3818cf0c92901
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:43:24 2021 -0400

    more shared code

commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:02:25 2021 -0400

    reduce some duplicated unit-test code

commit cccf0471d1036003364dd365581a89b4fb7a23a1
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:53:35 2021 -0400

    use NITFReadComplexXMLControl in a few more places

commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:21:13 2021 -0400

    use NITFReadComplexXMLControl in more code

commit 001fd11915491730ddd0e1011140d110196fb325
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:46:25 2021 -0400

    change readFromNITF() to use NITFReadComplexXMLControl utility

commit 517abad4270833ff29e8714c2bec9ce9b9c46242
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:10:21 2021 -0400

    combine NITFReadControl and XMLControlRegistry into a single class

commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:30:30 2021 -0400

    be sure two different ways of reading give the same results

commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:22:38 2021 -0400

    readFromNITF() was wrong, so very wrong ...

commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:45:29 2021 -0400

    move should be "noexcept"

commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:05:19 2021 -0400

    the python bindings are lame ... leave them as-is for now

commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 13:52:32 2021 -0400

    remove no-longer-needed test code

commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 12:31:26 2021 -0400

    remove unit-test only routines from Utilities:: API

commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:55:14 2021 -0400

    simplify more code using Python-like routines

commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:38:30 2021 -0400

    borrow more routines from Python bindings to simplify code

commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:19:33 2021 -0400

    tweak setLogger()

commit dc3937f60828508f339ad17376cae3dd1d2180c8
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:06:54 2021 -0400

    readFromNITF() and writeAsNITF() from Python bindings

commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:45:37 2021 -0400

    use the template-ized version of addCreator() everywhere

commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
Merge: 070b8e8a0 5e4d542ab
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:10:13 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 10:03:10 2021 -0400

    use a normal "enum class" for Subcategory too

commit 52a54c8a538370daae32c47546c07b6605fbc7f9
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:52:33 2021 -0400

    store values in map to avoid a bunch of "if" checks and duplicated code

commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:22:51 2021 -0400

    "enum class" is slightly less code than static member data

commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:11:27 2021 -0400

    to_string() and from_string()

commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 08:26:17 2021 -0400

    test reading in the file we just created

commit b3a99955f8142be79d608ab8b2e5b3a82d550516
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 15:25:27 2021 -0400

    simplify creation of nitf::BandInfo

commit 1648f9f118d283c92773010ec2479f7493bdfc60
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:49:41 2021 -0400

    use the same utility routine for reading

commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:27:14 2021 -0400

    try to read in raw data

commit d4168c3192941257a04c7e73a3541e856848ed7b
Merge: 77df326c8 559f7e6e4
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 11:07:19 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 77df326c87c25f6a1bc40292be338cd915cd5c46
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 10:03:02 2021 -0400

    utility function to get the raw data - w/o converting to std::complex<float>

commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 18:00:02 2021 -0400

    can use entire image in non-DEBUG code

commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 14:12:07 2021 -0400

    image is way too big for DEBUG code

commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:55:26 2021 -0400

    cutoff should be squared

commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:20:48 2021 -0400

    Now that everything is in place, don't need quite as many template functions

commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 11:55:36 2021 -0400

    "results" can also be a std::span instead of a std::vector

commit 98c4a83508a31208c095aa99f78095798a0b1645
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 10:50:55 2021 -0400

    very strict rules for constexpr in C++11

commit b5946454ef455feda694d78065655259312b37d9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:58:38 2021 -0400

    common code to read the 8bit_ampphs files

commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:35:20 2021 -0400

    simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

commit b587908f7bc775b1bc9578f724b394e7bc6a5903
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:07:20 2021 -0400

    don't need to pass pImpl back to lambda anymore

commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:40:21 2021 -0400

    fix GCC build errors

commit bb2c9ab2591eef9a6556963bd802756b70594a1c
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:22:21 2021 -0400

    internal to SIX, images are always complex<float>

commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:01:30 2021 -0400

    reduce duplicate "adapters" code and make it more type-safe

commit cd05e03199cf6a9358ebb3c79607e834194a3c51
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 14:24:24 2021 -0400

    tweak unit-test

commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 13:31:04 2021 -0400

    KDTree = defaults must be in implementation file because Impl is an incomplete type

commit f1aef291109777ac0be4372f76da4d460e083b95
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:55:17 2021 -0400

    reduce more duplicated code

commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:23:16 2021 -0400

    hookup async version of from_AMP8I_PHS8I()

commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 11:56:55 2021 -0400

    reduce code duplication

commit c4881433f678c4f8244eb4d234828ef7b687f0dd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 10:04:58 2021 -0400

    use mt::transform_async()

commit 77674a99a1f1f8c44275e9452bf19b942292bc86
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 09:53:06 2021 -0400

    tweak to_AMP8I_PHS8I() signatures

commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:56:52 2021 -0400

    remove no-longer-needed utility routine

commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
Merge: 54ba2521e 7262842a7
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:47:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 54ba2521e878e262d2440e30f5d7f66c876bf853
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:46:11 2021 -0400

    allow callers to explicitly request parallel implementaton

commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
Merge: 8f480a011 2e984a786
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:11:30 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:04:02 2021 -0400

    fix compile errors; simplify nearest_neighbor()

commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:48:42 2021 -0400

    async code

commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:47:04 2021 -0400

    pass around a priority_queue so that k_nearest_neighbors() is thread-safe

commit f4524378ce744b73c4e9e86873c24be37e1351fe
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 08:39:38 2021 -0400

    making KDTree a template is just too clever for our needs

commit 015ca71daef891bb242e3a8172b4445079dd6faf
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:20:44 2021 -0400

    need template<> for specializing

commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:12:23 2021 -0400

    unit-test for KDTree

commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:50:19 2021 -0400

    use the KDTree to convert from a std::complex<float> to amp/value

commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:06:54 2021 -0400

    need our own <std/memory> with GCC

commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 15:27:18 2021 -0400

    fix KDTree.h #include path

commit c742932515dba401935d8900035b75c69bb61683
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 14:48:52 2021 -0400

    KDTree implementation

commit 0341c633ca839fb9d89b65013f0497f0749e2288
Author: Dan Smith <[email protected]>
Date:   Wed Sep 1 12:44:56 2021 -0400

    use math::SinCos() to get sin() and cos() at the same time.

commit 974069cf8f296a55f35e2affeec3965a79525415
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:56:11 2021 -0400

    Squashed commit of the following:

    commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:21:30 2021 -0400

        latest from "nitro"

    commit 0527a629b781bc0531c4b5c20456617317f272a5
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:20:12 2021 -0400

        latest from coda-oss

    commit ee48c047678cad511d7a84f6a125f11deba88014
    Merge: 1096f4fd5 6cff53db9
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:19:29 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:17:33 2021 -0400

        latest from nitro and coda-oss

    commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
    Merge: 99ae196d3 ff3219eb1
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:01:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 99ae196d3861fb08a0785fe233679e4b61970186
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 12:17:41 2021 -0400

        account for NITRO changes

    commit c57cd954272f55da042262f5c8d5e88ed15f72ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:55:35 2021 -0400

        latest from "nitro"

    commit 9cd3c090116420237c9a948dbc2652d9eb044343
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:53:00 2021 -0400

        latest from coda-oss

    commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
    Merge: 76a8924ef c13678637
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:25:15 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:25:42 2021 -0400

        mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

    commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:06:07 2021 -0400

        latest from coda-oss

    commit bf3a4183d98778292b522b108af655b870f81f7c
    Merge: 1b96c7c82 242b834f6
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:01:51 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:10:19 2021 -0400

        latest from "nitro"

    commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:05:52 2021 -0400

        latest from coda-oss

    commit 06fae55d680fdac68314a7f7f3581babd8235911
    Merge: da2932b21 1334638dd
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:00:38 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit da2932b21a7c2796aee659b598813643bbb7b72a
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:30:13 2021 -0400

        latest from "nitro"

    commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:15:36 2021 -0400

        latest from coda-oss

    commit 1b15d837462f2fab03a77e449602a55076a1358e
    Merge: e219ad8c0 6fa3d44d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:13:22 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit e219ad8c0282ad9000cdf071089b979335ea79b6
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:54:34 2021 -0400

        latest from coda-oss

    commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
    Merge: 3681b8586 67830a063
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:51:23 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 3681b85865a306eebefe48584e00e1c4ca53f825
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:49:18 2021 -0400

        getCornersAsLatLons should be w/o "const"

    commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:39:41 2021 -0400

        latest from "nitro"

    commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:37:44 2021 -0400

        latest from coda-oss

    commit 0103074f0d1db84c55c01541571029f75feebfe9
    Merge: f4c89c4e9 8ab030569
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:24:19 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f4c89c4e950246ef7dc6ec307cc18104253c911a
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:29:14 2021 -0400

        latest from NITRO

    commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:26:48 2021 -0400

        latest from coda-oss

    commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
    Merge: 5a8c6a58b e708b980c
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 15:19:30 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:38:20 2021 -0400

        latest from nitro and coda-oss

    commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:07:40 2021 -0400

        tweaks for VS2019 16.10

    commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
    Merge: cc2d0548f 9390b614b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:01:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit cc2d0548f00a61fd27235d309504b1817dac5889
    Merge: dfb69caea 47301187b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:39 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit dfb69caeae5cc9aefb710673d11e6bf62e675734
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:34:58 2021 -0400

        changes from coda-oss to reduce code-analysis diagnostics

    commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:03:14 2021 -0400

        reduce use of .c_str() in "nitro"

    commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
    Merge: df166d5a2 8e10afb11
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:01:45 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit df166d5a2452aabb958ef5773d21097186a01a0d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:10:13 2021 -0400

        latest from "nitro" and "coda-oss"

    commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
    Merge: ef2d1fee0 50bbbb573
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:05:57 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
    Author: Dan Smith <[email protected]>
    Date:   Tue May 11 10:41:21 2021 -0400

        build NITRO @ /W4

    commit a4f624b985335b3633a5804e14b9819c293cf3a0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:38:51 2021 -0400

        be sure NITRO validation changes don't break SIX unittests

    commit 2bb3a4e4582046435e42cb53462598b824fc2685
    Merge: 0591d37c0 76c1dc1dc
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:34:01 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0591d37c0f46402a7b467f8d04c292426cb9d089
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 13:27:14 2021 -0400

        latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

    commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:58:24 2021 -0400

        explicitly list SegmentMemorySource() overloads

    commit f273b6d036a25fdf6899af195069ae88bedc1218
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:13:08 2021 -0400

        build w/o errors when nitf-c++ is a DLL

    commit 9faad061720737c0abc35b33192280a3243740bc
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:45:13 2021 -0400

        latest from "nitro" to support nitf-c++ as a DLL/shared-library

    commit f20557ace1f491f6597cf8f03ce873b0c494103e
    Merge: 5df916362 27b8f6aa5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:31:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5df916362cec21608631c5d9ac0444ca1b6c339b
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:09:53 2021 -0400

        updates from "nitro"

    commit dc070a143163f920e11f66768fded2876a1277af
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:07:44 2021 -0400

        latest from coda-oss

    commit 733a255827f4c031ac654959189cd65358cecafb
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:01:43 2021 -0400

        latest from nitro

    commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:55:06 2021 -0400

        latest from coda-oss and nitro

    commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 09:08:27 2021 -0400

        lost sys/Conf.h #include

    commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 08:36:41 2021 -0400

        updates from "nitro"

    commit 24e1ee592c1979e0d91b92b715377356f03cedff
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:49:21 2021 -0400

        latest from coda-oss

    commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 09:35:04 2021 -0400

        more code-analysis diagnostics fixes from coda-oss

    commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 16:29:00 2021 -0400

        latest from coda-oss to reduce compiler warnings

    commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 12:54:49 2021 -0400

        coda-oss updates to reduce compiler warnings/code-analysis diagnostics

    commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:19:28 2021 -0400

        latest from coda-oss

    commit 74491f15ab390f4a0372e14de3008bf3d850aece
    Merge: 37b4a362b de6c5fae4
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:17:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 17:39:49 2021 -0400

        another update to coda-oss to get rid of code-analysis diagnostics

    commit 582f71ac9689ee028f99523cce4772c20102a709
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 09:02:51 2021 -0400

        updates from coda-oss to remove compiler warnings

    commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:38:10 2021 -0400

        tweaks to python wrappers from coda-oss

    commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
    Merge: c77366127 1a7f2f328
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:34:07 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit c77366127448c8d9ca8c1a12d79df31707c8db19
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 10:26:53 2021 -0400

        latest from "coda-oss" and "nitro"

    commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
    Merge: 0319e7076 4ea37a20f
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 3 10:45:52 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
    Merge: 1dfc03417 788e7846d
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 18:17:32 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:21:06 2021 -0400

        forgot to add new "coda_oss" directory

    commit 78ec6f69a6f08f564fd98ab678c501e34117200e
    Merge: f105c98ab a5910ffd2
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:00:53 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f105c98ab9a54dc87efc7b266662b65c3e176007
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 16:54:27 2021 -0400

        add back coda_oss;;filesystem::path

    commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
    Merge: ab1348f5e 664d2c219
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 14:03:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 13:27:42 2021 -0400

        account for removed coda-oss overloads

    commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:50:01 2021 -0400

        build using C++17 features

    commit 899e6158a65262649190c0de909ea9c620176831
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:21:10 2021 -0400

        sys/Filesystem.h -> std/filesystem

    commit 3d28513e4c9cd307891c65c43113616878eeefe8
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:56:56 2021 -0400

        WAF dependencies for "scene"

    commit a22f195284c320b58c82272998d2d3d32715eb50
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:46:25 2021 -0400

        fix coda-oss unittest dependencies

    commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:27:35 2021 -0400

        latest from coda-oss

    commit b00fab77e92c86b3b101536730870c46600cf578
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:38:50 2021 -0400

        updates from coda-oss and nitro

    commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:01:36 2021 -0400

        more coda-oss changes

    commit 30afeeac677873c24c72b53796a8768525786f9a
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:27:21 2021 -0400

        use new coda-oss "std" headers

    commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
   …
JDanielSmith pushed a commit that referenced this pull request Oct 4, 2021
* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* latest from "nitro"

* Squashed commit of the following:

commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 17:11:45 2021 -0400

    oops ... checked in TestTestTest enum

commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
Merge: 25d3f9be7 dabb8ba68
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 15:46:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 14:02:28 2021 -0400

    Squashed commit of the following:

    commit bf16b368e76062f2e325193a2ab0972bb56987c8
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 12:44:36 2021 -0400

        let macros do the job of repeating SIX_Enum_map_entry_

    commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 11:06:08 2021 -0400

        macros for Enums; these are quite a bit simpler than SIX

    commit ff3756734545d5f1619e8366c5809c63cfec792e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 10:00:03 2021 -0400

        hook up macros for creating Enums in NITRO

commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
Merge: 1dfd650e1 8bbdb1d75
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:50:18 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 1dfd650e1a4cce160f4c43ced2db761b58183550
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:49:32 2021 -0400

    tweak copyright notices

commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 08:45:23 2021 -0400

    make test data even more visible with "[****************]"

commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:53:38 2021 -0400

    be sure std::span<std::byte> is the right size

commit d8d30eade99950557439081bea8320dab54895be
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:47:11 2021 -0400

    switch back to the old writing code; it seems to work better than writeAsNITF() ???

commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:12:43 2021 -0400

    getRawData() shouldn't return the entire temp buffer

commit 61617482b5414a4dd03fb73398a0266654b7d99a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 12:06:50 2021 -0400

    more testing to be sure everything is in-sync

commit e0595099e42b97762d16dfb1aee3818cf0c92901
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:43:24 2021 -0400

    more shared code

commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:02:25 2021 -0400

    reduce some duplicated unit-test code

commit cccf0471d1036003364dd365581a89b4fb7a23a1
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:53:35 2021 -0400

    use NITFReadComplexXMLControl in a few more places

commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:21:13 2021 -0400

    use NITFReadComplexXMLControl in more code

commit 001fd11915491730ddd0e1011140d110196fb325
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:46:25 2021 -0400

    change readFromNITF() to use NITFReadComplexXMLControl utility

commit 517abad4270833ff29e8714c2bec9ce9b9c46242
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:10:21 2021 -0400

    combine NITFReadControl and XMLControlRegistry into a single class

commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:30:30 2021 -0400

    be sure two different ways of reading give the same results

commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:22:38 2021 -0400

    readFromNITF() was wrong, so very wrong ...

commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:45:29 2021 -0400

    move should be "noexcept"

commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:05:19 2021 -0400

    the python bindings are lame ... leave them as-is for now

commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 13:52:32 2021 -0400

    remove no-longer-needed test code

commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 12:31:26 2021 -0400

    remove unit-test only routines from Utilities:: API

commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:55:14 2021 -0400

    simplify more code using Python-like routines

commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:38:30 2021 -0400

    borrow more routines from Python bindings to simplify code

commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:19:33 2021 -0400

    tweak setLogger()

commit dc3937f60828508f339ad17376cae3dd1d2180c8
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:06:54 2021 -0400

    readFromNITF() and writeAsNITF() from Python bindings

commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:45:37 2021 -0400

    use the template-ized version of addCreator() everywhere

commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
Merge: 070b8e8a0 5e4d542ab
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:10:13 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 10:03:10 2021 -0400

    use a normal "enum class" for Subcategory too

commit 52a54c8a538370daae32c47546c07b6605fbc7f9
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:52:33 2021 -0400

    store values in map to avoid a bunch of "if" checks and duplicated code

commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:22:51 2021 -0400

    "enum class" is slightly less code than static member data

commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:11:27 2021 -0400

    to_string() and from_string()

commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 08:26:17 2021 -0400

    test reading in the file we just created

commit b3a99955f8142be79d608ab8b2e5b3a82d550516
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 15:25:27 2021 -0400

    simplify creation of nitf::BandInfo

commit 1648f9f118d283c92773010ec2479f7493bdfc60
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:49:41 2021 -0400

    use the same utility routine for reading

commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:27:14 2021 -0400

    try to read in raw data

commit d4168c3192941257a04c7e73a3541e856848ed7b
Merge: 77df326c8 559f7e6e4
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 11:07:19 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 77df326c87c25f6a1bc40292be338cd915cd5c46
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 10:03:02 2021 -0400

    utility function to get the raw data - w/o converting to std::complex<float>

commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 18:00:02 2021 -0400

    can use entire image in non-DEBUG code

commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 14:12:07 2021 -0400

    image is way too big for DEBUG code

commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:55:26 2021 -0400

    cutoff should be squared

commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:20:48 2021 -0400

    Now that everything is in place, don't need quite as many template functions

commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 11:55:36 2021 -0400

    "results" can also be a std::span instead of a std::vector

commit 98c4a83508a31208c095aa99f78095798a0b1645
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 10:50:55 2021 -0400

    very strict rules for constexpr in C++11

commit b5946454ef455feda694d78065655259312b37d9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:58:38 2021 -0400

    common code to read the 8bit_ampphs files

commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:35:20 2021 -0400

    simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

commit b587908f7bc775b1bc9578f724b394e7bc6a5903
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:07:20 2021 -0400

    don't need to pass pImpl back to lambda anymore

commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:40:21 2021 -0400

    fix GCC build errors

commit bb2c9ab2591eef9a6556963bd802756b70594a1c
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:22:21 2021 -0400

    internal to SIX, images are always complex<float>

commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:01:30 2021 -0400

    reduce duplicate "adapters" code and make it more type-safe

commit cd05e03199cf6a9358ebb3c79607e834194a3c51
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 14:24:24 2021 -0400

    tweak unit-test

commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 13:31:04 2021 -0400

    KDTree = defaults must be in implementation file because Impl is an incomplete type

commit f1aef291109777ac0be4372f76da4d460e083b95
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:55:17 2021 -0400

    reduce more duplicated code

commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:23:16 2021 -0400

    hookup async version of from_AMP8I_PHS8I()

commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 11:56:55 2021 -0400

    reduce code duplication

commit c4881433f678c4f8244eb4d234828ef7b687f0dd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 10:04:58 2021 -0400

    use mt::transform_async()

commit 77674a99a1f1f8c44275e9452bf19b942292bc86
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 09:53:06 2021 -0400

    tweak to_AMP8I_PHS8I() signatures

commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:56:52 2021 -0400

    remove no-longer-needed utility routine

commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
Merge: 54ba2521e 7262842a7
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:47:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 54ba2521e878e262d2440e30f5d7f66c876bf853
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:46:11 2021 -0400

    allow callers to explicitly request parallel implementaton

commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
Merge: 8f480a011 2e984a786
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:11:30 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:04:02 2021 -0400

    fix compile errors; simplify nearest_neighbor()

commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:48:42 2021 -0400

    async code

commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:47:04 2021 -0400

    pass around a priority_queue so that k_nearest_neighbors() is thread-safe

commit f4524378ce744b73c4e9e86873c24be37e1351fe
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 08:39:38 2021 -0400

    making KDTree a template is just too clever for our needs

commit 015ca71daef891bb242e3a8172b4445079dd6faf
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:20:44 2021 -0400

    need template<> for specializing

commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:12:23 2021 -0400

    unit-test for KDTree

commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:50:19 2021 -0400

    use the KDTree to convert from a std::complex<float> to amp/value

commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:06:54 2021 -0400

    need our own <std/memory> with GCC

commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 15:27:18 2021 -0400

    fix KDTree.h #include path

commit c742932515dba401935d8900035b75c69bb61683
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 14:48:52 2021 -0400

    KDTree implementation

commit 0341c633ca839fb9d89b65013f0497f0749e2288
Author: Dan Smith <[email protected]>
Date:   Wed Sep 1 12:44:56 2021 -0400

    use math::SinCos() to get sin() and cos() at the same time.

commit 974069cf8f296a55f35e2affeec3965a79525415
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:56:11 2021 -0400

    Squashed commit of the following:

    commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:21:30 2021 -0400

        latest from "nitro"

    commit 0527a629b781bc0531c4b5c20456617317f272a5
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:20:12 2021 -0400

        latest from coda-oss

    commit ee48c047678cad511d7a84f6a125f11deba88014
    Merge: 1096f4fd5 6cff53db9
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:19:29 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:17:33 2021 -0400

        latest from nitro and coda-oss

    commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
    Merge: 99ae196d3 ff3219eb1
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:01:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 99ae196d3861fb08a0785fe233679e4b61970186
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 12:17:41 2021 -0400

        account for NITRO changes

    commit c57cd954272f55da042262f5c8d5e88ed15f72ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:55:35 2021 -0400

        latest from "nitro"

    commit 9cd3c090116420237c9a948dbc2652d9eb044343
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:53:00 2021 -0400

        latest from coda-oss

    commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
    Merge: 76a8924ef c13678637
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:25:15 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:25:42 2021 -0400

        mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

    commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:06:07 2021 -0400

        latest from coda-oss

    commit bf3a4183d98778292b522b108af655b870f81f7c
    Merge: 1b96c7c82 242b834f6
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:01:51 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:10:19 2021 -0400

        latest from "nitro"

    commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:05:52 2021 -0400

        latest from coda-oss

    commit 06fae55d680fdac68314a7f7f3581babd8235911
    Merge: da2932b21 1334638dd
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:00:38 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit da2932b21a7c2796aee659b598813643bbb7b72a
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:30:13 2021 -0400

        latest from "nitro"

    commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:15:36 2021 -0400

        latest from coda-oss

    commit 1b15d837462f2fab03a77e449602a55076a1358e
    Merge: e219ad8c0 6fa3d44d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:13:22 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit e219ad8c0282ad9000cdf071089b979335ea79b6
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:54:34 2021 -0400

        latest from coda-oss

    commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
    Merge: 3681b8586 67830a063
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:51:23 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 3681b85865a306eebefe48584e00e1c4ca53f825
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:49:18 2021 -0400

        getCornersAsLatLons should be w/o "const"

    commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:39:41 2021 -0400

        latest from "nitro"

    commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:37:44 2021 -0400

        latest from coda-oss

    commit 0103074f0d1db84c55c01541571029f75feebfe9
    Merge: f4c89c4e9 8ab030569
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:24:19 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f4c89c4e950246ef7dc6ec307cc18104253c911a
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:29:14 2021 -0400

        latest from NITRO

    commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:26:48 2021 -0400

        latest from coda-oss

    commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
    Merge: 5a8c6a58b e708b980c
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 15:19:30 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:38:20 2021 -0400

        latest from nitro and coda-oss

    commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:07:40 2021 -0400

        tweaks for VS2019 16.10

    commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
    Merge: cc2d0548f 9390b614b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:01:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit cc2d0548f00a61fd27235d309504b1817dac5889
    Merge: dfb69caea 47301187b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:39 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit dfb69caeae5cc9aefb710673d11e6bf62e675734
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:34:58 2021 -0400

        changes from coda-oss to reduce code-analysis diagnostics

    commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:03:14 2021 -0400

        reduce use of .c_str() in "nitro"

    commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
    Merge: df166d5a2 8e10afb11
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:01:45 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit df166d5a2452aabb958ef5773d21097186a01a0d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:10:13 2021 -0400

        latest from "nitro" and "coda-oss"

    commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
    Merge: ef2d1fee0 50bbbb573
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:05:57 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
    Author: Dan Smith <[email protected]>
    Date:   Tue May 11 10:41:21 2021 -0400

        build NITRO @ /W4

    commit a4f624b985335b3633a5804e14b9819c293cf3a0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:38:51 2021 -0400

        be sure NITRO validation changes don't break SIX unittests

    commit 2bb3a4e4582046435e42cb53462598b824fc2685
    Merge: 0591d37c0 76c1dc1dc
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:34:01 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0591d37c0f46402a7b467f8d04c292426cb9d089
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 13:27:14 2021 -0400

        latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

    commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:58:24 2021 -0400

        explicitly list SegmentMemorySource() overloads

    commit f273b6d036a25fdf6899af195069ae88bedc1218
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:13:08 2021 -0400

        build w/o errors when nitf-c++ is a DLL

    commit 9faad061720737c0abc35b33192280a3243740bc
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:45:13 2021 -0400

        latest from "nitro" to support nitf-c++ as a DLL/shared-library

    commit f20557ace1f491f6597cf8f03ce873b0c494103e
    Merge: 5df916362 27b8f6aa5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:31:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5df916362cec21608631c5d9ac0444ca1b6c339b
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:09:53 2021 -0400

        updates from "nitro"

    commit dc070a143163f920e11f66768fded2876a1277af
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:07:44 2021 -0400

        latest from coda-oss

    commit 733a255827f4c031ac654959189cd65358cecafb
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:01:43 2021 -0400

        latest from nitro

    commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:55:06 2021 -0400

        latest from coda-oss and nitro

    commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 09:08:27 2021 -0400

        lost sys/Conf.h #include

    commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 08:36:41 2021 -0400

        updates from "nitro"

    commit 24e1ee592c1979e0d91b92b715377356f03cedff
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:49:21 2021 -0400

        latest from coda-oss

    commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 09:35:04 2021 -0400

        more code-analysis diagnostics fixes from coda-oss

    commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 16:29:00 2021 -0400

        latest from coda-oss to reduce compiler warnings

    commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 12:54:49 2021 -0400

        coda-oss updates to reduce compiler warnings/code-analysis diagnostics

    commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:19:28 2021 -0400

        latest from coda-oss

    commit 74491f15ab390f4a0372e14de3008bf3d850aece
    Merge: 37b4a362b de6c5fae4
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:17:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 17:39:49 2021 -0400

        another update to coda-oss to get rid of code-analysis diagnostics

    commit 582f71ac9689ee028f99523cce4772c20102a709
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 09:02:51 2021 -0400

        updates from coda-oss to remove compiler warnings

    commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:38:10 2021 -0400

        tweaks to python wrappers from coda-oss

    commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
    Merge: c77366127 1a7f2f328
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:34:07 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit c77366127448c8d9ca8c1a12d79df31707c8db19
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 10:26:53 2021 -0400

        latest from "coda-oss" and "nitro"

    commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
    Merge: 0319e7076 4ea37a20f
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 3 10:45:52 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
    Merge: 1dfc03417 788e7846d
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 18:17:32 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:21:06 2021 -0400

        forgot to add new "coda_oss" directory

    commit 78ec6f69a6f08f564fd98ab678c501e34117200e
    Merge: f105c98ab a5910ffd2
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:00:53 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f105c98ab9a54dc87efc7b266662b65c3e176007
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 16:54:27 2021 -0400

        add back coda_oss;;filesystem::path

    commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
    Merge: ab1348f5e 664d2c219
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 14:03:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 13:27:42 2021 -0400

        account for removed coda-oss overloads

    commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:50:01 2021 -0400

        build using C++17 features

    commit 899e6158a65262649190c0de909ea9c620176831
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:21:10 2021 -0400

        sys/Filesystem.h -> std/filesystem

    commit 3d28513e4c9cd307891c65c43113616878eeefe8
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:56:56 2021 -0400

        WAF dependencies for "scene"

    commit a22f195284c320b58c82272998d2d3d32715eb50
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:46:25 2021 -0400

        fix coda-oss unittest dependencies

    commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:27:35 2021 -0400

        latest from coda-oss

    commit b00fab77e92c86b3b101536730870c46600cf578
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:38:50 2021 -0400

        updates from coda-oss and nitro

    commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:01:36 2021 -0400

        more coda-oss changes

    commit 30afeeac677873c24c72b53796a8768525786f9a
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:27:21 2021 -0400

        use new coda-oss "std" headers

    commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
    Author: Dan Smith <[email protected]>
    Date:   Wed…
JDanielSmith pushed a commit that referenced this pull request Oct 4, 2021
* 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

* 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 c++11 (#359)

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* get rid of hard-coded paths with <filesystem> (#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 <filesystem> 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

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* 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 <filesystem> 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

* 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 <filesystem>

* 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 <filesystem>

* 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

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* 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 <filesystem> 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 <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* 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 "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 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"

* update "nitro" to get SegmentMemorySource overloads

* 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

* 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()

* 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()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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

* 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

* 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 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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"

* 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"

* 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 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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" (#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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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"

* 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"

* 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<T> 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

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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

* xml,lite is a bit easier to use

* fix DownsamplingMethod enum

* slam in latest from "master"

* add build and cmake directories

* expose calculateWeightFunction(), simplify implementation

* don't check-in CMakeSettings.json

* Squashed commit of the following:

commit 23344344f58a1a8f3f920a46701bdb04a6b3e2a9
Author: Dan Smith <[email protected]>
Date:   Mon Oct 4 15:36:26 2021 -0400

    build against CMake-generated coda-oss

commit 72593d7b3ff175253c433445083ecd68e54e0dc2
Author: Dan Smith <[email protected]>
Date:   Mon Oct 4 15:12:49 2021 -0400

    latest from "nitro"

commit 57eb5175992b96772ae4d22ae0a6021f64c07a8a
Author: Dan Smith <[email protected]>
Date:   Mon Oct 4 15:11:06 2021 -0400

    latest from coda-oss

commit 23d1de1d51d8e05c2c0862f25e5978ab9591a9c8
Merge: 96b5ecfb0 d5a5f281e
Author: Dan Smith <[email protected]>
Date:   Mon Oct 4 15:08:51 2021 -0400

    Merge branch 'master' into develop/update_externals

commit 96b5ecfb04ef2fc192ac74b99aac9e363e05bd49
Author: Dan Smith <[email protected]>
Date:   Fri Sep 17 09:09:22 2021 -0400

    latest from "nitro"

commit 52e04e9d119ab921639801396520662c24cb205e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 17 09:06:18 2021 -0400

    latest from coda-oss

commit fc25dcb4d73f54041f6fec97db45f210c64b0fe5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 17 09:03:19 2021 -0400

    Squashed commit of the following:

    commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 17:11:45 2021 -0400

        oops ... checked in TestTestTest enum

    commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
    Merge: 25d3f9be7 dabb8ba68
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 15:46:26 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 14:02:28 2021 -0400

        Squashed commit of the following:

        commit bf16b368e76062f2e325193a2ab0972bb56987c8
        Author: Dan Smith <[email protected]>
        Date:   Thu Sep 16 12:44:36 2021 -0400

            let macros do the job of repeating SIX_Enum_map_entry_

        commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
        Author: Dan Smith <[email protected]>
        Date:   Thu Sep 16 11:06:08 2021 -0400

            macros for Enums; these are quite a bit simpler than SIX

        commit ff3756734545d5f1619e8366c5809c63cfec792e
        Author: Dan Smith <[email protected]>
        Date:   Thu Sep 16 10:00:03 2021 -0400

            hook up macros for creating Enums in NITRO

    commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
    Merge: 1dfd650e1 8bbdb1d75
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 15 10:50:18 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 1dfd650e1a4cce160f4c43ced2db761b58183550
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 15 10:49:32 2021 -0400

        tweak copyright notices

    commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 15 08:45:23 2021 -0400

        make test data even more visible with "[****************]"

    commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 14:53:38 2021 -0400

        be sure std::span<std::byte> is the right size

    commit d8d30eade99950557439081bea8320dab54895be
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 14:47:11 2021 -0400

        switch back to the old writing code; it seems to work better than writeAsNITF() ???

    commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 14:12:43 2021 -0400

        getRawData() shouldn't return the entire temp buffer

    commit 61617482b5414a4dd03fb73398a0266654b7d99a
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 12:06:50 2021 -0400

        more testing to be sure everything is in-sync

    commit e0595099e42b97762d16dfb1aee3818cf0c92901
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 11:43:24 2021 -0400

        more shared code

    commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 14 11:02:25 2021 -0400

        reduce some duplicated unit-test code

    commit cccf0471d1036003364dd365581a89b4fb7a23a1
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 17:53:35 2021 -0400

        use NITFReadComplexXMLControl in a few more places

    commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 17:21:13 2021 -0400

        use NITFReadComplexXMLControl in more code

    commit 001fd11915491730ddd0e1011140d110196fb325
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 16:46:25 2021 -0400

        change readFromNITF() to use NITFReadComplexXMLControl utility

    commit 517abad4270833ff29e8714c2bec9ce9b9c46242
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 16:10:21 2021 -0400

        combine NITFReadControl and XMLControlRegistry into a single class

    commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 15:30:30 2021 -0400

        be sure two different ways of reading give the same results

    commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 15:22:38 2021 -0400

        readFromNITF() was wrong, so very wrong ...

    commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 14:45:29 2021 -0400

        move should be "noexcept"

    commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 14:05:19 2021 -0400

        the python bindings are lame ... leave them as-is for now

    commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 13:52:32 2021 -0400

        remove no-longer-needed test code

    commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 12:31:26 2021 -0400

        remove unit-test only routines from Utilities:: API

    commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 11:55:14 2021 -0400

        simplify more code using Python-like routines

    commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 11:38:30 2021 -0400

        borrow more routines from Python bindings to simplify code

    commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 10:19:33 2021 -0400

        tweak setLogger()

    commit dc3937f60828508f339ad17376cae3dd1d2180c8
    Author: Dan Smith <[email protected]>
    Date:   Mon Sep 13 10:06:54 2021 -0400

        readFromNITF() and writeAsNITF() from Python bindings

    commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 11:45:37 2021 -0400

        use the template-ized version of addCreator() everywhere

    commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
    Merge: 070b8e8a0 5e4d542ab
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 11:10:13 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 10:03:10 2021 -0400

        use a normal "enum class" for Subcategory too

    commit 52a54c8a538370daae32c47546c07b6605fbc7f9
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 09:52:33 2021 -0400

        store values in map to avoid a bunch of "if" checks and duplicated code

    commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 09:22:51 2021 -0400

        "enum class" is slightly less code than static member data

    commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 09:11:27 2021 -0400

        to_string() and from_string()

    commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 10 08:26:17 2021 -0400

        test reading in the file we just created

    commit b3a99955f8142be79d608ab8b2e5b3a82d550516
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 9 15:25:27 2021 -0400

        simplify creation of nitf::BandInfo

    commit 1648f9f118d283c92773010ec2479f7493bdfc60
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 9 13:49:41 2021 -0400

        use the same utility routine for reading

    commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 9 13:27:14 2021 -0400

        try to read in raw data

    commit d4168c3192941257a04c7e73a3541e856848ed7b
    Merge: 77df326c8 559f7e6e4
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 9 11:07:19 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 77df326c87c25f6a1bc40292be338cd915cd5c46
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 9 10:03:02 2021 -0400

        utility function to get the raw data - w/o converting to std::complex<float>

    commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 18:00:02 2021 -0400

        can use entire image in non-DEBUG code

    commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 14:12:07 2021 -0400

        image is way too big for DEBUG code

    commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 12:55:26 2021 -0400

        cutoff should be squared

    commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 12:20:48 2021 -0400

        Now that everything is in place, don't need quite as many template functions

    commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 11:55:36 2021 -0400

        "results" can also be a std::span instead of a std::vector

    commit 98c4a83508a31208c095aa99f78095798a0b1645
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 10:50:55 2021 -0400

        very strict rules for constexpr in C++11

    commit b5946454ef455feda694d78065655259312b37d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 09:58:38 2021 -0400

        common code to read the 8bit_ampphs files

    commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 09:35:20 2021 -0400

        simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

    commit b587908f7bc775b1bc9578f724b394e7bc6a5903
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 8 09:07:20 2021 -0400

        don't need to pass pImpl back to lambda anymore

    commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 17:40:21 2021 -0400

        fix GCC build errors

    commit bb2c9ab2591eef9a6556963bd802756b70594a1c
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 17:22:21 2021 -0400

        internal to SIX, images are always complex<float>

    commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 17:01:30 2021 -0400

        reduce duplicate "adapters" code and make it more type-safe

    commit cd05e03199cf6a9358ebb3c79607e834194a3c51
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 14:24:24 2021 -0400

        tweak unit-test

    commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 13:31:04 2021 -0400

        KDTree = defaults must be in implementation file because Impl is an incomplete type

    commit f1aef291109777ac0be4372f76da4d460e083b95
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 12:55:17 2021 -0400

        reduce more duplicated code

    commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 12:23:16 2021 -0400

        hookup async version of from_AMP8I_PHS8I()

    commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 11:56:55 2021 -0400

        reduce code duplication

    commit c4881433f678c4f8244eb4d234828ef7b687f0dd
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 10:04:58 2021 -0400

        use mt::transform_async()

    commit 77674a99a1f1f8c44275e9452bf19b942292bc86
    Author: Dan Smith <[email protected]>
    Date:   Tue Sep 7 09:53:06 2021 -0400

        tweak to_AMP8I_PHS8I() signatures

    commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 11:56:52 2021 -0400

        remove no-longer-needed utility routine

    commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
    Merge: 54ba2521e 7262842a7
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 11:47:26 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 54ba2521e878e262d2440e30f5d7f66c876bf853
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 11:46:11 2021 -0400

        allow callers to explicitly request parallel implementaton

    commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
    Merge: 8f480a011 2e984a786
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 11:11:30 2021 -0400

        Merge branch 'master' into feature/8AMPI_PHSI

    commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 11:04:02 2021 -0400

        fix compile errors; simplify nearest_neighbor()

    commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 10:48:42 2021 -0400

        async code

    commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 10:47:04 2021 -0400

        pass around a priority_queue so that k_nearest_neighbors() is thread-safe

    commit f4524378ce744b73c4e9e86873c24be37e1351fe
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 3 08:39:38 2021 -0400

        making KDTree a template is just too clever for our needs

    commit 015ca71daef891bb242e3a8172b4445079dd6faf
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 17:20:44 2021 -0400

        need template<> for specializing

    commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 17:12:23 2021 -0400

        unit-test for KDTree

    commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 16:50:19 2021 -0400

        use the KDTree to convert from a std::complex<float> to amp/value

    commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 16:06:54 2021 -0400

        need our own <std/memory> with GCC

    commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 15:27:18 2021 -0400

        fix KDTree.h #include path

    commit c742932515dba401935d8900035b75c69bb61683
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 2 14:48:52 2021 -0400

        KDTree implementation

    commit 0341c633ca839fb9d89b65013f0497f0749e2288
    Author: Dan Smith <[email protected]>
    Date:   Wed Sep 1 12:44:56 2021 -0400

        use math::SinCos() to get sin() and cos() at the same time.

    commit 974069cf8f296a55f35e2affeec3965a79525415
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:56:11 2021 -0400

        Squashed commit of the following:

        commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
        Author: Dan Smith <[email protected]>
        Date:   Tue Aug 31 12:21:30 2021 -0400

            latest from "nitro"

        commit 0527a629b781bc0531c4b5c20456617317f272a5
        Author: Dan Smith <[email protected]>
        Date:   Tue Aug 31 12:20:12 2021 -0400

            latest from coda-oss

        commit ee48c047678cad511d7a84f6a125f11deba88014
        Merge: 1096f4fd5 6cff53db9
        Author: Dan Smith <[email protected]>
        Date:   Tue Aug 31 12:19:29 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 14:17:33 2021 -0400

            latest from nitro and coda-oss

        commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
        Merge: 99ae196d3 ff3219eb1
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 14:01:46 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 99ae196d3861fb08a0785fe233679e4b61970186
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 12:17:41 2021 -0400

            account for NITRO changes

        commit c57cd954272f55da042262f5c8d5e88ed15f72ce
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 11:55:35 2021 -0400

            latest from "nitro"

        commit 9cd3c090116420237c9a948dbc2652d9eb044343
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 11:53:00 2021 -0400

            latest from coda-oss

        commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
        Merge: 76a8924ef c13678637
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 11:25:15 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
        Author: Dan Smith <[email protected]>
        Date:   Mon Aug 16 09:25:42 2021 -0400

            mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

        commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
        Author: Dan Smith <[email protected]>
        Date:   Mon Aug 16 09:06:07 2021 -0400

            latest from coda-oss

        commit bf3a4183d98778292b522b108af655b870f81f7c
        Merge: 1b96c7c82 242b834f6
        Author: Dan Smith <[email protected]>
        Date:   Mon Aug 16 09:01:51 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 11:10:19 2021 -0400

            latest from "nitro"

        commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 11:05:52 2021 -0400

            latest from coda-oss

        commit 06fae55d680fdac68314a7f7f3581babd8235911
        Merge: da2932b21 1334638dd
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 11:00:38 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit da2932b21a7c2796aee659b598813643bbb7b72a
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 4 10:30:13 2021 -0400

            latest from "nitro"

        commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 4 10:15:36 2021 -0400

            latest from coda-oss

        commit 1b15d837462f2fab03a77e449602a55076a1358e
        Merge: e219ad8c0 6fa3d44d9
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 4 10:13:22 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit e219ad8c0282ad9000cdf071089b979335ea79b6
        Author: Dan Smith <[email protected]>
        Date:   Wed Jun 23 10:54:34 2021 -0400

            latest from coda-oss

        commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
        Merge: 3681b8586 67830a063
        Author: Dan Smith <[email protected]>
        Date:   Wed Jun 23 10:51:23 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 3681b85865a306eebefe48584e00e1c4ca53f825
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 09:49:18 2021 -0400

            getCornersAsLatLons should be w/o "const"

        commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 09:39:41 2021 -0400

            latest from "nitro"

        commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 09:37:44 2021 -0400

            latest from coda-oss

        commit 0103074f0d1db84c55c01541571029f75feebfe9
        Merge: f4c89c4e9 8ab030569
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 09:24:19 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit f4c89c4e950246ef7dc6ec307cc18104253c911a
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 16:29:14 2021 -0400

            latest from NITRO

        commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 16:26:48 2021 -0400

            latest from coda-oss

        commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
        Merge: 5a8c6a58b e708b980c
        Author: Dan Smith <[email protected]>
        Date:   Thu May 27 15:19:30 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
        Author: Dan Smith <[email protected]>
        Date:   Thu May 27 13:38:20 2021 -0400

            latest from nitro and coda-oss

        commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
        Author: Dan Smith <[email protected]>
        Date:   Wed May 26 10:07:40 2021 -0400

            tweaks for VS2019 16.10

        commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
        Merge: cc2d0548f 9390b614b
        Author: Dan Smith <[email protected]>
        Date:   Mon May 24 16:01:09 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit cc2d0548f00a61fd27235d309504b1817dac5889
        Merge: dfb69caea 47301187b
        Author: Dan Smith <[email protected]>
        Date:   Mon May 24 15:17:39 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit dfb69caeae5cc9aefb710673d11e6bf62e675734
        Author: Dan Smith <[email protected]>
        Date:   Mon May 24 14:34:58 2021 -0400

            changes from coda-oss to reduce code-analysis diagnostics

        commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
        Author: Dan Smith <[email protected]>
        Date:   Wed May 19 16:03:14 2021 -0400

            reduce use of .c_str() in "nitro"

        commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
        Merge: df166d5a2 8e10afb11
        Author: Dan Smith <[email protected]>
        Date:   Wed May 19 16:01:45 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit df166d5a2452aabb958ef5773d21097186a01a0d
        Author: Dan Smith <[email protected]>
        Date:   Mon May 17 11:10:13 2021 -0400

            latest from "nitro" and "coda-oss"

        commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
        Merge: ef2d1fee0 50bbbb573
        Author: Dan Smith <[email protected]>
        Date:   Mon May 17 11:05:57 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
        Author: Dan Smith <[email protected]>
        Date:   Tue May 11 10:41:21 2021 -0400

            build NITRO @ /W4

        commit a4f624b985335b3633a5804e14b9819c293cf3a0
        Author: Dan Smith <[email protected]>
        Date:   Sat May 8 12:38:51 2021 -0400

            be sure NITRO validation changes don't break SIX unittests

        commit 2bb3a4e4582046435e42cb53462598b824fc2685
        Merge: 0591d37c0 76c1dc1dc
        Author: Dan Smith <[email protected]>
        Date:   Sat May 8 12:34:01 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 0591d37c0f46402a7b467f8d04c292426cb9d089
        Author: Dan Smith <[email protected]>
        Date:   Tue May 4 13:27:14 2021 -0400

            latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

        commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
        Author: Dan Smith <[email protected]>
        Date:   Mon May 3 13:58:24 2021 -0400

            explicitly list SegmentMemorySource() overloads

        commit f273b6d036a25fdf6899af195069ae88bedc1218
        Author: Dan Smith <[email protected]>
        Date:   Mon May 3 13:13:08 2021 -0400

            build w/o errors when nitf-c++ is a DLL

        commit 9faad061720737c0abc35b33192280a3243740bc
        Author: Dan Smith <[email protected]>
        Date:   Mon May 3 11:45:13 2021 -0400

            latest from "nitro" to support nitf-c++ as a DLL/shared-library

        commit f20557ace1f491f6597cf8f03ce873b0c494103e
        Merge: 5df916362 27b8f6aa5
        Author: Dan Smith <[email protected]>
        Date:   Mon May 3 11:31:16 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 5df916362cec21608631c5d9ac0444ca1b6c339b
        Author: Dan Smith <[email protected]>
        Date:   Mon Apr 26 12:09:53 2021 -0400

            updates from "nitro"

        commit dc070a143163f920e11f66768fded2876a1277af
        Author: Dan Smith <[email protected]>
        Date:   Mon Apr 26 12:07:44 2021 -0400

            latest from coda-oss

        commit 733a255827f4c031ac654959189cd65358cecafb
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 20 10:01:43 2021 -0400

            latest from nitro

        commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 20 09:55:06 2021 -0400

            latest from coda-oss and nitro

        commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
        Author: Dan Smith <[email protected]>
        Date:   Mon Apr 19 09:08:27 2021 -0400

            lost sys/Conf.h #include

        commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
        Author: Dan Smith <[email protected]>
        Date:   Mon Apr 19 08:36:41 2021 -0400

            updates from "nitro"

        commit 24e1ee592c1979e0d91b92b715377356f03cedff
        Author: Dan Smith <[email protected]>
        Date:   Sat Apr 17 16:49:21 2021 -0400

            latest from coda-oss

        commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
        Author: Dan Smith <[email protected]>
        Date:   Sat Apr 17 09:35:04 2021 -0400

            more code-analysis diagnostics fixes from coda-oss

        commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
        Author: Dan Smith <[email protected]>
        Date:   Wed Apr 14 16:29:00 2021 -0400

            latest from coda-oss to reduce compiler warnings

        commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
        Author: Dan Smith <[email protected]>
        Date:   Wed Apr 14 12:54:49 2021 -0400

            coda-oss updates to reduce compiler warnings/code-analysis diagnostics

        commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
        Author: Dan Smith <[email protected]>
        Date:   Wed Apr 14 09:19:28 2021 -0400

            latest from coda-oss

        commit 74491f15ab390f4a0372e14de3008bf3d850aece
        Merge: 37b4a362b de6c5fae4
        Author: Dan Smith <[email protected]>
        Date:   Wed Apr 14 09:17:09 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 13 17:39:49 2021 -0400

            another update to coda-oss to get rid of code-analysis diagnostics

        commit 582f71ac9689ee028f99523cce4772c20102a709
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 13 09:02:51 2021 -0400

            updates from coda-oss to remove compiler warnings

        commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 6 11:38:10 2021 -0400

            tweaks to python wrappers from coda-oss

        commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
        Merge: c77366127 1a7f2f328
        Author: Dan Smith <[email protected]>
        Date:   Tue Apr 6 11:34:07 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit c77366127448c8d9ca8c1a12d79df31707c8db19
        Author: Dan Smith <[email protected]>
        Date:   Mon Apr 5 10:26:53 2021 -0400

            latest from "coda-oss" and "nitro"

        commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
        Merge: 0319e7076 4ea37a20f
        Author: Dan Smith <[email protected]>
        Date:   Sat Apr 3 10:45:52 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
        Merge: 1dfc03417 788e7846d
        Author: Dan Smith <[email protected]>
        Date:   Sat Mar 27 18:17:32 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
        Author: Dan Smith <[email protected]>
        Date:   Sat Mar 27 17:21:06 2021 -0400

            forgot to add new "coda_oss" directory

        commit 78ec6f69a6f08f564fd98ab678c501e34117200e
        Merge: f105c98ab a5910ffd2
        Author: Dan Smith <[email protected]>
        Date:   Sat Mar 27 17:00:53 2021 -0400

            Merge branch 'master' into develop/update_externals

        commit f105c98ab9a54dc87efc7b266662b65c3e176007
        Author: Dan Smith <[email protected]>
        Date:   Sat Mar 27 16:54:27 2021 -0400

            add back coda_oss;;filesystem::path

        commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
        Merge: ab1348f5e 664d2c219
        Author: Dan Smith <[email protected]>
        Date:   Sat Mar 27 14:03:46 2021 -04…
JDanielSmith pushed a commit that referenced this pull request Oct 12, 2021
* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* latest from "nitro"

* Squashed commit of the following:

commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 17:11:45 2021 -0400

    oops ... checked in TestTestTest enum

commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
Merge: 25d3f9be7 dabb8ba68
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 15:46:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 14:02:28 2021 -0400

    Squashed commit of the following:

    commit bf16b368e76062f2e325193a2ab0972bb56987c8
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 12:44:36 2021 -0400

        let macros do the job of repeating SIX_Enum_map_entry_

    commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 11:06:08 2021 -0400

        macros for Enums; these are quite a bit simpler than SIX

    commit ff3756734545d5f1619e8366c5809c63cfec792e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 10:00:03 2021 -0400

        hook up macros for creating Enums in NITRO

commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
Merge: 1dfd650e1 8bbdb1d75
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:50:18 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 1dfd650e1a4cce160f4c43ced2db761b58183550
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:49:32 2021 -0400

    tweak copyright notices

commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 08:45:23 2021 -0400

    make test data even more visible with "[****************]"

commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:53:38 2021 -0400

    be sure std::span<std::byte> is the right size

commit d8d30eade99950557439081bea8320dab54895be
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:47:11 2021 -0400

    switch back to the old writing code; it seems to work better than writeAsNITF() ???

commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:12:43 2021 -0400

    getRawData() shouldn't return the entire temp buffer

commit 61617482b5414a4dd03fb73398a0266654b7d99a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 12:06:50 2021 -0400

    more testing to be sure everything is in-sync

commit e0595099e42b97762d16dfb1aee3818cf0c92901
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:43:24 2021 -0400

    more shared code

commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:02:25 2021 -0400

    reduce some duplicated unit-test code

commit cccf0471d1036003364dd365581a89b4fb7a23a1
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:53:35 2021 -0400

    use NITFReadComplexXMLControl in a few more places

commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:21:13 2021 -0400

    use NITFReadComplexXMLControl in more code

commit 001fd11915491730ddd0e1011140d110196fb325
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:46:25 2021 -0400

    change readFromNITF() to use NITFReadComplexXMLControl utility

commit 517abad4270833ff29e8714c2bec9ce9b9c46242
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:10:21 2021 -0400

    combine NITFReadControl and XMLControlRegistry into a single class

commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:30:30 2021 -0400

    be sure two different ways of reading give the same results

commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:22:38 2021 -0400

    readFromNITF() was wrong, so very wrong ...

commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:45:29 2021 -0400

    move should be "noexcept"

commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:05:19 2021 -0400

    the python bindings are lame ... leave them as-is for now

commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 13:52:32 2021 -0400

    remove no-longer-needed test code

commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 12:31:26 2021 -0400

    remove unit-test only routines from Utilities:: API

commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:55:14 2021 -0400

    simplify more code using Python-like routines

commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:38:30 2021 -0400

    borrow more routines from Python bindings to simplify code

commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:19:33 2021 -0400

    tweak setLogger()

commit dc3937f60828508f339ad17376cae3dd1d2180c8
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:06:54 2021 -0400

    readFromNITF() and writeAsNITF() from Python bindings

commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:45:37 2021 -0400

    use the template-ized version of addCreator() everywhere

commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
Merge: 070b8e8a0 5e4d542ab
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:10:13 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 10:03:10 2021 -0400

    use a normal "enum class" for Subcategory too

commit 52a54c8a538370daae32c47546c07b6605fbc7f9
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:52:33 2021 -0400

    store values in map to avoid a bunch of "if" checks and duplicated code

commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:22:51 2021 -0400

    "enum class" is slightly less code than static member data

commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:11:27 2021 -0400

    to_string() and from_string()

commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 08:26:17 2021 -0400

    test reading in the file we just created

commit b3a99955f8142be79d608ab8b2e5b3a82d550516
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 15:25:27 2021 -0400

    simplify creation of nitf::BandInfo

commit 1648f9f118d283c92773010ec2479f7493bdfc60
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:49:41 2021 -0400

    use the same utility routine for reading

commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:27:14 2021 -0400

    try to read in raw data

commit d4168c3192941257a04c7e73a3541e856848ed7b
Merge: 77df326c8 559f7e6e4
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 11:07:19 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 77df326c87c25f6a1bc40292be338cd915cd5c46
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 10:03:02 2021 -0400

    utility function to get the raw data - w/o converting to std::complex<float>

commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 18:00:02 2021 -0400

    can use entire image in non-DEBUG code

commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 14:12:07 2021 -0400

    image is way too big for DEBUG code

commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:55:26 2021 -0400

    cutoff should be squared

commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:20:48 2021 -0400

    Now that everything is in place, don't need quite as many template functions

commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 11:55:36 2021 -0400

    "results" can also be a std::span instead of a std::vector

commit 98c4a83508a31208c095aa99f78095798a0b1645
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 10:50:55 2021 -0400

    very strict rules for constexpr in C++11

commit b5946454ef455feda694d78065655259312b37d9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:58:38 2021 -0400

    common code to read the 8bit_ampphs files

commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:35:20 2021 -0400

    simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

commit b587908f7bc775b1bc9578f724b394e7bc6a5903
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:07:20 2021 -0400

    don't need to pass pImpl back to lambda anymore

commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:40:21 2021 -0400

    fix GCC build errors

commit bb2c9ab2591eef9a6556963bd802756b70594a1c
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:22:21 2021 -0400

    internal to SIX, images are always complex<float>

commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:01:30 2021 -0400

    reduce duplicate "adapters" code and make it more type-safe

commit cd05e03199cf6a9358ebb3c79607e834194a3c51
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 14:24:24 2021 -0400

    tweak unit-test

commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 13:31:04 2021 -0400

    KDTree = defaults must be in implementation file because Impl is an incomplete type

commit f1aef291109777ac0be4372f76da4d460e083b95
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:55:17 2021 -0400

    reduce more duplicated code

commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:23:16 2021 -0400

    hookup async version of from_AMP8I_PHS8I()

commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 11:56:55 2021 -0400

    reduce code duplication

commit c4881433f678c4f8244eb4d234828ef7b687f0dd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 10:04:58 2021 -0400

    use mt::transform_async()

commit 77674a99a1f1f8c44275e9452bf19b942292bc86
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 09:53:06 2021 -0400

    tweak to_AMP8I_PHS8I() signatures

commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:56:52 2021 -0400

    remove no-longer-needed utility routine

commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
Merge: 54ba2521e 7262842a7
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:47:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 54ba2521e878e262d2440e30f5d7f66c876bf853
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:46:11 2021 -0400

    allow callers to explicitly request parallel implementaton

commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
Merge: 8f480a011 2e984a786
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:11:30 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:04:02 2021 -0400

    fix compile errors; simplify nearest_neighbor()

commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:48:42 2021 -0400

    async code

commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:47:04 2021 -0400

    pass around a priority_queue so that k_nearest_neighbors() is thread-safe

commit f4524378ce744b73c4e9e86873c24be37e1351fe
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 08:39:38 2021 -0400

    making KDTree a template is just too clever for our needs

commit 015ca71daef891bb242e3a8172b4445079dd6faf
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:20:44 2021 -0400

    need template<> for specializing

commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:12:23 2021 -0400

    unit-test for KDTree

commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:50:19 2021 -0400

    use the KDTree to convert from a std::complex<float> to amp/value

commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:06:54 2021 -0400

    need our own <std/memory> with GCC

commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 15:27:18 2021 -0400

    fix KDTree.h #include path

commit c742932515dba401935d8900035b75c69bb61683
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 14:48:52 2021 -0400

    KDTree implementation

commit 0341c633ca839fb9d89b65013f0497f0749e2288
Author: Dan Smith <[email protected]>
Date:   Wed Sep 1 12:44:56 2021 -0400

    use math::SinCos() to get sin() and cos() at the same time.

commit 974069cf8f296a55f35e2affeec3965a79525415
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:56:11 2021 -0400

    Squashed commit of the following:

    commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:21:30 2021 -0400

        latest from "nitro"

    commit 0527a629b781bc0531c4b5c20456617317f272a5
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:20:12 2021 -0400

        latest from coda-oss

    commit ee48c047678cad511d7a84f6a125f11deba88014
    Merge: 1096f4fd5 6cff53db9
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:19:29 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:17:33 2021 -0400

        latest from nitro and coda-oss

    commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
    Merge: 99ae196d3 ff3219eb1
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:01:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 99ae196d3861fb08a0785fe233679e4b61970186
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 12:17:41 2021 -0400

        account for NITRO changes

    commit c57cd954272f55da042262f5c8d5e88ed15f72ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:55:35 2021 -0400

        latest from "nitro"

    commit 9cd3c090116420237c9a948dbc2652d9eb044343
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:53:00 2021 -0400

        latest from coda-oss

    commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
    Merge: 76a8924ef c13678637
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:25:15 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:25:42 2021 -0400

        mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

    commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:06:07 2021 -0400

        latest from coda-oss

    commit bf3a4183d98778292b522b108af655b870f81f7c
    Merge: 1b96c7c82 242b834f6
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:01:51 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:10:19 2021 -0400

        latest from "nitro"

    commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:05:52 2021 -0400

        latest from coda-oss

    commit 06fae55d680fdac68314a7f7f3581babd8235911
    Merge: da2932b21 1334638dd
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:00:38 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit da2932b21a7c2796aee659b598813643bbb7b72a
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:30:13 2021 -0400

        latest from "nitro"

    commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:15:36 2021 -0400

        latest from coda-oss

    commit 1b15d837462f2fab03a77e449602a55076a1358e
    Merge: e219ad8c0 6fa3d44d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:13:22 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit e219ad8c0282ad9000cdf071089b979335ea79b6
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:54:34 2021 -0400

        latest from coda-oss

    commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
    Merge: 3681b8586 67830a063
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:51:23 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 3681b85865a306eebefe48584e00e1c4ca53f825
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:49:18 2021 -0400

        getCornersAsLatLons should be w/o "const"

    commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:39:41 2021 -0400

        latest from "nitro"

    commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:37:44 2021 -0400

        latest from coda-oss

    commit 0103074f0d1db84c55c01541571029f75feebfe9
    Merge: f4c89c4e9 8ab030569
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:24:19 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f4c89c4e950246ef7dc6ec307cc18104253c911a
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:29:14 2021 -0400

        latest from NITRO

    commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:26:48 2021 -0400

        latest from coda-oss

    commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
    Merge: 5a8c6a58b e708b980c
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 15:19:30 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:38:20 2021 -0400

        latest from nitro and coda-oss

    commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:07:40 2021 -0400

        tweaks for VS2019 16.10

    commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
    Merge: cc2d0548f 9390b614b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:01:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit cc2d0548f00a61fd27235d309504b1817dac5889
    Merge: dfb69caea 47301187b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:39 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit dfb69caeae5cc9aefb710673d11e6bf62e675734
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:34:58 2021 -0400

        changes from coda-oss to reduce code-analysis diagnostics

    commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:03:14 2021 -0400

        reduce use of .c_str() in "nitro"

    commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
    Merge: df166d5a2 8e10afb11
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:01:45 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit df166d5a2452aabb958ef5773d21097186a01a0d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:10:13 2021 -0400

        latest from "nitro" and "coda-oss"

    commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
    Merge: ef2d1fee0 50bbbb573
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:05:57 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
    Author: Dan Smith <[email protected]>
    Date:   Tue May 11 10:41:21 2021 -0400

        build NITRO @ /W4

    commit a4f624b985335b3633a5804e14b9819c293cf3a0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:38:51 2021 -0400

        be sure NITRO validation changes don't break SIX unittests

    commit 2bb3a4e4582046435e42cb53462598b824fc2685
    Merge: 0591d37c0 76c1dc1dc
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:34:01 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0591d37c0f46402a7b467f8d04c292426cb9d089
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 13:27:14 2021 -0400

        latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

    commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:58:24 2021 -0400

        explicitly list SegmentMemorySource() overloads

    commit f273b6d036a25fdf6899af195069ae88bedc1218
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:13:08 2021 -0400

        build w/o errors when nitf-c++ is a DLL

    commit 9faad061720737c0abc35b33192280a3243740bc
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:45:13 2021 -0400

        latest from "nitro" to support nitf-c++ as a DLL/shared-library

    commit f20557ace1f491f6597cf8f03ce873b0c494103e
    Merge: 5df916362 27b8f6aa5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:31:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5df916362cec21608631c5d9ac0444ca1b6c339b
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:09:53 2021 -0400

        updates from "nitro"

    commit dc070a143163f920e11f66768fded2876a1277af
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:07:44 2021 -0400

        latest from coda-oss

    commit 733a255827f4c031ac654959189cd65358cecafb
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:01:43 2021 -0400

        latest from nitro

    commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:55:06 2021 -0400

        latest from coda-oss and nitro

    commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 09:08:27 2021 -0400

        lost sys/Conf.h #include

    commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 08:36:41 2021 -0400

        updates from "nitro"

    commit 24e1ee592c1979e0d91b92b715377356f03cedff
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:49:21 2021 -0400

        latest from coda-oss

    commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 09:35:04 2021 -0400

        more code-analysis diagnostics fixes from coda-oss

    commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 16:29:00 2021 -0400

        latest from coda-oss to reduce compiler warnings

    commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 12:54:49 2021 -0400

        coda-oss updates to reduce compiler warnings/code-analysis diagnostics

    commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:19:28 2021 -0400

        latest from coda-oss

    commit 74491f15ab390f4a0372e14de3008bf3d850aece
    Merge: 37b4a362b de6c5fae4
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:17:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 17:39:49 2021 -0400

        another update to coda-oss to get rid of code-analysis diagnostics

    commit 582f71ac9689ee028f99523cce4772c20102a709
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 09:02:51 2021 -0400

        updates from coda-oss to remove compiler warnings

    commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:38:10 2021 -0400

        tweaks to python wrappers from coda-oss

    commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
    Merge: c77366127 1a7f2f328
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:34:07 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit c77366127448c8d9ca8c1a12d79df31707c8db19
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 10:26:53 2021 -0400

        latest from "coda-oss" and "nitro"

    commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
    Merge: 0319e7076 4ea37a20f
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 3 10:45:52 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
    Merge: 1dfc03417 788e7846d
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 18:17:32 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:21:06 2021 -0400

        forgot to add new "coda_oss" directory

    commit 78ec6f69a6f08f564fd98ab678c501e34117200e
    Merge: f105c98ab a5910ffd2
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:00:53 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f105c98ab9a54dc87efc7b266662b65c3e176007
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 16:54:27 2021 -0400

        add back coda_oss;;filesystem::path

    commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
    Merge: ab1348f5e 664d2c219
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 14:03:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 13:27:42 2021 -0400

        account for removed coda-oss overloads

    commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:50:01 2021 -0400

        build using C++17 features

    commit 899e6158a65262649190c0de909ea9c620176831
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:21:10 2021 -0400

        sys/Filesystem.h -> std/filesystem

    commit 3d28513e4c9cd307891c65c43113616878eeefe8
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:56:56 2021 -0400

        WAF dependencies for "scene"

    commit a22f195284c320b58c82272998d2d3d32715eb50
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:46:25 2021 -0400

        fix coda-oss unittest dependencies

    commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:27:35 2021 -0400

        latest from coda-oss

    commit b00fab77e92c86b3b101536730870c46600cf578
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:38:50 2021 -0400

        updates from coda-oss and nitro

    commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:01:36 2021 -0400

        more coda-oss changes

    commit 30afeeac677873c24c72b53796a8768525786f9a
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:27:21 2021 -0400

        use new coda-oss "std" headers

    commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:14:30 2021 -0400

        be sure coda-oss "std" files are copied

    c…
JDanielSmith pushed a commit that referenced this pull request Oct 20, 2021
* 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 <filesystem> (#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 <filesystem> 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* latest from "nitro"

* Squashed commit of the following:

commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 17:11:45 2021 -0400

    oops ... checked in TestTestTest enum

commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
Merge: 25d3f9be7 dabb8ba68
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 15:46:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 14:02:28 2021 -0400

    Squashed commit of the following:

    commit bf16b368e76062f2e325193a2ab0972bb56987c8
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 12:44:36 2021 -0400

        let macros do the job of repeating SIX_Enum_map_entry_

    commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 11:06:08 2021 -0400

        macros for Enums; these are quite a bit simpler than SIX

    commit ff3756734545d5f1619e8366c5809c63cfec792e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 10:00:03 2021 -0400

        hook up macros for creating Enums in NITRO

commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
Merge: 1dfd650e1 8bbdb1d75
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:50:18 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 1dfd650e1a4cce160f4c43ced2db761b58183550
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:49:32 2021 -0400

    tweak copyright notices

commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 08:45:23 2021 -0400

    make test data even more visible with "[****************]"

commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:53:38 2021 -0400

    be sure std::span<std::byte> is the right size

commit d8d30eade99950557439081bea8320dab54895be
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:47:11 2021 -0400

    switch back to the old writing code; it seems to work better than writeAsNITF() ???

commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:12:43 2021 -0400

    getRawData() shouldn't return the entire temp buffer

commit 61617482b5414a4dd03fb73398a0266654b7d99a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 12:06:50 2021 -0400

    more testing to be sure everything is in-sync

commit e0595099e42b97762d16dfb1aee3818cf0c92901
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:43:24 2021 -0400

    more shared code

commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:02:25 2021 -0400

    reduce some duplicated unit-test code

commit cccf0471d1036003364dd365581a89b4fb7a23a1
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:53:35 2021 -0400

    use NITFReadComplexXMLControl in a few more places

commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:21:13 2021 -0400

    use NITFReadComplexXMLControl in more code

commit 001fd11915491730ddd0e1011140d110196fb325
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:46:25 2021 -0400

    change readFromNITF() to use NITFReadComplexXMLControl utility

commit 517abad4270833ff29e8714c2bec9ce9b9c46242
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:10:21 2021 -0400

    combine NITFReadControl and XMLControlRegistry into a single class

commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:30:30 2021 -0400

    be sure two different ways of reading give the same results

commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:22:38 2021 -0400

    readFromNITF() was wrong, so very wrong ...

commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:45:29 2021 -0400

    move should be "noexcept"

commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:05:19 2021 -0400

    the python bindings are lame ... leave them as-is for now

commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 13:52:32 2021 -0400

    remove no-longer-needed test code

commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 12:31:26 2021 -0400

    remove unit-test only routines from Utilities:: API

commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:55:14 2021 -0400

    simplify more code using Python-like routines

commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:38:30 2021 -0400

    borrow more routines from Python bindings to simplify code

commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:19:33 2021 -0400

    tweak setLogger()

commit dc3937f60828508f339ad17376cae3dd1d2180c8
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:06:54 2021 -0400

    readFromNITF() and writeAsNITF() from Python bindings

commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:45:37 2021 -0400

    use the template-ized version of addCreator() everywhere

commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
Merge: 070b8e8a0 5e4d542ab
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:10:13 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 10:03:10 2021 -0400

    use a normal "enum class" for Subcategory too

commit 52a54c8a538370daae32c47546c07b6605fbc7f9
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:52:33 2021 -0400

    store values in map to avoid a bunch of "if" checks and duplicated code

commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:22:51 2021 -0400

    "enum class" is slightly less code than static member data

commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:11:27 2021 -0400

    to_string() and from_string()

commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 08:26:17 2021 -0400

    test reading in the file we just created

commit b3a99955f8142be79d608ab8b2e5b3a82d550516
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 15:25:27 2021 -0400

    simplify creation of nitf::BandInfo

commit 1648f9f118d283c92773010ec2479f7493bdfc60
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:49:41 2021 -0400

    use the same utility routine for reading

commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:27:14 2021 -0400

    try to read in raw data

commit d4168c3192941257a04c7e73a3541e856848ed7b
Merge: 77df326c8 559f7e6e4
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 11:07:19 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 77df326c87c25f6a1bc40292be338cd915cd5c46
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 10:03:02 2021 -0400

    utility function to get the raw data - w/o converting to std::complex<float>

commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 18:00:02 2021 -0400

    can use entire image in non-DEBUG code

commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 14:12:07 2021 -0400

    image is way too big for DEBUG code

commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:55:26 2021 -0400

    cutoff should be squared

commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:20:48 2021 -0400

    Now that everything is in place, don't need quite as many template functions

commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 11:55:36 2021 -0400

    "results" can also be a std::span instead of a std::vector

commit 98c4a83508a31208c095aa99f78095798a0b1645
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 10:50:55 2021 -0400

    very strict rules for constexpr in C++11

commit b5946454ef455feda694d78065655259312b37d9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:58:38 2021 -0400

    common code to read the 8bit_ampphs files

commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:35:20 2021 -0400

    simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

commit b587908f7bc775b1bc9578f724b394e7bc6a5903
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:07:20 2021 -0400

    don't need to pass pImpl back to lambda anymore

commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:40:21 2021 -0400

    fix GCC build errors

commit bb2c9ab2591eef9a6556963bd802756b70594a1c
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:22:21 2021 -0400

    internal to SIX, images are always complex<float>

commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:01:30 2021 -0400

    reduce duplicate "adapters" code and make it more type-safe

commit cd05e03199cf6a9358ebb3c79607e834194a3c51
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 14:24:24 2021 -0400

    tweak unit-test

commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 13:31:04 2021 -0400

    KDTree = defaults must be in implementation file because Impl is an incomplete type

commit f1aef291109777ac0be4372f76da4d460e083b95
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:55:17 2021 -0400

    reduce more duplicated code

commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:23:16 2021 -0400

    hookup async version of from_AMP8I_PHS8I()

commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 11:56:55 2021 -0400

    reduce code duplication

commit c4881433f678c4f8244eb4d234828ef7b687f0dd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 10:04:58 2021 -0400

    use mt::transform_async()

commit 77674a99a1f1f8c44275e9452bf19b942292bc86
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 09:53:06 2021 -0400

    tweak to_AMP8I_PHS8I() signatures

commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:56:52 2021 -0400

    remove no-longer-needed utility routine

commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
Merge: 54ba2521e 7262842a7
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:47:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 54ba2521e878e262d2440e30f5d7f66c876bf853
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:46:11 2021 -0400

    allow callers to explicitly request parallel implementaton

commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
Merge: 8f480a011 2e984a786
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:11:30 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:04:02 2021 -0400

    fix compile errors; simplify nearest_neighbor()

commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:48:42 2021 -0400

    async code

commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:47:04 2021 -0400

    pass around a priority_queue so that k_nearest_neighbors() is thread-safe

commit f4524378ce744b73c4e9e86873c24be37e1351fe
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 08:39:38 2021 -0400

    making KDTree a template is just too clever for our needs

commit 015ca71daef891bb242e3a8172b4445079dd6faf
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:20:44 2021 -0400

    need template<> for specializing

commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:12:23 2021 -0400

    unit-test for KDTree

commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:50:19 2021 -0400

    use the KDTree to convert from a std::complex<float> to amp/value

commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:06:54 2021 -0400

    need our own <std/memory> with GCC

commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 15:27:18 2021 -0400

    fix KDTree.h #include path

commit c742932515dba401935d8900035b75c69bb61683
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 14:48:52 2021 -0400

    KDTree implementation

commit 0341c633ca839fb9d89b65013f0497f0749e2288
Author: Dan Smith <[email protected]>
Date:   Wed Sep 1 12:44:56 2021 -0400

    use math::SinCos() to get sin() and cos() at the same time.

commit 974069cf8f296a55f35e2affeec3965a79525415
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:56:11 2021 -0400

    Squashed commit of the following:

    commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:21:30 2021 -0400

        latest from "nitro"

    commit 0527a629b781bc0531c4b5c20456617317f272a5
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:20:12 2021 -0400

        latest from coda-oss

    commit ee48c047678cad511d7a84f6a125f11deba88014
    Merge: 1096f4fd5 6cff53db9
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:19:29 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:17:33 2021 -0400

        latest from nitro and coda-oss

    commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
    Merge: 99ae196d3 ff3219eb1
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:01:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 99ae196d3861fb08a0785fe233679e4b61970186
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 12:17:41 2021 -0400

        account for NITRO changes

    commit c57cd954272f55da042262f5c8d5e88ed15f72ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:55:35 2021 -0400

        latest from "nitro"

    commit 9cd3c090116420237c9a948dbc2652d9eb044343
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:53:00 2021 -0400

        latest from coda-oss

    commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
    Merge: 76a8924ef c13678637
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:25:15 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:25:42 2021 -0400

        mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

    commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:06:07 2021 -0400

        latest from coda-oss

    commit bf3a4183d98778292b522b108af655b870f81f7c
    Merge: 1b96c7c82 242b834f6
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:01:51 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:10:19 2021 -0400

        latest from "nitro"

    commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:05:52 2021 -0400

        latest from coda-oss

    commit 06fae55d680fdac68314a7f7f3581babd8235911
    Merge: da2932b21 1334638dd
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:00:38 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit da2932b21a7c2796aee659b598813643bbb7b72a
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:30:13 2021 -0400

        latest from "nitro"

    commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:15:36 2021 -0400

        latest from coda-oss

    commit 1b15d837462f2fab03a77e449602a55076a1358e
    Merge: e219ad8c0 6fa3d44d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:13:22 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit e219ad8c0282ad9000cdf071089b979335ea79b6
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:54:34 2021 -0400

        latest from coda-oss

    commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
    Merge: 3681b8586 67830a063
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:51:23 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 3681b85865a306eebefe48584e00e1c4ca53f825
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:49:18 2021 -0400

        getCornersAsLatLons should be w/o "const"

    commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:39:41 2021 -0400

        latest from "nitro"

    commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:37:44 2021 -0400

        latest from coda-oss

    commit 0103074f0d1db84c55c01541571029f75feebfe9
    Merge: f4c89c4e9 8ab030569
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:24:19 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f4c89c4e950246ef7dc6ec307cc18104253c911a
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:29:14 2021 -0400

        latest from NITRO

    commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:26:48 2021 -0400

        latest from coda-oss

    commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
    Merge: 5a8c6a58b e708b980c
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 15:19:30 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:38:20 2021 -0400

        latest from nitro and coda-oss

    commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:07:40 2021 -0400

        tweaks for VS2019 16.10

    commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
    Merge: cc2d0548f 9390b614b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:01:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit cc2d0548f00a61fd27235d309504b1817dac5889
    Merge: dfb69caea 47301187b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:39 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit dfb69caeae5cc9aefb710673d11e6bf62e675734
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:34:58 2021 -0400

        changes from coda-oss to reduce code-analysis diagnostics

    commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:03:14 2021 -0400

        reduce use of .c_str() in "nitro"

    commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
    Merge: df166d5a2 8e10afb11
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:01:45 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit df166d5a2452aabb958ef5773d21097186a01a0d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:10:13 2021 -0400

        latest from "nitro" and "coda-oss"

    commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
    Merge: ef2d1fee0 50bbbb573
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:05:57 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
    Author: Dan Smith <[email protected]>
    Date:   Tue May 11 10:41:21 2021 -0400

        build NITRO @ /W4

    commit a4f624b985335b3633a5804e14b9819c293cf3a0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:38:51 2021 -0400

        be sure NITRO validation changes don't break SIX unittests

    commit 2bb3a4e4582046435e42cb53462598b824fc2685
    Merge: 0591d37c0 76c1dc1dc
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:34:01 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0591d37c0f46402a7b467f8d04c292426cb9d089
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 13:27:14 2021 -0400

        latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

    commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:58:24 2021 -0400

        explicitly list SegmentMemorySource() overloads

    commit f273b6d036a25fdf6899af195069ae88bedc1218
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:13:08 2021 -0400

        build w/o errors when nitf-c++ is a DLL

    commit 9faad061720737c0abc35b33192280a3243740bc
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:45:13 2021 -0400

        latest from "nitro" to support nitf-c++ as a DLL/shared-library

    commit f20557ace1f491f6597cf8f03ce873b0c494103e
    Merge: 5df916362 27b8f6aa5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:31:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5df916362cec21608631c5d9ac0444ca1b6c339b
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:09:53 2021 -0400

        updates from "nitro"

    commit dc070a143163f920e11f66768fded2876a1277af
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:07:44 2021 -0400

        latest from coda-oss

    commit 733a255827f4c031ac654959189cd65358cecafb
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:01:43 2021 -0400

        latest from nitro

    commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:55:06 2021 -0400

        latest from coda-oss and nitro

    commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 09:08:27 2021 -0400

        lost sys/Conf.h #include

    commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 08:36:41 2021 -0400

        updates from "nitro"

    commit 24e1ee592c1979e0d91b92b715377356f03cedff
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:49:21 2021 -0400

        latest from coda-oss

    commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 09:35:04 2021 -0400

        more code-analysis diagnostics fixes from coda-oss

    commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 16:29:00 2021 -0400

        latest from coda-oss to reduce compiler warnings

    commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 12:54:49 2021 -0400

        coda-oss updates to reduce compiler warnings/code-analysis diagnostics

    commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:19:28 2021 -0400

        latest from coda-oss

    commit 74491f15ab390f4a0372e14de3008bf3d850aece
    Merge: 37b4a362b de6c5fae4
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:17:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 17:39:49 2021 -0400

        another update to coda-oss to get rid of code-analysis diagnostics

    commit 582f71ac9689ee028f99523cce4772c20102a709
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 09:02:51 2021 -0400

        updates from coda-oss to remove compiler warnings

    commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:38:10 2021 -0400

        tweaks to python wrappers from coda-oss

    commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
    Merge: c77366127 1a7f2f328
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:34:07 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit c77366127448c8d9ca8c1a12d79df31707c8db19
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 10:26:53 2021 -0400

        latest from "coda-oss" and "nitro"

    commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
    Merge: 0319e7076 4ea37a20f
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 3 10:45:52 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
    Merge: 1dfc03417 788e7846d
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 18:17:32 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:21:06 2021 -0400

        forgot to add new "coda_oss" directory

    commit 78ec6f69a6f08f564fd98ab678c501e34117200e
    Merge: f105c98ab a5910ffd2
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:00:53 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f105c98ab9a54dc87efc7b266662b65c3e176007
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 16:54:27 2021 -0400

        add back coda_oss;;filesystem::path

    commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
    Merge: ab1348f5e 664d2c219
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 14:03:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 13:27:42 2021 -0400

        account for removed coda-oss overloads

    commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:50:01 2021 -0400

        build using C++17 features

    commit 899e6158a65262649190c0de909ea9c620176831
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:21:10 2021 -0400

        sys/Filesystem.h -> std/filesystem

    commit 3d28513e4c9cd307891c65c43113616878eeefe8
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:56:56 2021 -0400

        WAF dependencies for "scene"

    commit a22f195284c320b58c82272998d2d3d32715eb50
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:46:25 2021 -0400

        fix coda-oss unittest dependencies

    commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:27:35 2021 -0400

        latest from coda-oss

    commit b00fab77e92c86b3b101536730870c46600cf578
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:38:50 2021 -0400

        updates from coda-oss and nitro

    commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:01:36 2021 -0400

        more coda-oss changes

    commit 30afeeac677873c24c72b53796a8768525786f9a
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:27:21 2021 -0400

        use new coda-oss "std" headers

    commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:14:30 2021 -0400

        be sure coda-oss "std" files are copied

    commit c1f2b328b7b8bc7dcd3dcbd41fd851dadb3a8a77
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:02:23 2021 -0400

        update coda-oss and nitro

    commit eeba5b8f0641d679eb895b0141aed17a52918653
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 08:08:18 2021 -0400

        CODA_OSS_AUGMENT_std_namespace got clobbered again

    commit 77276c14a479d828b67b7df7d8ea96201a141449
    Merge: 77b0b6545 7c1caf136
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 13:43:24 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 77b0b6545a3dfd2cd0a8457a65a5d2030243ed7b
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 12:45:37 2021 -0400

        remove CA diagnostics from coda-oss

    commit cdb74ed4757559d701140a41d7d4c216c339fea6
    Merge: 5aa2efba1 0cee4292b
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 11:47:37 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5aa2efba19373c06fd94501d2f83a687f71951b7
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 09:34:04 2021 -0400

        latest from "master" at nitro

    commit 4db1a4be74299cece5953c6c3299203a26fd9cb8
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 09:28:46 20…
JDanielSmith pushed a commit that referenced this pull request Nov 1, 2021
* 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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 <filesystem> 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 <filesystem>

* 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 <thread>

* 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<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* 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<T> 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<nullptr>()

* 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<nullptr>()

* 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<template>

* new TREs from "nitro"

* std::shared_ptr<> doesn't have [] versions, only std::unique_ptr

* build with older compilers

* latest coda-oss changes

* Update .gitignore from "nitro"

* SWIG doesn't like "final"

* SWIG doesn't like "final"

* latest from coda_oss

* latest from "nitro"

* add a version number to externals/coda-oss

* add a version number to externals/nitro

* restore "build" and "cmake"

* Gsl_.h got lost ... ?

* update CMS to 3.0.3.3 (https://github.com/ngageoint/six-library/issues/433)

* remove version numbers (for now); we've went a very long time w/o them

* finish rename

* version number is in too many places ...

* missing .cmake files

* missing "build" files

* latest from coda-oss

* latest from "master" on coda-oss

* latest from "master" at nitro

* remove CA diagnostics from coda-oss

* CODA_OSS_AUGMENT_std_namespace got clobbered again

* update coda-oss and nitro

* be sure coda-oss "std" files are copied

* use new coda-oss "std" headers

* more coda-oss changes

* updates from coda-oss and nitro

* latest from coda-oss

* fix coda-oss unittest dependencies

* WAF dependencies for "scene"

* sys/Filesystem.h -> std/filesystem

* build using C++17 features

* account for removed coda-oss overloads

* add back coda_oss;;filesystem::path

* forgot to add new "coda_oss" directory

* latest from "coda-oss" and "nitro"

* tweaks to python wrappers from coda-oss

* updates from coda-oss to remove compiler warnings

* another update to coda-oss to get rid of code-analysis diagnostics

* latest from coda-oss

* coda-oss updates to reduce compiler warnings/code-analysis diagnostics

* latest from coda-oss to reduce compiler warnings

* more code-analysis diagnostics fixes from coda-oss

* latest from coda-oss

* updates from "nitro"

* lost sys/Conf.h #include

* latest from coda-oss and nitro

* latest from nitro

* latest from coda-oss

* updates from "nitro"

* latest from "nitro" to support nitf-c++ as a DLL/shared-library

* build w/o errors when nitf-c++ is a DLL

* explicitly list SegmentMemorySource() overloads

* latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

* be sure NITRO validation changes don't break SIX unittests

* build NITRO @ /W4

* latest from "nitro" and "coda-oss"

* reduce use of .c_str() in "nitro"

* changes from coda-oss to reduce code-analysis diagnostics

* tweaks for VS2019 16.10

* latest from nitro and coda-oss

* latest from coda-oss

* latest from NITRO

* latest from coda-oss

* latest from "nitro"

* getCornersAsLatLons should be w/o "const"

* latest from coda-oss

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* latest from "nitro"

* latest from coda-oss

* mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

* latest from coda-oss

* latest from "nitro"

* account for NITRO changes

* latest from nitro and coda-oss

* latest from coda-oss

* latest from "nitro"

* Squashed commit of the following:

commit 76049d41a23737c02e493b232aaa53ba7ce1a71e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 17:11:45 2021 -0400

    oops ... checked in TestTestTest enum

commit 0e8dc7f68a2aebfb56a4d43ad7bcfb8260f75844
Merge: 25d3f9be7 dabb8ba68
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 15:46:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 25d3f9be78bfb491049d9c9a20167f5d1c47845c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 16 14:02:28 2021 -0400

    Squashed commit of the following:

    commit bf16b368e76062f2e325193a2ab0972bb56987c8
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 12:44:36 2021 -0400

        let macros do the job of repeating SIX_Enum_map_entry_

    commit fcc25cf72e72da1400eff7d3ad4e7b3af9b5d598
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 11:06:08 2021 -0400

        macros for Enums; these are quite a bit simpler than SIX

    commit ff3756734545d5f1619e8366c5809c63cfec792e
    Author: Dan Smith <[email protected]>
    Date:   Thu Sep 16 10:00:03 2021 -0400

        hook up macros for creating Enums in NITRO

commit fdd1f935d9f545c4cb069cabdf34d49be6b2232a
Merge: 1dfd650e1 8bbdb1d75
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:50:18 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 1dfd650e1a4cce160f4c43ced2db761b58183550
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 10:49:32 2021 -0400

    tweak copyright notices

commit f467a445d5b3735ddbca77c8e9acef674a5b12bc
Author: Dan Smith <[email protected]>
Date:   Wed Sep 15 08:45:23 2021 -0400

    make test data even more visible with "[****************]"

commit 46a1f0bbd2de45b52db40198a0cd430116fbeefb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:53:38 2021 -0400

    be sure std::span<std::byte> is the right size

commit d8d30eade99950557439081bea8320dab54895be
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:47:11 2021 -0400

    switch back to the old writing code; it seems to work better than writeAsNITF() ???

commit 2caa4f7f577a1a591c02a9e363f95dff9dd50554
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 14:12:43 2021 -0400

    getRawData() shouldn't return the entire temp buffer

commit 61617482b5414a4dd03fb73398a0266654b7d99a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 12:06:50 2021 -0400

    more testing to be sure everything is in-sync

commit e0595099e42b97762d16dfb1aee3818cf0c92901
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:43:24 2021 -0400

    more shared code

commit 27c72f1a8ee861be56a35c73fd419d6e28d75552
Author: Dan Smith <[email protected]>
Date:   Tue Sep 14 11:02:25 2021 -0400

    reduce some duplicated unit-test code

commit cccf0471d1036003364dd365581a89b4fb7a23a1
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:53:35 2021 -0400

    use NITFReadComplexXMLControl in a few more places

commit 66b65425e7e9bb6f111aa6fd8508b7e195c6379d
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 17:21:13 2021 -0400

    use NITFReadComplexXMLControl in more code

commit 001fd11915491730ddd0e1011140d110196fb325
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:46:25 2021 -0400

    change readFromNITF() to use NITFReadComplexXMLControl utility

commit 517abad4270833ff29e8714c2bec9ce9b9c46242
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 16:10:21 2021 -0400

    combine NITFReadControl and XMLControlRegistry into a single class

commit 53a4434d2c6a8534373145d9dd8ac7e3af6c050f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:30:30 2021 -0400

    be sure two different ways of reading give the same results

commit ee8e06d1263da47d6eb5148ca7581761a390ba2f
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 15:22:38 2021 -0400

    readFromNITF() was wrong, so very wrong ...

commit 7c2b2dec612d6442b68b7a30a3bf6f7a5a41a863
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:45:29 2021 -0400

    move should be "noexcept"

commit 09de1c62e2adb5c3d1ba0cf9b813d62de4877f05
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 14:05:19 2021 -0400

    the python bindings are lame ... leave them as-is for now

commit 1baacf1ebfd5cc18300ef1fa8b3ac08346988055
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 13:52:32 2021 -0400

    remove no-longer-needed test code

commit 47c65ff5f35fc114f7ca98a52c60d3d2d8406adf
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 12:31:26 2021 -0400

    remove unit-test only routines from Utilities:: API

commit 0fdaa254150deadb012b5428e5ab7b9f973a7a37
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:55:14 2021 -0400

    simplify more code using Python-like routines

commit 950e467885c5e6a2f5bd05f7967cea280c1ac814
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 11:38:30 2021 -0400

    borrow more routines from Python bindings to simplify code

commit 2db906c914ecdefc7a2f4fdcdff5ea3428224f2e
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:19:33 2021 -0400

    tweak setLogger()

commit dc3937f60828508f339ad17376cae3dd1d2180c8
Author: Dan Smith <[email protected]>
Date:   Mon Sep 13 10:06:54 2021 -0400

    readFromNITF() and writeAsNITF() from Python bindings

commit 831bfa6d4b9a9d049243e4cfc9e5bb7bc5b3cfd5
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:45:37 2021 -0400

    use the template-ized version of addCreator() everywhere

commit 8489be6bcd6ff822cd1991ad2c09a9a5f89c2454
Merge: 070b8e8a0 5e4d542ab
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 11:10:13 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 070b8e8a0817be69a710dcbba6fc879453fd7cc8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 10:03:10 2021 -0400

    use a normal "enum class" for Subcategory too

commit 52a54c8a538370daae32c47546c07b6605fbc7f9
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:52:33 2021 -0400

    store values in map to avoid a bunch of "if" checks and duplicated code

commit 7dcb39ff9d35eb19f1d8f4397b3c37cb0388e66e
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:22:51 2021 -0400

    "enum class" is slightly less code than static member data

commit 4c5ffb794581eeb95993d6a7c33560a29cd4595c
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 09:11:27 2021 -0400

    to_string() and from_string()

commit 98e31f1e3bed19bbfaff642df940c9fc9a85f208
Author: Dan Smith <[email protected]>
Date:   Fri Sep 10 08:26:17 2021 -0400

    test reading in the file we just created

commit b3a99955f8142be79d608ab8b2e5b3a82d550516
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 15:25:27 2021 -0400

    simplify creation of nitf::BandInfo

commit 1648f9f118d283c92773010ec2479f7493bdfc60
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:49:41 2021 -0400

    use the same utility routine for reading

commit d6ccfe12c13d165cae05ee5ecfad304b3c5aa88e
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 13:27:14 2021 -0400

    try to read in raw data

commit d4168c3192941257a04c7e73a3541e856848ed7b
Merge: 77df326c8 559f7e6e4
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 11:07:19 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 77df326c87c25f6a1bc40292be338cd915cd5c46
Author: Dan Smith <[email protected]>
Date:   Thu Sep 9 10:03:02 2021 -0400

    utility function to get the raw data - w/o converting to std::complex<float>

commit 48699e04af72d0a61d0a23ccfcaeeb9734358756
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 18:00:02 2021 -0400

    can use entire image in non-DEBUG code

commit 363dd3735e030855de72a9dbdb92af1b8d7ad5b4
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 14:12:07 2021 -0400

    image is way too big for DEBUG code

commit 02e74c423a11a67800850682a9e5c6f1ed2fa2ea
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:55:26 2021 -0400

    cutoff should be squared

commit 997d25bb2df4e6849c138013e32f4ab87d122cf0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 12:20:48 2021 -0400

    Now that everything is in place, don't need quite as many template functions

commit e7a02aee60a577c46f6fc0c1e621daa6c4110e2b
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 11:55:36 2021 -0400

    "results" can also be a std::span instead of a std::vector

commit 98c4a83508a31208c095aa99f78095798a0b1645
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 10:50:55 2021 -0400

    very strict rules for constexpr in C++11

commit b5946454ef455feda694d78065655259312b37d9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:58:38 2021 -0400

    common code to read the 8bit_ampphs files

commit 8a6514c8408e29e4c4d25a7c8d2f2cb3c622ad1a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:35:20 2021 -0400

    simplify to_AMP8I_PHS8I() and from_AMP8I_PHS8I()

commit b587908f7bc775b1bc9578f724b394e7bc6a5903
Author: Dan Smith <[email protected]>
Date:   Wed Sep 8 09:07:20 2021 -0400

    don't need to pass pImpl back to lambda anymore

commit d3bdad56388320bd3b1125ae5927dc3a481ae9cb
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:40:21 2021 -0400

    fix GCC build errors

commit bb2c9ab2591eef9a6556963bd802756b70594a1c
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:22:21 2021 -0400

    internal to SIX, images are always complex<float>

commit 88bf197a4ca15a34058dd9d4f859b2e607122f56
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 17:01:30 2021 -0400

    reduce duplicate "adapters" code and make it more type-safe

commit cd05e03199cf6a9358ebb3c79607e834194a3c51
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 14:24:24 2021 -0400

    tweak unit-test

commit cf6bcf84e6a4da4c996c9d998c8a80ba80c15cad
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 13:31:04 2021 -0400

    KDTree = defaults must be in implementation file because Impl is an incomplete type

commit f1aef291109777ac0be4372f76da4d460e083b95
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:55:17 2021 -0400

    reduce more duplicated code

commit 201ac4638e068d8cadf32d9a054f475bfa3f0ead
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 12:23:16 2021 -0400

    hookup async version of from_AMP8I_PHS8I()

commit d472801a2ac7ef3b0494f6944dd1a3c9ec420576
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 11:56:55 2021 -0400

    reduce code duplication

commit c4881433f678c4f8244eb4d234828ef7b687f0dd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 10:04:58 2021 -0400

    use mt::transform_async()

commit 77674a99a1f1f8c44275e9452bf19b942292bc86
Author: Dan Smith <[email protected]>
Date:   Tue Sep 7 09:53:06 2021 -0400

    tweak to_AMP8I_PHS8I() signatures

commit fc1f24b9fd2d18926b4329c9ed50aae2b2e3c275
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:56:52 2021 -0400

    remove no-longer-needed utility routine

commit 6e8ab288fc81642f1ec39e732e6c73694f291b16
Merge: 54ba2521e 7262842a7
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:47:26 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 54ba2521e878e262d2440e30f5d7f66c876bf853
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:46:11 2021 -0400

    allow callers to explicitly request parallel implementaton

commit 4b7536fb38b7ad92cadc3d9d9a79b12f904c0fd8
Merge: 8f480a011 2e984a786
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:11:30 2021 -0400

    Merge branch 'master' into feature/8AMPI_PHSI

commit 8f480a011b9ccf29315fedd64b81524abc7f50d8
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 11:04:02 2021 -0400

    fix compile errors; simplify nearest_neighbor()

commit 3e37ad70f3dc895fe6731f0fd6a505ca67af8a8b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:48:42 2021 -0400

    async code

commit 480c7b83c91d474abddbe0bf9fa8d8038f0e74a6
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 10:47:04 2021 -0400

    pass around a priority_queue so that k_nearest_neighbors() is thread-safe

commit f4524378ce744b73c4e9e86873c24be37e1351fe
Author: Dan Smith <[email protected]>
Date:   Fri Sep 3 08:39:38 2021 -0400

    making KDTree a template is just too clever for our needs

commit 015ca71daef891bb242e3a8172b4445079dd6faf
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:20:44 2021 -0400

    need template<> for specializing

commit 20950e538cfa8138b1ae9b1b6bb03b22408edd9c
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 17:12:23 2021 -0400

    unit-test for KDTree

commit 22f9bfa3ef9a529d248c0a78a0c08e81655683fd
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:50:19 2021 -0400

    use the KDTree to convert from a std::complex<float> to amp/value

commit 0bfa0229098ad1e0b60acd7741452c99bb9c482b
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 16:06:54 2021 -0400

    need our own <std/memory> with GCC

commit 0548f2bc97800eab41d9177befc44e1bf29feaf2
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 15:27:18 2021 -0400

    fix KDTree.h #include path

commit c742932515dba401935d8900035b75c69bb61683
Author: Dan Smith <[email protected]>
Date:   Thu Sep 2 14:48:52 2021 -0400

    KDTree implementation

commit 0341c633ca839fb9d89b65013f0497f0749e2288
Author: Dan Smith <[email protected]>
Date:   Wed Sep 1 12:44:56 2021 -0400

    use math::SinCos() to get sin() and cos() at the same time.

commit 974069cf8f296a55f35e2affeec3965a79525415
Author: Dan Smith <[email protected]>
Date:   Tue Aug 31 12:56:11 2021 -0400

    Squashed commit of the following:

    commit a18a30e34d930d1d5b825d8b780d7244dbc120f0
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:21:30 2021 -0400

        latest from "nitro"

    commit 0527a629b781bc0531c4b5c20456617317f272a5
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:20:12 2021 -0400

        latest from coda-oss

    commit ee48c047678cad511d7a84f6a125f11deba88014
    Merge: 1096f4fd5 6cff53db9
    Author: Dan Smith <[email protected]>
    Date:   Tue Aug 31 12:19:29 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1096f4fd5e94a1dbbf52e5f368681d163d76ca6e
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:17:33 2021 -0400

        latest from nitro and coda-oss

    commit 73e77a8b4c84b0f6ffc11a524bf9c9e46e6e8172
    Merge: 99ae196d3 ff3219eb1
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 14:01:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 99ae196d3861fb08a0785fe233679e4b61970186
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 12:17:41 2021 -0400

        account for NITRO changes

    commit c57cd954272f55da042262f5c8d5e88ed15f72ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:55:35 2021 -0400

        latest from "nitro"

    commit 9cd3c090116420237c9a948dbc2652d9eb044343
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:53:00 2021 -0400

        latest from coda-oss

    commit 4c2b6526fb7f05bbeb9d7ace83254dcb0d991e50
    Merge: 76a8924ef c13678637
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 25 11:25:15 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 76a8924efc427079a8593e6ccfa8242bb1e0defe
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:25:42 2021 -0400

        mem::ScopedArray<T> is now the same as std::unique_ptr<T[]>

    commit 76a7a1768bfe1115d705085c3a9c4b8aa39c9e53
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:06:07 2021 -0400

        latest from coda-oss

    commit bf3a4183d98778292b522b108af655b870f81f7c
    Merge: 1b96c7c82 242b834f6
    Author: Dan Smith <[email protected]>
    Date:   Mon Aug 16 09:01:51 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1b96c7c8266b8af0ab1879a7bd52598d4e04d4bf
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:10:19 2021 -0400

        latest from "nitro"

    commit 7c3ab64208cfffa33eaa8c35f5f6296e542a23a8
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:05:52 2021 -0400

        latest from coda-oss

    commit 06fae55d680fdac68314a7f7f3581babd8235911
    Merge: da2932b21 1334638dd
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 11:00:38 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit da2932b21a7c2796aee659b598813643bbb7b72a
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:30:13 2021 -0400

        latest from "nitro"

    commit de9ae8cc8df0e4fc09ad98f5a4c3845a8ee66e35
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:15:36 2021 -0400

        latest from coda-oss

    commit 1b15d837462f2fab03a77e449602a55076a1358e
    Merge: e219ad8c0 6fa3d44d9
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 4 10:13:22 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit e219ad8c0282ad9000cdf071089b979335ea79b6
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:54:34 2021 -0400

        latest from coda-oss

    commit d9fd3dd57e54011053412c3109095ea7d3dbc0a7
    Merge: 3681b8586 67830a063
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 23 10:51:23 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 3681b85865a306eebefe48584e00e1c4ca53f825
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:49:18 2021 -0400

        getCornersAsLatLons should be w/o "const"

    commit 5ce71b5def4bea12737d3dcb6f8b3d8bcddb7868
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:39:41 2021 -0400

        latest from "nitro"

    commit 86feacfc0317f86db863a1bc40250cf0acc3d6e9
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:37:44 2021 -0400

        latest from coda-oss

    commit 0103074f0d1db84c55c01541571029f75feebfe9
    Merge: f4c89c4e9 8ab030569
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:24:19 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f4c89c4e950246ef7dc6ec307cc18104253c911a
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:29:14 2021 -0400

        latest from NITRO

    commit aef4a229e7a3f7c977a2340aee6a80ab7856b098
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 10 16:26:48 2021 -0400

        latest from coda-oss

    commit 10015fe2ab6a8f5a55a1d65583b393a471b3226c
    Merge: 5a8c6a58b e708b980c
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 15:19:30 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5a8c6a58b14a4a29bbfe685727f3bee45ee3c1c4
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:38:20 2021 -0400

        latest from nitro and coda-oss

    commit 4b89b4f9c5f15dfe60dc1ecea7b2ccec15848f61
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:07:40 2021 -0400

        tweaks for VS2019 16.10

    commit 9c998810bef6a3ca96e1aba25269101a4f5f6032
    Merge: cc2d0548f 9390b614b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:01:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit cc2d0548f00a61fd27235d309504b1817dac5889
    Merge: dfb69caea 47301187b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:39 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit dfb69caeae5cc9aefb710673d11e6bf62e675734
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:34:58 2021 -0400

        changes from coda-oss to reduce code-analysis diagnostics

    commit 433aa81ca77f566c5e8ec61e30ab734e8244308f
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:03:14 2021 -0400

        reduce use of .c_str() in "nitro"

    commit 6a294c9bb7a6d0e3b6749dace7304371dbe1824b
    Merge: df166d5a2 8e10afb11
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 16:01:45 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit df166d5a2452aabb958ef5773d21097186a01a0d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:10:13 2021 -0400

        latest from "nitro" and "coda-oss"

    commit 0314b791e395dcce4f9e15b8a5b8087f0bca3b86
    Merge: ef2d1fee0 50bbbb573
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 11:05:57 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ef2d1fee0e8c0cba0cfe9e2b372431cc928e2599
    Author: Dan Smith <[email protected]>
    Date:   Tue May 11 10:41:21 2021 -0400

        build NITRO @ /W4

    commit a4f624b985335b3633a5804e14b9819c293cf3a0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:38:51 2021 -0400

        be sure NITRO validation changes don't break SIX unittests

    commit 2bb3a4e4582046435e42cb53462598b824fc2685
    Merge: 0591d37c0 76c1dc1dc
    Author: Dan Smith <[email protected]>
    Date:   Sat May 8 12:34:01 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0591d37c0f46402a7b467f8d04c292426cb9d089
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 13:27:14 2021 -0400

        latest from coda-oss to get rid of more compiler warnings/code-analysis diagnostics

    commit 5ace9f9bd05e17ba786a322574e4fbe53225c5f0
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:58:24 2021 -0400

        explicitly list SegmentMemorySource() overloads

    commit f273b6d036a25fdf6899af195069ae88bedc1218
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 13:13:08 2021 -0400

        build w/o errors when nitf-c++ is a DLL

    commit 9faad061720737c0abc35b33192280a3243740bc
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:45:13 2021 -0400

        latest from "nitro" to support nitf-c++ as a DLL/shared-library

    commit f20557ace1f491f6597cf8f03ce873b0c494103e
    Merge: 5df916362 27b8f6aa5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:31:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5df916362cec21608631c5d9ac0444ca1b6c339b
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:09:53 2021 -0400

        updates from "nitro"

    commit dc070a143163f920e11f66768fded2876a1277af
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 12:07:44 2021 -0400

        latest from coda-oss

    commit 733a255827f4c031ac654959189cd65358cecafb
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:01:43 2021 -0400

        latest from nitro

    commit 0b2b871e26044cc9d4b3da4edd0df6fedc1145f9
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:55:06 2021 -0400

        latest from coda-oss and nitro

    commit fc46c9fdec6b0f432e04d3507ed322e0c9a114d6
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 09:08:27 2021 -0400

        lost sys/Conf.h #include

    commit 09ffddbee6c37573a96c7c81def4d673f9da0acf
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 08:36:41 2021 -0400

        updates from "nitro"

    commit 24e1ee592c1979e0d91b92b715377356f03cedff
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:49:21 2021 -0400

        latest from coda-oss

    commit 8e1527568ce9f6e6aeaeebea24eec59d7b627932
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 09:35:04 2021 -0400

        more code-analysis diagnostics fixes from coda-oss

    commit 445cf74cd1348c5c9003bfbd9ef83e37659b4adf
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 16:29:00 2021 -0400

        latest from coda-oss to reduce compiler warnings

    commit e70e2572e59c72a4520a1aa65cff4f8dd9333bc3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 12:54:49 2021 -0400

        coda-oss updates to reduce compiler warnings/code-analysis diagnostics

    commit d30e0ab68a96fb56df37c228afd317e1c68f4a2e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:19:28 2021 -0400

        latest from coda-oss

    commit 74491f15ab390f4a0372e14de3008bf3d850aece
    Merge: 37b4a362b de6c5fae4
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 14 09:17:09 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 37b4a362b9577fc9c2b71027cf1f33f91676179e
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 17:39:49 2021 -0400

        another update to coda-oss to get rid of code-analysis diagnostics

    commit 582f71ac9689ee028f99523cce4772c20102a709
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 13 09:02:51 2021 -0400

        updates from coda-oss to remove compiler warnings

    commit 89898de7acf89ae37979a00fbb9d7b4ac5f395ec
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:38:10 2021 -0400

        tweaks to python wrappers from coda-oss

    commit 6c8bb000dcddbc7a8327c9c26da1a18cbadc2f5d
    Merge: c77366127 1a7f2f328
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 6 11:34:07 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit c77366127448c8d9ca8c1a12d79df31707c8db19
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 10:26:53 2021 -0400

        latest from "coda-oss" and "nitro"

    commit 7cd31db3f438ae1ccf660a1847f02c1eff81c58e
    Merge: 0319e7076 4ea37a20f
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 3 10:45:52 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 0319e7076ced45d3febf60cf3bc22d62a3ca3803
    Merge: 1dfc03417 788e7846d
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 18:17:32 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 1dfc03417c3b2c52973a8c18c38ece0ecf763910
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:21:06 2021 -0400

        forgot to add new "coda_oss" directory

    commit 78ec6f69a6f08f564fd98ab678c501e34117200e
    Merge: f105c98ab a5910ffd2
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 17:00:53 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit f105c98ab9a54dc87efc7b266662b65c3e176007
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 16:54:27 2021 -0400

        add back coda_oss;;filesystem::path

    commit f819681ee8fce3ca867ab037cd2cd7575d002ee9
    Merge: ab1348f5e 664d2c219
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 14:03:46 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit ab1348f5e77b94f1a980c4b468b3bc4f89561625
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 13:27:42 2021 -0400

        account for removed coda-oss overloads

    commit 1005fb00d4a1c8b2fa30f51c82798e4992f9e223
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:50:01 2021 -0400

        build using C++17 features

    commit 899e6158a65262649190c0de909ea9c620176831
    Author: Dan Smith <[email protected]>
    Date:   Sat Mar 27 11:21:10 2021 -0400

        sys/Filesystem.h -> std/filesystem

    commit 3d28513e4c9cd307891c65c43113616878eeefe8
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:56:56 2021 -0400

        WAF dependencies for "scene"

    commit a22f195284c320b58c82272998d2d3d32715eb50
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:46:25 2021 -0400

        fix coda-oss unittest dependencies

    commit a9d7356085e0d6c136f00711cf5828cc4fb7bade
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 15:27:35 2021 -0400

        latest from coda-oss

    commit b00fab77e92c86b3b101536730870c46600cf578
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:38:50 2021 -0400

        updates from coda-oss and nitro

    commit dfff3e6dec52734e23f075a65b0a8ed3569f58a0
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 12:01:36 2021 -0400

        more coda-oss changes

    commit 30afeeac677873c24c72b53796a8768525786f9a
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:27:21 2021 -0400

        use new coda-oss "std" headers

    commit fd1485f17608bf0fbfa6b5d9d567ec92298c11af
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:14:30 2021 -0400

        be sure coda-oss "std" files are copied

    commit c1f2b328b7b8bc7dcd3dcbd41fd851dadb3a8a77
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 10:02:23 2021 -0400

        update coda-oss and nitro

    commit eeba5b8f0641d679eb895b0141aed17a52918653
    Author: Dan Smith <[email protected]>
    Date:   Wed Mar 24 08:08:18 2021 -0400

        CODA_OSS_AUGMENT_std_namespace got clobbered again

    commit 77276c14a479d828b67b7df7d8ea96201a141449
    Merge: 77b0b6545 7c1caf136
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 13:43:24 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 77b0b6545a3dfd2cd0a8457a65a5d2030243ed7b
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 12:45:37 2021 -0400

        remove CA diagnostics from coda-oss

    commit cdb74ed4757559d701140a41d7d4c216c339fea6
    Merge: 5aa2efba1 0cee4292b
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 11:47:37 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit 5aa2efba19373c06fd94501d2f83a687f71951b7
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 09:34:04 2021 -0400

        latest from "master" at nitro

    commit 4db1a4be74299cece5953c6c3299203a26fd9cb8
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 09:28:46 2021 -0400

        latest from "master" on coda-oss

    commit cc369cc01fb09490707ebb64a72edc9d45dbe08c
    Merge: a22422ae0 9be2a2af8
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 22 09:26:16 2021 -0400

        Merge branch 'master' into develop/update_externals

    commit a22422ae0eed2d7b393caad717b3a17592ee27e1
    Author: Dan Smith <[email protected]>
    Date:   Tue Mar 16 18:50:11 2021 -0400

        latest from coda-oss

    commit a0206cf1812822e6e8aeb2982c81075f171fa608
    Merge: 2d5f38dd1 64130a79c
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 8 10:32:12 2021 -0500

        Merge branch 'master' into develop/update_externals

    commit 2d5f38dd15beb538a325b0e7068704943db36eb9
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 8 09:05:30 2021 -0500

        missing "build" files

    commit 9825b7da00cc69652360aeb53bc2a7be199677b6
    Author: Dan Smith <[email protected]>
    Date:   Mon Mar 8 09:03:30 2021 -0500

        missing .cmake files

    commit f84a172af6e7…
JDanielSmith pushed a commit that referenced this pull request Nov 8, 2021
commit a80a715c4dcf2c1f8ff9da8c90fc52d40c25bc61
Author: Dan Smith <[email protected]>
Date:   Fri Nov 5 09:29:24 2021 -0400

    fix another ICC compiler error (from high-side)

commit e341b8e221f07831d19b7cbe83d07b5dbd2e414e
Author: Dan Smith <[email protected]>
Date:   Thu Nov 4 17:16:22 2021 -0400

    mem::ScopedArray<T> -> std::unique_ptr<T[]>

commit 9edba14df70d186aa0df696c5f8dc825a6a81972
Author: Dan Smith <[email protected]>
Date:   Thu Nov 4 16:47:22 2021 -0400

    sys::Uint32_T -> uint32_t

commit dce2a7df6dce586a413df75f2dd9c3f2c0cf7d2d
Author: Dan Smith <[email protected]>
Date:   Thu Nov 4 15:40:13 2021 -0400

    reduce use of explicit "new"

commit da788ab6811933b000909b20bd1c181326abbe36
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 16:36:55 2021 -0400

    build Logger.cpp w/CMake

commit f8ab35df28ef3b1248968222f0faddf36531181e
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 16:28:49 2021 -0400

    switch remaining code to new six::Logger infrastructure

commit 11e66dc5dc15236ef28873ad96d3babfcb89d632
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 16:10:19 2021 -0400

    fix G++ compiler errors

commit 396b4fa29c53b060bd40e2ea5f489fbf8770327d
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 16:00:31 2021 -0400

    simplify six::Logger

commit 905f7f551f8d49be7415698a56e3f8472657ad72
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 14:43:09 2021 -0400

    more use of six::Logger to reduce boilerplate code

commit b9368a9a0c7d1276e583cb525aa6d4f5b7027beb
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 14:07:23 2021 -0400

    more use of six::Logger to manage logging

commit 82db8c136a4eee98e96493b0a90df38e059ea8b7
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 14:00:22 2021 -0400

    use the new six::Logger class to reduce boilerplate logger code

commit f18fbe48e01960d07ec33cf034188b2aba88dbb7
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 12:18:45 2021 -0400

    use new Logger class to reduce boiler-plate code

commit 3c74dbd5ee170e8401d7b8634d2590a370cbdd73
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 12:00:21 2021 -0400

    new Logger class to more easily manage logging configuration

commit 5787a6909bfe9f88a099ed536837ca5a436c3421
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 11:24:06 2021 -0400

    use a std::unique_ptr for storing an "owned" logger

commit 8fdb3e38417c429c4ad06f65947812fd0ac78c76
Author: Dan Smith <[email protected]>
Date:   Wed Nov 3 09:45:55 2021 -0400

    use std::make_unique() instead of explicit "new"

commit e7938bc92bcedbcebc64ea8b0b3e4cd674aa248a
Author: Dan Smith <[email protected]>
Date:   Tue Nov 2 17:18:06 2021 -0400

    reduce use of explicit "new"

commit 75ea632f815e4f04f90e606a409915bc5d18607d
Author: Dan Smith <[email protected]>
Date:   Tue Nov 2 16:14:04 2021 -0400

    version -> strVersion to avoid conflicting with global "version"

commit dbc48b8ddaaae2029112860d418a23ba668df22c
Author: Dan Smith <[email protected]>
Date:   Tue Nov 2 15:53:33 2021 -0400

    another "version" -> "strVersion"; added unit-test

commit 49048ae809c07219544b015513b46b375e004eb6
Author: Dan Smith <[email protected]>
Date:   Tue Nov 2 14:38:19 2021 -0400

    reduce use of explicit "new" and pointers in CPHDReader

commit ce0db35d80dcd00200bc464ad4df113cfe9f9db2
Merge: 895439562 80f110c09
Author: Dan Smith <[email protected]>
Date:   Tue Nov 2 12:02:04 2021 -0400

    Merge branch 'master' into develop/use_c++11

commit 89543956292a2deff4b239b1dfea2e5d449f8fac
Merge: 555055e55 6d69985fc
Author: Dan Smith <[email protected]>
Date:   Sat Feb 20 15:27:18 2021 -0500

    Merge branch 'develop/use_c++11' of github.com:ngageoint/six-library into develop/use_c++11

commit 6d69985fce62ef2277a3b65c8bd5c04da9d5250b
Author: Dan Smith <[email protected]>
Date:   Wed Feb 17 10:42:22 2021 -0500

    turn off some CA diagnostics from other code

commit 87623bb27d6a2c7ee7592469fd7be61027131aee
Merge: b72de0b78 38909c4c6
Author: Dan Smith <[email protected]>
Date:   Wed Feb 17 09:30:38 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 555055e55d899269ff7e9041ab5111ee3d864a2b
Merge: 809f99884 38909c4c6
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 17:52:03 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 809f99884740d51a082c3f98e76a9998492c3ac1
Merge: a0ec957bd 1327e071a
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:13:44 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit b72de0b7899d9d4fda67953b24e9d6b36d5bc8de
Merge: a0ec957bd 1327e071a
Author: Dan Smith <[email protected]>
Date:   Mon Feb 15 15:03:46 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit a0ec957bdcaee57e4058fac4bd7ee9926935cc8d
Author: Dan Smith <[email protected]>
Date:   Wed Feb 10 09:52:44 2021 -0500

    old compilers don't like certain kinds of braced-initialization

commit 7bc8624a0068abba75379786754f133eac8447e7
Merge: 7eb4f3f1a 32575e474
Author: Dan Smith <[email protected]>
Date:   Wed Feb 10 09:46:24 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 7eb4f3f1ad7cb47b83bff656b366fa10f8baef69
Merge: 91f6c481e 0abd4e691
Author: Dan Smith <[email protected]>
Date:   Tue Feb 9 17:13:03 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 91f6c481e86cae6c8ba52a7cce84e4577ac0600c
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 16:27:36 2021 -0500

    std::auto_ptr -> mem::auto_ptr for C++17

commit d0cf3be40fbb6018274d890e3f5d5f81680cd38f
Merge: d165f6252 0892e19a7
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 16:13:39 2021 -0500

    Merge branch 'develop/use_c++11' of github.com:ngageoint/six-library into develop/use_c++11

commit d165f62522c366f161fbd62c6cbe1e5a91c24dd4
Merge: 09450c25f c5f669c79
Author: Dan Smith <[email protected]>
Date:   Mon Feb 1 16:12:54 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 0892e19a7a39c2284185384f30d98951eb1f3758
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 16:38:03 2021 -0500

    fix a few more errors with building with C++17

commit afaf4d4e778a83160b5a5001d90686270abdf086
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:53:23 2021 -0500

    mem::auto_ptr instead of std::auto_ptr for C++17

commit 67b41f90e1a36c2f40357d7c2ae39e2620886970
Merge: 4bcd2a70a d22cdb99a
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:24:35 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 4bcd2a70aadc6b488334192fe1ba1954813fe6cc
Merge: 9c6b41ded 652dadf7b
Author: Dan Smith <[email protected]>
Date:   Wed Jan 27 15:24:30 2021 -0500

    Merge branch 'develop/use_c++11' of github.com:ngageoint/six-library into develop/use_c++11

commit 09450c25fcd36c2fba0dabc08059f745e106d28c
Merge: 652dadf7b 5d81778ca
Author: Dan Smith <[email protected]>
Date:   Tue Jan 26 08:43:02 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 652dadf7be1d87abdc39abda397633c77226051d
Author: Dan Smith <[email protected]>
Date:   Mon Jan 25 18:08:10 2021 -0500

    no std::auto_ptr in C++17

commit 7bb1bb44bc768645c64d8e2d2a2b621b4ff65526
Merge: e76c3654c c1cf6e7b3
Author: Dan Smith <[email protected]>
Date:   Mon Jan 25 18:00:56 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit e76c3654c671a011d1d43e762322fc5fe62be0de
Author: Dan Smith <[email protected]>
Date:   Mon Jan 25 17:59:45 2021 -0500

    no auto_ptr in C++17

commit b7413c6b113220ae9d90a7fbe4f95eb5439b8cf2
Author: Dan Smith <[email protected]>
Date:   Wed Jan 20 10:23:48 2021 -0500

    do a better job of being sure we have additional stuff in "std" from coda-oss

commit fb5176c6a3cd7de039f5a28225717e2f0ff102ad
Author: Dan Smith <[email protected]>
Date:   Wed Jan 20 08:57:57 2021 -0500

    #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

commit df90a441363a1aa8c5800e6e46b2c8b19e676d2a
Merge: 160f01ec3 74727d411
Author: Dan Smith <[email protected]>
Date:   Wed Jan 20 08:43:06 2021 -0500

    Merge branch 'master' into develop/use_c++11

commit 160f01ec3457c6af580e862cb30508c11089f922
Author: Dan Smith <[email protected]>
Date:   Wed Jan 20 08:42:36 2021 -0500

    #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

commit a01559531bc0ca915e09ca63953f592ee1b48f95
Merge: bd7d9f7b9 0ecff9559
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 18:01:33 2021 -0500

    Merge branch 'develop/update_externals' into develop/use_c++11

commit 0ecff955987475619e5756b30bbe1e38add907fa
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:59:47 2021 -0500

    remove files that shouldn't have been committed

commit bd7d9f7b90840e883588bf0aafd446a6a1bdec38
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:49:29 2021 -0500

    #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

commit 671a89a17a8c7e818e51f0b8ac260d3cbd50b35f
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:28:27 2021 -0500

    trigger build on GitHub

commit 460a96b3819c150608ca6e28cf51234b53c7299e
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:14:26 2021 -0500

    didn't want this change

commit 0ec8633e6f1f16384e08fb0f54fc463c05c5a0a7
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 17:11:15 2021 -0500

    get #includes right for PCH

commit 824284722ce0a6b80cdbc6c76d9414032b27da45
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:55:58 2021 -0500

    gsl::span -> std::span

commit 70a3e7282bc4359f6edbc2df52c77e11df523b1b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:50:53 2021 -0500

    these are the correct files from "master"

commit b856b5451289a0ad6bab254dd2a2d6f14aee571d
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:44:25 2021 -0500

    latest from coda-oss and nitro

commit fa0a138472ae143518bad1eb9d608152d32dbe22
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:33:06 2021 -0500

    Revert "std::span -> gsl::span"

    This reverts commit c10f2332c3650969a770c71ee830569911b9d13a.

commit f897082bd98771c278a77a14561be9e194c3878e
Merge: c10f2332c 812235491
Author: Dan Smith <[email protected]>
Date:   Tue Jan 19 16:32:43 2021 -0500

    Merge branch 'master' into develop/update_externals

commit c10f2332c3650969a770c71ee830569911b9d13a
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 15:08:25 2021 -0500

    std::span -> gsl::span

commit 9e218034c4ecdac44392473ee8f385a25a56f3c5
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:49:00 2021 -0500

    need to redo C++17 support

commit e21d4fcf730005f605df2d345f62e4f2399a14ca
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 14:48:25 2021 -0500

    paths are wrong in "externals"

commit 1083ac1a6cc8879d2b1c9949602321197cec4ecc
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 13:52:32 2021 -0500

    latest from "nitro"

commit 6fca2584d08b2d03374450a60d64c7086c23d568
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 12:20:13 2021 -0500

    lates from coda-oss/main

commit 1073b397a60a3a5357c5b433409dd6447b773273
Author: Dan Smith <[email protected]>
Date:   Sat Jan 16 11:41:11 2021 -0500

    add back "java" and "mex"

commit 6de2fa0d43d9d40078b0c268ac3fdeb78ae7aa39
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:22:13 2021 -0500

    merge brought back a deleted #include

commit 4e23991f609f2ec430a57539f80c27561abb28c8
Merge: ebe95509a 436986f87
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:55 2021 -0500

    Merge branch 'develop/update_externals' into main

commit ebe95509a01652e16d9fc9ac8869834bd2cf60a2
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 10:18:01 2021 -0500

    slam in externals as merging creates too many conflicts

commit 436986f87f612e10ada1cce884a4519daa022a5d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:40:28 2021 -0500

    Revert "Revert "remove "nitro" files not needed in externals/nitro""

    This reverts commit e69391bfee6b5e7cd481fc83856f7eee95e83929.

commit e69391bfee6b5e7cd481fc83856f7eee95e83929
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 09:39:25 2021 -0500

    Revert "remove "nitro" files not needed in externals/nitro"

    This reverts commit da30b960bb2a2af6c4580c49cae6740588703653.

commit dd710d55110cdd7b4bd8a17b25784e25ac93c98d
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:52:28 2021 -0500

    paths are wrong in "externals"

commit da30b960bb2a2af6c4580c49cae6740588703653
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:27:21 2021 -0500

    remove "nitro" files not needed in externals/nitro

commit 120ee00fad22e0d6713184eb8f6660d97b76b721
Author: Dan Smith <[email protected]>
Date:   Wed Jan 13 08:25:11 2021 -0500

    fix missing #include file

commit fa1990597c9e08a30e110e5710ec0177d6aabfdf
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:55:17 2021 -0500

    need to redo C++17

commit 1bd0cb3a8df08c6304bea6ff3a187a2847ad37df
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:50:53 2021 -0500

    std::span removed from "nitro"

commit 4e6a7528b5888b965522f5e80d7279a36206aee8
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:30:47 2021 -0500

    latest from nitro/main

commit 99a0a01cb852152021c61696fb9b83bdab425004
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:28:13 2021 -0500

    adjust coda-oss for our usage

commit 65026c2702081ae9cd59f676a30934564148983b
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:26:59 2021 -0500

    latest from coda-oss/main

commit e6a58a2be5b66ba52b7a3747e7325acaa84276a9
Author: Dan Smith <[email protected]>
Date:   Tue Jan 12 17:24:02 2021 -0500

    slam in "main"

commit 92d5bb5ca0afce00012f8892494ef41516dc4df7
Merge: 7b8ca7066 5e5870f6b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:21 2021 -0500

    Merge branch 'develop/update_externals' of github.com:ngageoint/six-library into develop/update_externals

commit 7b8ca7066eaea523f5f57c61648e2d6093d5b454
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:17:11 2021 -0500

    remove externals/nitro/docs

commit 5e5870f6b9b1d38596e6be22ab89e07def076e68
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 18:05:56 2021 -0500

    paths are wrong when in "externals"

commit d9a5c2ff8923a322760393632391c50ed793510b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:42:08 2021 -0500

    more changes from nitro/modules/c++

commit 7aba3b8d9a1add0317b14de33b7717a8565a0b39
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:19:54 2021 -0500

    fix IOStreamWriter ctor

commit 84db123c433ef5d2ade3ad712369e23c8af8dbe8
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 17:13:14 2021 -0500

    more changes from nitro/modules/c++

commit a6880924fe205acb4faa8ca7943cf0c84d3d59e9
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 16:48:00 2021 -0500

    fix build error on Linux

commit 7a9b240ec9a313c8eb699c81dbc2742bb88fb8b4
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 15:10:45 2021 -0500

    several changes from nitro/c++ ... hoping this builds.

commit a398eefa2e2ce746becee4d72dbd7c8add57c8be
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:48:32 2021 -0500

    VCXPROJ files from nitro

commit b3c1dbd794849177d6416a34379987996d4e019e
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 14:26:17 2021 -0500

    update other nitro top-level files ... everything except modules/c++

commit 8fe3028cc3b051075b760fdd95b2562b7ec9734b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:48:24 2021 -0500

    update "c", "java", "mex", and "python" directories -- but not "c++"

commit e82f28cd40d9e4e3029085b23048ba6c4d9c7a29
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:31:22 2021 -0500

    update externals/nitro/docs

commit 89522fe0f8200111a6ea860927903f38a9021727
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:38 2021 -0500

    Revert "latest from nitro/master"

    This reverts commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d.

commit 3adb502a17a1bda89372b235e18388197a9eaf4f
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 13:19:24 2021 -0500

    ignore build/ directory

commit e89da71da0a7f494ee6e79a92f3828d8079c1c4d
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 12:14:31 2021 -0500

    latest from nitro/master

commit db45e1e2f214df8ab417ddde0875593f0bba537b
Author: Dan Smith <[email protected]>
Date:   Mon Jan 11 09:11:16 2021 -0500

    Revert "latest from "nitro""

    This reverts commit 0b99300f7c181eb073a86239444d30bc0acf7fa4.

commit 0b99300f7c181eb073a86239444d30bc0acf7fa4
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 18:02:30 2021 -0500

    latest from "nitro"

commit ae630e65c608257650c70735d5062db7e5e2dcc2
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:33:00 2021 -0500

    update externals/nitro/docs

commit f283be39d553aafad0f3132e2277038eaa4b515c
Author: Dan Smith <[email protected]>
Date:   Sat Jan 9 17:27:31 2021 -0500

    update coda-oss with latest from https://github.com/mdaus/coda-oss

commit 825a6674dba619591e343c0ecd9672703b69e3f5
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 30 13:49:02 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

    * partial update from coda-oss/main

    * latest from coda-oss/main

commit 21e2b675ffd4290149bc867024ded6d008e4fd1a
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 29 17:32:49 2020 -0500

    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<nullptr>()

    * latest from coda-oss/main

    * want "std" augmented in this repo

commit 433e81909997ccc83515b7b8551d82b9e09f1029
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 22 09:38:57 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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<T> 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

commit f217f237b20ad1aef87d1218b16f12e095d61c25
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 14:37:28 2020 -0500

    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"

commit 6ba3ffdaad96c0e4f945cce27af2f8b172ebd884
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:38:06 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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<T>.toString() where possible rather than duplicating code

    * remove duplicate code converting from a string to Enum<T>

    * 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()

commit f990e7735a1135b16f2baf0be11215ec057e3bab
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 19 10:36:33 2020 -0500

    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"

commit 514403d30f5e42b768ae5675cb8f870086d138c1
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 8 14:30:18 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit a2d5396ec559cde98f9d8adb50c78111a7d884b3
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 18:12:34 2020 -0500

    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"

commit 12f6f27e269013d95df0dfb4845dc04e831717e1
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 17:51:26 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * 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

commit e2084e8fad7af3962ef6d6e75d0ee72906f5430b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:56:09 2020 -0500

    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

commit 37f162087fd80259f8f14710ef421c4fe5073113
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 15:52:57 2020 -0500

    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

commit 9c6b41ded7392ca1048fab5dce13878255340afe
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 15:52:14 2020 -0500

    NULL -> nullptr

commit 6e673a45bd7e223496a49ccac54f912a1bece4bf
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 15:13:42 2020 -0500

    less use of sys::

commit 690ed8f54e6c88c47a8a90d1d09eef0014977e02
Merge: e8f8bd12f ef45d66b7
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 14:02:48 2020 -0500

    Merge branch 'main' into develop/use_c++11

commit e8f8bd12fcef2d7db3227ddb18017c92780aafa2
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 13:21:05 2020 -0500

    use filesystem::path and std::endian

commit ef45d66b7ce27551cb9d96555da353ef266c9e9b
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:43:44 2020 -0500

    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 <filesystem> 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 <filesystem>

    * 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 <thread>

    * Revert "sys::Off_T -> ptrdiff_t"

    This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2.

    * sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

    * latest from "coda-oss"

commit d038e0e3d68a9dc1783d84ad39f5e03aced505ff
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:21:22 2020 -0500

    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

commit 10df67a17abcf66dd74e3608195dd5957e0c2241
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 12:20:04 2020 -0500

    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"

commit 1ba1665394b73b70d2857cc0310d9b08866009e5
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 11:43:03 2020 -0500

    sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

commit 42a4e29076885ca6814a1937ca12eccf0759863e
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 11:03:54 2020 -0500

    Revert "sys::Off_T -> ptrdiff_t"

    This reverts commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2.

commit aa22a370bb02574640cf7c0b2bc20bdd4fd2add2
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 10:35:46 2020 -0500

    sys::Off_T -> ptrdiff_t

commit 4a46f6c4176790564ef29f7a2312a660a1601dd1
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 10:25:44 2020 -0500

    use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

commit d7bd7902d36cecd670bff9d73b7880fcdada730f
Merge: 5d3b4bc57 48deaeb01
Author: Dan Smith <[email protected]>
Date:   Sat Dec 5 10:06:09 2020 -0500

    Merge branch 'main' into develop/use_c++11

commit 48deaeb01376d88956a1b84097ae953c2e939c85
Author: J. Daniel Smith <[email protected]>
Date:   Sat Dec 5 10:05:33 2020 -0500

    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()

commit 5d3b4bc573aea68f1e084fe4f7e831bbd4af3298
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 14:45:15 2020 -0500

    build with std::byte

commit 36535d9694198483f8621fd4ad4b26eb52a2965f
Merge: af38657ed b03c97994
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 14:19:37 2020 -0500

    Merge branch 'main' into develop/use_c++11

commit af38657ed6ddf381668f875a480ae1ff26a569e7
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 14:17:28 2020 -0500

    use std::byte (not quite working yet, but need to move code to a faster machine)

commit 7b884915653736b15ec5e1377d86f1b891c5cbf7
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 11:53:22 2020 -0500

    use int32_t et. al. instead of sys::Int32_T

commit 400ab90328b0e2e1d567c572256b61119d2ee5d1
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 11:33:53 2020 -0500

    use std::unique_ptr<[]> instead of mem::ScopedArray

commit b03c97994b65dad3e5fe5af14be3dc43379423f3
Author: J. Daniel Smith <[email protected]>
Date:   Wed Dec 2 10:55:11 2020 -0500

    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

commit 403b5a2a44e858bcc741d48a5bee583658bffacb
Merge: acb882d22 472cd0bba
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 09:51:14 2020 -0500

    Merge branch 'develop/update_externals' into develop/use_c++11

commit 472cd0bba0945a819a2baf188992da8a5f2890e0
Author: Dan Smith <[email protected]>
Date:   Wed Dec 2 09:50:47 2020 -0500

    update "nitro" to get SegmentMemorySource overloads

commit acb882d2205e587195a28f020ac5aaae4e6c8483
Merge: d9e7b59ea f1b6d2255
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 18:05:24 2020 -0500

    Merge branch 'main' into develop/use_c++11

commit f1b6d2255807c658c55a83232cd3e8b40a59348b
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 17:53:46 2020 -0500

    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"

commit b445329f15a1099020801ad86377a92e9b2f89c7
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 17:31:43 2020 -0500

    unit-test paths are wrong for "externals"

commit d9e7b59eacb462868947530fc452a1143ed6806e
Merge: 2c86f4e88 a0f918549
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 16:23:45 2020 -0500

    Merge branch 'develop/update_externals' into develop/use_c++11

commit a0f918549b4e20eb6d46c5804e4c1dac68abfa6a
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 16:23:19 2020 -0500

    update coda-oss and nitro with less use of sys::

commit 2c86f4e8862bd43a5635bfb94153dd7a5f14c613
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 15:28:57 2020 -0500

    mem::SharedPtr -> std::shared_ptr

commit 0e60d325e19326960a44f2d1b650c2a0a8db40db
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 14:47:32 2020 -0500

    use int64_t, etc. instead of sys::Int64_T

commit 4ac10f90a1a646d134c4ab560ada1c61d414b8c2
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 13:52:22 2020 -0500

    update coda-oss and fix compiler errors

commit 0eae36ff04134871d58a36023ab107901e9e8734
Author: Dan Smith <[email protected]>
Date:   Tue Dec 1 13:31:23 2020 -0500

    update "nitro"

commit 4538574440414f950dd454424ee00ee15754fe0e
Author: J. Daniel Smith <[email protected]>
Date:   Tue Dec 1 13:11:34 2020 -0500

    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

commit 79aa44ff0388a3ba7cdcc51d42bd1c11475efdc4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 30 13:45:16 2020 -0500

    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 <filesystem> 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 <filesystem>

    * tweak project settings for consistency

    * unit-test for createFakeComplexData()

commit ce28071805c3d6aeb23413ff13dd1d4f0c75e7fc
Author: Dan Smith <[email protected]>
Date:   Mon Nov 9 14:51:12 2020 -0500

    use .tar, not .tar.gz

commit f9283e8b6eb56a2ca4fb193964240087a8c1ce7d
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:31:00 2020 -0500

    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

commit 3c07e7278d53b0500d35c1153bbd827f74b1b090
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 9 14:10:17 2020 -0500

    update "nitro" and "coda-oss" (#370)

    * update "nitro" and "coda-oss"

    * Delete CMakeSettings.json

    * changeFileHeader() doesn't (yet) work in "externals"

commit 5c4bfb60bdb0dd778135dc7476b82735e82b0413
Merge: 950668d00 90e42da6b
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:35:45 2020 -0500

    Merge branch 'develop/update_externals' into main

commit 90e42da6b5a3c2cb23e2183bbd5afc46b1785507
Author: Dan Smith <[email protected]>
Date:   Wed Nov 4 09:34:33 2020 -0500

    use sys::Filesystem

commit f014cf4b86e62d26971e458af52d5e28f183ea6d
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 18:27:23 2020 -0500

    use Filesystem.h from coda-oss instead of <filesystem>

commit 950668d00022199c0c5e4a60f6ee0a1524c92fbc
Author: J. Daniel Smith <[email protected]>
Date:   Tue Nov 3 15:51:14 2020 -0500

    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

commit 29d743f25f42b89e9c34a7d64ae659fb263c5073
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:30:24 2020 -0500

    latest from "main" on coda-oss

commit 70d253c1f34df1bd79aca35737e9fc60ab97cc61
Merge: f332607bf 3a042b670
Author: Dan Smith <[email protected]>
Date:   Tue Nov 3 15:24:47 2020 -0500

    Merge branch 'main' into develop/update_externals

commit 3a042b6707eef97a43b508513ed11ca7f7bc0f2a
Author: J. Daniel Smith <[email protected]>
Date:   Mon Nov 2 16:03:00 2020 -0500

    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

commit f332607bfe6ada9958f68c2fa370055600756486
Author: Dan Smith <[email protected]>
Date:   Mon Nov 2 15:41:41 2020 -0500

    latest from coda-oss

commit 5c48090a2dbb0c665a12f45cf126329395fcb0c4
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 17:56:20 2020 -0400

    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

commit 313a60141a3e42d99067fa5bc6a9a98cfbe6f575
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:28:09 2020 -0400

    latest from coda-oss

commit f71c7eda1610f1dc5f9668c541c8cd925fd3c963
Merge: d3423b3b8 404dadcd2
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 17:26:57 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 404dadcd26851a243332d8263e57230687bad231
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 16:07:44 2020 -0400

    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

commit d3423b3b832f65dfc699c6faf7e1a055b226f2d0
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:57:51 2020 -0400

    latest from coda-oss

commit 18613b5bfb2e988e1c809a3df774e6335a5537b9
Merge: 8ff24519e 21a550c5a
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 14:48:50 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 21a550c5aca6c0c2f0d9cb9112be3f8f84c54cdb
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 26 12:35:42 2020 -0400

    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

commit 8ff24519ec9c24df4d2a4f5302eaec697e048737
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 12:12:01 2020 -0400

    restore changes lost in merge

commit f996fa8e2f7c496b5526825695334e64fdbf66d9
Merge: 1edffffdd fe9dffff6
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 11:47:16 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 1edffffddef9bdf94bd67a68aacfd03d5ee09cdd
Author: Dan Smith <[email protected]>
Date:   Mon Oct 26 11:27:40 2020 -0400

    latest from "main" on coda-oss: xml.lite updates for UTF-8

commit fe9dffff6a19a4793dabad070b01685fe784fdfb
Author: J. Daniel Smith <[email protected]>
Date:   Wed Oct 21 14:09:05 2020 -0400

    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

commit cdb08935c7c6387b343b491925fac4f4a126425c
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:43:18 2020 -0400

    one more coda-oss update

commit 39344b1593c503a1b2c162dbf53b16ee7795dfa1
Merge: 97ecde918 92af349d9
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:39:17 2020 -0400

    Merge branch 'main' into develop/update_externals

commit 97ecde918cab214c3ec9666b05b9e809897c72fc
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:27:07 2020 -0400

    fix StringStream() .ctor()

commit 2be4824922dee267a5d0244c90ef4fba70da461d
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:16:35 2020 -0400

    updates from coda-oss to make TextEncoding part of the OutputStream

commit c7ff9316857b10d2f9a956565b01cd992ca91522
Author: Dan Smith <[email protected]>
Date:   Wed Oct 21 13:11:15 2020 -0400

    coda-oss updates to make TextEncoding part of the OutputStream

commit 92af349d98f374a4514b26d507d274b5e1e9074d
Author: J. Daniel Smith <[email protected]>
Date:   Tue Oct 20 12:05:14 2020 -0400

    update coda-oss with latest from "main" (#362)

commit 495d74aef2a4dea3e2540eba436d84a157716db1
Author: Dan Smith <[email protected]>
Date:   Tue Oct 20 11:41:40 2020 -0400

    update coda-oss with latest from "main"

commit d16b60da16d53960bb981514dd0dfc30c0233a44
Merge: e8636f450 52207d7b3
Author: Dan Smith <[email protected]>
Date:   Tue Oct 20 11:34:39 2020 -0400

    Merge branch 'main' of github.com:ngageoint/six-library into main

commit 52207d7b3aadb6c37055760bbb4e0706f0d88497
Author: J. Daniel Smith <[email protected]>
Date:   Sat Oct 17 17:41:44 2020 -0400

    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 <filesystem> 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

commit e8636f45047bb96d9a500ebeb2ecbe4cdccafc2b
Author: Dan Smith <[email protected]>
Date:   Sat Oct 17 16:44:46 2020 -0400

    build crop_sicd

commit bb1dbe6018b5afaa8f6bded43bc995f9e0ce695f
Author: Dan Smith <[email protected]>
Date:   Sat Oct 17 15:43:33 2020 -0400

    can't have "check_valid_six" as a directory for *ix build

commit 67ee2841f15b36e2dfcc1becdbcd5e0b01c4bd1e
Author: J. Daniel Smith <[email protected]>
Date:   Sat Oct 17 15:30:31 2020 -0400

    get rid of hard-coded paths with <filesystem> (#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 <filesystem> to remove hard-coded paths

    * in Visual Studio, run check_valid_six with a pre-defined path

    * tweak plugin dir

commit 165fb1dc4ef6cfcc632c9dbbeeea5a631b46b5e3
Author: J. Daniel Smith <[email protected]>
Date:   Sat Oct 17 14:37:49 2020 -0400

    use c++11 (#359)

    * getting rid of std::auto_ptr<> because it's gone in C++17

    * build all projects with C++17

commit 54b2d6fb0b58558e45b2cc9778c305f8693575df
Author: J. Daniel Smith <[email protected]>
Date:   Wed Oct 14 16:38:32 2020 -0400

    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

commit 7e9999649ba0c2bc46a6bb1b1159475fba3c8a9d
Merge: 87307818b 790ab2694
Author: J. Daniel Smith <[email protected]>
Date:   Tue Oct 13 14:38:53 2020 -0400

    Merge pull request #357 from ngageoint/develop/jdsmith

    build externals/coda-oss by itself

commit 790ab26946e7336b19767945f727816cbe145ff5
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 14:08:18 2020 -0400

    build externals/coda-oss by itself

commit 87307818b0270f83483f77f08ac1ce05a925de92
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 13:47:56 2020 -0400

    fix nitf::Field to get rid of compiler errors

commit 571196e0b60ece0095140a7890df8e50fa38525a
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 13:21:09 2020 -0400

    Revert "Create codeql-analysis.yml"

    This reverts commit b261bbd26098485afd60f490e93b90fc4b7d84ed.

commit b6617ecd990bb3a51eacf5ef3c600e11c51692da
Merge: 3f130257d 1fc144409
Author: J. Daniel Smith <[email protected]>
Date:   Tue Oct 13 13:19:39 2020 -0400

    Merge pull request #356 from ngageoint/develop/jdsmith

    update "nitro" and "coda-oss"

commit 1fc1444096d76e4d4c2466dce114621e0288c5ea
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 12:35:39 2020 -0400

    update nitro with latest from "main"

commit 7b79bdf75715b2b5f38319516d340ad49e6a2048
Merge: d13fd9767 3f130257d
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 12:20:49 2020 -0400

    Merge branch 'main' into develop/jdsmith

commit d13fd9767cd688b0b167688fb5fcce555a01bbc1
Author: Dan Smith <[email protected]>
Date:   Tue Oct 13 12:20:02 2020 -0400

    update coda-oss with latest from "main"

commit 3f130257d86cbbf09cb6fdbf7b8f46cffeac87be
Merge: 43882771c d216783a2
Author: Dan Smith <[email protected]>
Date:   Tue Oct 6 09:47:36 2020 -0400

    Merge commit 'd216783a2d5ae168a34bc41da70c5c0004648c4a' into main

commit 43882771cbe3bf8d934b1e369ee68e935c8eb07f
Author: J. Daniel Smith <[email protected]>
Date:   Tue Oct 6 09:09:47 2020 -0400

    Create codeql-analysis.yml

commit 75868bb52f62f30eea6b4b7236d980be55465d8b
Merge: 533878c78 a85c00bff
Author: J. Daniel Smith <[email protected]>
Date:   Mon Oct 5 15:18:16 2020 -0400

    Merge pull request #354 from ngageoint/develop/main

    update "externals"

commit a85c00bff760b055e89e4f7b67154503199529ef
Author: Dan Smith <[email protected]>
Date:   Mon Oct 5 14:37:39 2020 -0400

    update coda-oss

commit d0d9f24e944114983c4c28b0e2beeb1cd5eeddba
Author: Dan Smith <[email protected]>
Date:   Mon Oct 5 14:29:50 2020 -0400

    update externals/nitro

commit 533878c78ca2227c469bad9ec3cd9eb2bc4324b2
Merge: 28166d355 8cd8a703d
Author: J. Daniel Smith <[email protected]>
Date:   Tue Sep 22 14:28:52 2020 -0400

    Merge pull request #349 from ngageoint/develop/main

    update with latest from "nitro:main"

commit 8cd8a703dc2ab4f71cd0f20372f1616d0a11bdf4
Author: Dan Smith <[email protected]>
Date:   Tue Sep 22 13:41:07 2020 -0400

    latest from nitro:main

commit 916f62a29b4666b32452d1ace285615ca1ebd07c
Author: Dan Smith <[email protected]>
Date:   Sat Sep 19 13:59:46 2020 -0400

    impelement std::auto_ptr "overrides"

commit 914710ccf93bdb5566b9584a4ff1ceb8c2c32e06
Author: Dan Smith <[email protected]>
Date:   Sat Sep 19 12:48:52 2020 -0400

    provide std::auto_ptr "overloads" so that existing Python wrapper code continues to work w/o changes

commit c95e858895cbbe675399414bab0fefd463040541
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 17:55:42 2020 -0400

    need std::auto_ptr<> overloads for pre-generated Python wrapper code

commit ce51201193fa65984b11d2f2096bf611b4123cd0
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 17:31:04 2020 -0400

    std::auto_ptr -> std::unique_ptr

commit f121bad9bcc7170a041195262450f513d0516b8e
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 15:35:29 2020 -0400

    ignore CMake-generated files

commit 130e3cdcf7c9a9b0de6e3796d289c532e975544d
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 14:22:26 2020 -0400

    fix bad merge

commit cbb9b90630fd2f2971874d96214a9fee741f11d8
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 14:20:01 2020 -0400

    don't want "docs" directory in externals/nitro

commit e6fe2f18f70f43ed413dc22d0c8d27bf19d863b6
Merge: b36a80970 60a45b805
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 14:19:07 2020 -0400

    Merge branch 'develop/master' into develop/main

commit b36a8097083afa8e55eb709b0b4ece168e7f995c
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 13:45:40 2020 -0400

    update externals/coda-oss with latest from "main"

commit acc353ef6794bc39b294f854b04c7e81621e1574
Author: Dan Smith <[email protected]>
Date:   Wed Sep 16 13:42:00 2020 -0400

    update externals/nitro…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant