Skip to content

Commit

Permalink
latest from coda-oss and nitro (#490)
Browse files Browse the repository at this point in the history
* 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…
  • Loading branch information
J. Daniel Smith authored Oct 12, 2021
1 parent 9d32bc8 commit 793b3c7
Show file tree
Hide file tree
Showing 51 changed files with 1,180 additions and 2,011 deletions.
12 changes: 6 additions & 6 deletions externals/coda-oss/modules/c++/cli/unittests/test_cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ TEST_CASE(testChoices)
std::ostringstream buf;
parser.printHelp(buf);

mem::auto_ptr<cli::Results> results(parser.parse(str::split("-v", " ")));
std::unique_ptr<cli::Results> results(parser.parse(str::split("-v", " ")));
TEST_ASSERT(results->hasValue("verbose"));
TEST_ASSERT(results->get<bool>("verbose", 0));

Expand Down Expand Up @@ -106,7 +106,7 @@ TEST_CASE(testMultiple)
parser.setProgram("tester");
parser.addArgument("-v --verbose --loud -l", "Toggle verbose", cli::STORE_TRUE);

mem::auto_ptr<cli::Results> results(parser.parse(str::split("-v")));
std::unique_ptr<cli::Results> results(parser.parse(str::split("-v")));
TEST_ASSERT(results->hasValue("verbose"));
TEST_ASSERT(results->get<bool>("verbose"));

Expand All @@ -129,7 +129,7 @@ TEST_CASE(testSubOptions)
std::ostringstream buf;
parser.printHelp(buf);

mem::auto_ptr<cli::Results> results(parser.parse(str::split("-x:special")));
std::unique_ptr<cli::Results> results(parser.parse(str::split("-x:special")));
TEST_ASSERT(results->hasSubResults("extra"));
TEST_ASSERT(results->getSubResults("extra")->get<bool>("special"));

Expand All @@ -153,7 +153,7 @@ TEST_CASE(testIterate)
parser.addArgument("-v --verbose", "Toggle verbose", cli::STORE_TRUE);
parser.addArgument("-c --config", "Specify a config file", cli::STORE);

mem::auto_ptr<cli::Results>
std::unique_ptr<cli::Results>
results(parser.parse(str::split("-v -c config.xml")));
std::vector<std::string> keys;
for(cli::Results::const_iterator it = results->begin(); it != results->end(); ++it)
Expand All @@ -171,7 +171,7 @@ TEST_CASE(testRequired)
parser.addArgument("-v --verbose", "Toggle verbose", cli::STORE_TRUE);
parser.addArgument("-c --config", "Specify a config file", cli::STORE)->setRequired(true);

mem::auto_ptr<cli::Results> results;
std::unique_ptr<cli::Results> results;
TEST_EXCEPTION(results.reset(parser.parse(str::split(""))));
TEST_EXCEPTION(results.reset(parser.parse(str::split("-c"))));
results.reset(parser.parse(str::split("-c configFile")));
Expand All @@ -187,7 +187,7 @@ TEST_CASE(testUnknownArgumentsOptions)
parser.addArgument("-x --extra", "Extra options", cli::SUB_OPTIONS);

// Use a flag that is incorrect
mem::auto_ptr<cli::Results> results(parser.parse(str::split("-z")));
std::unique_ptr<cli::Results> results(parser.parse(str::split("-z")));
TEST_ASSERT_FALSE(results->get<bool>("verbose"));
TEST_ASSERT_EQ(outStream.str(), std::string("Unknown arg: -z\n"));

Expand Down
4 changes: 2 additions & 2 deletions externals/coda-oss/modules/c++/logging/source/Setup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ logging::setupLogger(const path& program_,
size_t logBytes)
{
const auto program = program_.string();
mem::auto_ptr<logging::Logger> log(new logging::Logger(program));
std::unique_ptr<logging::Logger> log(new logging::Logger(program));

// setup logging level
std::string lev = logLevel;
Expand Down Expand Up @@ -89,5 +89,5 @@ logging::setupLogger(const path& program_,
logHandler->setFormatter(formatter.release());
log->addHandler(logHandler.release(), true);

return log;
return mem::auto_ptr<logging::Logger>(log.release());
}
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class ScopedCloneablePtr
mPtr(std::move(ptr))
{
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
explicit ScopedCloneablePtr(mem::auto_ptr<T> ptr)
{
reset(ptr);
Expand Down Expand Up @@ -140,7 +140,7 @@ class ScopedCloneablePtr
{
mPtr = std::move(ptr);
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
void reset(mem::auto_ptr<T> ptr)
{
reset(std::unique_ptr<T>(ptr.release()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class ScopedCopyablePtr
mPtr(std::move(ptr))
{
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
explicit ScopedCopyablePtr(mem::auto_ptr<T> ptr)
{
reset(ptr);
Expand Down Expand Up @@ -145,7 +145,7 @@ class ScopedCopyablePtr
{
mPtr = std::move(ptr);
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
void reset(mem::auto_ptr<T> ptr)
{
reset(std::unique_ptr<T>(ptr.release()));
Expand Down
23 changes: 17 additions & 6 deletions externals/coda-oss/modules/c++/mem/include/mem/SharedPtrCpp11.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,23 @@ namespace mem
// "&&" and std::move. But for member data and the like it can reduce some
// boiler-plate code; note that it's often possible to just use std::unique_ptr
// directly. This is mostly needed to support existing interfaces.
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
template <typename T>
using auto_ptr = std::auto_ptr<T>;
#if CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if defined(CODA_OSS_no_autoptr) && (!CODA_OSS_no_autoptr)
#error "std::auto_ptr was removed in C++17."
#endif
#define CODA_OSS_autoptr_is_std 0 // mem::auto_ptr != std::auto_ptr
#else // C++11 or C++14 still have std::auto_ptr, but it's depricated
#ifdef CODA_OSS_no_autoptr // don't use std::auto_ptr even if it's available
#define CODA_OSS_autoptr_is_std 0 // mem::auto_ptr != std::auto_ptr
#else
#define CODA_OSS_autoptr_is_std 1 // mem::auto_ptr == std::auto_ptr
#endif
#endif
template <typename T> using auto_ptr =
#if CODA_OSS_autoptr_is_std
std::auto_ptr<T>;
#else
template <typename T>
using auto_ptr = std::unique_ptr<T>;
std::unique_ptr<T>;
#endif

// Pretty much give-up on mem::SharedPtr as it's too hard to get something that will
Expand Down Expand Up @@ -103,7 +114,7 @@ class SharedPtr : public std::shared_ptr<T>
std::shared_ptr<T>::reset(scopedPtr.release());
}

#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
// The base class only handles auto_ptr<T>&&
explicit SharedPtr(mem::auto_ptr<T> ptr) :
std::shared_ptr<T>(ptr.release())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ struct VectorOfPointers
mValues.resize(mValues.size() + 1);
mValues.back() = value.release();
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
template <typename OtherT>
void push_back(mem::auto_ptr<OtherT> value)
{
Expand Down Expand Up @@ -199,7 +199,7 @@ template <typename T>
mValues.resize(mValues.size() + 1);
mValues.back().reset(value.release());
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
template <typename OtherT>
void push_back(mem::auto_ptr<OtherT> value)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ TEST_CASE(testNullCopying)
TEST_CASE(testAutoPtrConstructor)
{
int * const rawPtr(new int(89));
mem::auto_ptr<int> autoPtr(rawPtr);
std::unique_ptr<int> autoPtr(rawPtr);
const mem::SharedPtr<int> ptr(autoPtr.release());
TEST_ASSERT_EQ(ptr.get(), rawPtr);
TEST_ASSERT_EQ(autoPtr.get(), static_cast<int *>(NULL));
Expand All @@ -104,7 +104,7 @@ TEST_CASE(testAutoPtrReset)
// Similar to the construction test,
// except using the reset() that takes an auto_ptr
int* const rawPtr1 = new int(90);
mem::auto_ptr<int> autoPtr(rawPtr1);
std::unique_ptr<int> autoPtr(rawPtr1);

int* const rawPtr2 = new int(100);
mem::SharedPtr<int> sharedPtr(rawPtr2);
Expand All @@ -123,7 +123,7 @@ TEST_CASE(testAutoPtrReset)
TEST_CASE(testCopying)
{
int * const rawPtr(new int(89));
mem::auto_ptr<mem::SharedPtr<int>> ptr3;
std::unique_ptr<mem::SharedPtr<int>> ptr3;
{
mem::SharedPtr<int> ptr1(rawPtr);
TEST_ASSERT_EQ(ptr1.get(), rawPtr);
Expand Down Expand Up @@ -287,7 +287,7 @@ TEST_CASE(testCasting)
{
// Test creating SharedPtr of base class from auto pointer of derived
Bar* const rawBar(new Bar(456));
mem::auto_ptr<Bar> autoBar(rawBar);
std::unique_ptr<Bar> autoBar(rawBar);
const mem::SharedPtr<Foo> fooPtr(autoBar.release());
TEST_ASSERT_EQ(fooPtr.get(), rawBar);
TEST_ASSERT_EQ(autoBar.get(), static_cast<Bar *>(NULL));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class CPUAffinityThreadInitializerLinux :
*/
CPUAffinityThreadInitializerLinux(
std::unique_ptr<const sys::ScopedCPUMaskUnix>&& cpu);
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
CPUAffinityThreadInitializerLinux(
mem::auto_ptr<const sys::ScopedCPUMaskUnix> cpu);
#endif
Expand Down
4 changes: 2 additions & 2 deletions externals/coda-oss/modules/c++/mt/include/mt/ThreadGroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ struct ThreadGroup
* \param runnable auto_ptr to sys::Runnable
*/
void createThread(std::unique_ptr<sys::Runnable>&& runnable);
#if !CODA_OSS_cpp17
#if CODA_OSS_autoptr_is_std
void createThread(mem::auto_ptr<sys::Runnable> runnable);
#endif

Expand Down Expand Up @@ -161,7 +161,7 @@ struct ThreadGroup
mt::ThreadGroup& parentThreadGroup,
std::unique_ptr<CPUAffinityThreadInitializer>&& threadInit =
std::unique_ptr<CPUAffinityThreadInitializer>(nullptr));
#if !CODA_OSS_cpp17
#if CODA_OSS_autoptr_is_std
ThreadGroupRunnable(
mem::auto_ptr<sys::Runnable> runnable,
mt::ThreadGroup& parentThreadGroup,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ CPUAffinityThreadInitializerLinux::CPUAffinityThreadInitializerLinux(
mCPU(std::move(cpu))
{
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
CPUAffinityThreadInitializerLinux::CPUAffinityThreadInitializerLinux(
mem::auto_ptr<const sys::ScopedCPUMaskUnix> cpu) :
CPUAffinityThreadInitializerLinux(std::unique_ptr<const sys::ScopedCPUMaskUnix>(cpu.release()))
Expand Down
8 changes: 4 additions & 4 deletions externals/coda-oss/modules/c++/mt/source/ThreadGroup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ void ThreadGroup::createThread(std::unique_ptr<sys::Runnable>&& runnable)
mThreads.push_back(thread);
thread->start();
}
#if !CODA_OSS_cpp17
#if CODA_OSS_autoptr_is_std
void ThreadGroup::createThread(mem::auto_ptr<sys::Runnable> runnable)
{
createThread(std::unique_ptr<sys::Runnable>(runnable.release()));
Expand Down Expand Up @@ -123,13 +123,13 @@ void ThreadGroup::addException(const except::Exception& ex)

mem::auto_ptr<CPUAffinityThreadInitializer> ThreadGroup::getNextInitializer()
{
mem::auto_ptr<CPUAffinityThreadInitializer> threadInit;
std::unique_ptr<CPUAffinityThreadInitializer> threadInit;
if (mAffinityInit.get())
{
threadInit = mAffinityInit->newThreadInitializer();
}

return threadInit;
return mem::auto_ptr<CPUAffinityThreadInitializer>(threadInit.release());
}

ThreadGroup::ThreadGroupRunnable::ThreadGroupRunnable(
Expand All @@ -141,7 +141,7 @@ ThreadGroup::ThreadGroupRunnable::ThreadGroupRunnable(
mCPUInit(std::move(threadInit))
{
}
#if !CODA_OSS_cpp17
#if CODA_OSS_autoptr_is_std
ThreadGroup::ThreadGroupRunnable::ThreadGroupRunnable(
mem::auto_ptr<sys::Runnable> runnable,
ThreadGroup& parentThreadGroup,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ int main(int argc, char** argv)
"Enable CPU pinning",
cli::STORE_TRUE,
"pinToCPU")->setDefault(false);
const mem::auto_ptr<cli::Results> options(parser.parse(argc, argv));
const std::unique_ptr<cli::Results> options(parser.parse(argc, argv));

const bool pinToCPU = options->get<bool>("pinToCPU");
const size_t numThreads = options->get<size_t>("threads");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class SSLConnection : public NetConnection
SSL_CTX* ctx,
bool serverAuth = false,
const std::string& host = "");
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
SSLConnection(mem::auto_ptr<net::Socket> socket,
SSL_CTX * ctx,
bool serverAuth = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class SSLConnectionClientFactory : public NetConnectionClientFactory
* \return A new SSLConnection
*/
virtual NetConnection* newConnection(std::unique_ptr<net::Socket>&& toServer);
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
virtual NetConnection* newConnection(mem::auto_ptr<net::Socket> toServer);
#endif

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ net::ssl::SSLConnection::SSLConnection(std::unique_ptr<net::Socket>&& socket,

setupSocket(host);
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
net::ssl::SSLConnection::SSLConnection(mem::auto_ptr<net::Socket> socket,
SSL_CTX * ctx,
bool serverAuth,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ net::NetConnection* net::ssl::SSLConnectionClientFactory::newConnection(
return (new net::NetConnection(std::move(toServer)));
#endif
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
net::NetConnection * net::ssl::SSLConnectionClientFactory::newConnection(mem::auto_ptr<net::Socket> toServer)
{
return newConnection(std::unique_ptr<net::Socket>(toServer.release()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class NetConnection : public io::BidirectionalStream
//! we own the ptr after this transaction
NetConnection(std::unique_ptr<net::Socket>&& socket) : mSocket(socket.release())
{}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
NetConnection(mem::auto_ptr<net::Socket> socket) : mSocket(socket.release())
{}
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class NetConnectionClientFactory
*
*/
virtual NetConnection* newConnection(std::unique_ptr<Socket>&& toServer);
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
virtual NetConnection* newConnection(mem::auto_ptr<Socket> toServer);
#endif
/*!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ net::NetConnection* net::NetConnectionClientFactory::newConnection(
{
return new net::NetConnection(std::move(toServer));
}
#if !CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
net::NetConnection* net::NetConnectionClientFactory::newConnection(
mem::auto_ptr<net::Socket> toServer)
{
Expand Down
5 changes: 3 additions & 2 deletions externals/coda-oss/modules/c++/net/source/Socket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

#include "net/Socket.h"

#include <std/memory>

net::Socket::Socket(int proto)
{
mNative = ::socket(AF_INET, proto, 0);
Expand Down Expand Up @@ -73,8 +75,7 @@ mem::auto_ptr<net::Socket> net::Socket::accept(net::SocketAddress& fromClient)
net::SockAddrIn_T& in = fromClient.getAddress();

net::SockLen_T addrLen = sizeof(in);
return mem::auto_ptr<net::Socket>(
new Socket(::accept(mNative, (net::SockAddr_T *) &in, &addrLen), true) );
return mem::auto_ptr<net::Socket>(new Socket(::accept(mNative, (net::SockAddr_T *) &in, &addrLen), true));
}

size_t net::Socket::recv(void* b, size_t len, int flags)
Expand Down
Loading

0 comments on commit 793b3c7

Please sign in to comment.