Skip to content

Commit

Permalink
return std::optional<> from "enum" utilities (#480)
Browse files Browse the repository at this point in the history
* latest from coda-oss

* latest from coda-oss to build with older compilers

* SWIG doesn't like "final"

* remove "final" as SWIG doesn't like it

* add missing adapterWriteBlock() implementation

* restore changes from release/2.10.1 to fix broken unit-test; WIP

* begin work on getting rid of the UNMERGE_SEGMENT macro

* closer to having UNMERGE_SEGMENT_ be a function

* pass remaining arguments to macro

* make the macro a function

* get rid of intermediate macros/functions

* prepare for moveTRE() changes

* code is now closer to moveTRE() changes

* code is even closer to new Record.c

* inching ever closer to moveTREs()

* check for wrap-around and  NULL iterator

* create & assign at the same time; ASSERTs

* fewer diffs with code in "master"

* added more NULL-checking

* run  test_tre_read.cpp unittest with CMake

* latest from coda-oss

* arguments to List iterator routines can be "const"

* rename "coda-oss" to include version #

* externals/coda-oss is now a junction or sym-link

* add back build directory

* add back .cmake files

* nitro doesn't need "re"/"pcre"

* get red of the version number (for now); we've been w/o for a very long time

* missing "build" and "cmake" files

* do rename (again)

* restore coda-oss

* rename "coda-oss"

* missing "build" and "cmake" directories

* trying out -fsanitize=address

* nitf_FieldType is no longer a "scoped" enum

* more NULL checks, especially around strdup()

* fix some code-analysis diagnostics

* avoid reinterpret_cast

* latest from coda-oss

* another update from coda-oss

* and still more coda-oss updates

* std:: changes from coda-oss

* tweak std:: handling from coda-oss

* latest from coda-oss

* latest from coda-oss

* fix some code-analysis warnings about "arithmetic overflow."

* crank-up compiler warnings

* stay at /W3 for now

* cleanup more "Arithmetic overflow" code-analysis warnings

* fix more "Arithmetic overflow" code-analysis warnings

* removing remaining "Arithmetic overflow" code-analysis diagnostics

* remove code-analysis diagnostic about NULL pointer

* remove more compiler warnings and code-analysis diagnostics

* more code-analysis cleanup

* remove some CodeQL diagnostics

* fix typo

* fix more CodeQL diagnostics

* chain constructors to reduce duplicated code

* and still more code-analysis diagnostics

* no duplicate "const"

* trying to fix remaining formatting diagnostics

* latest from coda-oss

* Java and MATLAB bindings are no longer built.

* Revert "latest from coda-oss"

This reverts commit f7cb3f40d8c97e8086e967d9c09153fc6b988f14.

* remove -Wall as that might be causing GitHub build break

* add back -Wall ... ?

* Revert "Revert "latest from coda-oss""

This reverts commit 703f3ec21bd8605ae4a8985ec095a04cfce12a4d.

* trying to figure out what broke GitHub build

* does this build on GitHub ... ?

* still trying to figure out broken GitHub build

* try explicitly setting ubuntu versoin

* trying ubuntu-18.04

* remove unused coda-oss stuff

* changes to python wrappers

* PlatformToolset() isn't used

* slam in changes from "master"

* update coda-oss to remove compiler warnings

* remove more code-analysis diagnostics

* adjust the code-analysis diagnostics that are disabled

* wrap nitf_Error to reduce code-analysis diagnostics

* update coda-oss to reduce compiler warnings

* no import/logging.h

* more code-analysis cleanup

* update coda-oss to get code-analysis changes

* PlatformToolset() is no longer used

* more changes from coda-oss

* Update coda-oss.hpp

* =default from coda-oss

* more changes for =default from coda-oss

* explicitly =delete copy/assignment

* latest from coda-oss

* pragmas only for MSVC

* turn on more code-analysis diagnostics

* latest from coda-oss

* implement ScopedArray with std::unique_ptr<>

* reduce explicit use of new and delete

* remove more explicit new and delete

* #includes for std::make_unique

* latest from coda-oss

* build with fewer compiler warnings/code-analysis diagnostics

* create test_extract.cpp that is very similar to nitf_extract.py

* ubuntu-latest

* avoid avoid array -> pointer decay in nitf::Error

* adjust CMakeLists.txt to turn on more compiler warnings

* infrastructure for exporting symbols from nitf-c++

* Create nitf-c++-dll.vcxproj

* use NITRO_NITFCPP_API to export classes/functions

* remove reference to nitf-c from "Test" project

* _LIB and _WINDLL are part of Visual Studio, not MSVC

* set path to CODA-OSS libraries

* need to force-resolve the _destruct() functions

* add new files to CMakeLists.txt

* tweak Field::get()

* begin work on separating C and C++ unit-tests

* finish separating unit-tests into C and C++

* more tweaks for building as a DLL

* allow unit-tests to use C++ API rather than direct calls to C

* "Test" project should reference nitf-c, not nitf-c++

* more C APIs exposed through C++ for unit-testing

* more wrapping of C APIs in C++ for unit-tests

* test_tre_read needs C, not C++ routines

* wrap nitf_ImageIO_getMaskInfo() for unit-tests

* make it easier for clients to consume nitf-c++ as a DLL

* don't need a separate project for the DLL anymore

* building mt/tests crashes GCC on github

* restore change lost in merge from "master"

* building mem/tests causes GCC to crash on github

* fix WAF build

* #pragma-away 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...'

* export more classes; but sure nitf.hpp gets everything

* latest from coda-oss

* changes from six to reduce code-analysis diagnostics

* latest from "coda-oss"

* don't "compress" build output; everyone should build from source

* utility routines to initialize nrt_Error from other things

* reduce try/catch code duplication with a few lambdas

* reduce use of .c_str()

* changes from coda-oss to reduce code-analysis diagnostics

* C++20 doesn't like our use of gsl::make_span

* cleanup for VS2019 16.10

* latest from coda-oss

* Delete Span_.h

* remove CodeQL diagnostics

* create/initialize a SubWindow from an ImageHeader

* simplify creation of nitf::SubWindow

* Hook up "property" support; not yet used.

* infrastructure for getting ntif::Fields with less repetition of the field name

* move field-offset code to Object.hpp

* first pass at trying to do a simple reflection scheme

* use __VA_ARGS__

* try __VA_ARGS__

* Revert "try __VA_ARGS__"

This reverts commit 345351fdfe86727aca3c30fdcb22ac619a935bc1.

* Revert "use __VA_ARGS__"

This reverts commit 02d91710962a4caae71516b2bd40b94c8720c379.

* Revert "first pass at trying to do a simple reflection scheme"

This reverts commit 295221104c274aefef45cdf4e407315b45b33282.

* Revert "move field-offset code to Object.hpp"

This reverts commit fcd8ad368965b741dc3c95a54f54301ff71008ed.

* Revert "infrastructure for getting ntif::Fields with less repetition of the field name"

This reverts commit e3ef6531ce3a98bfa7ca02db1a96ebc1376102e0.

* make a strongly-typed BandInfo::Represenation

* use a normal "enum class" rather than static data members

* Squashed commit of the following:

commit cf5cde0f334dcfabbf73e367a25973a633250d5b
Author: Dan Smith <[email protected]>
Date:   Fri Sep 17 08:57:31 2021 -0400

    latest from coda-oss

commit b5d29569ea38e8650740fe570b498163c9566c09
Merge: 5b82b763 0db498f1
Author: Dan Smith <[email protected]>
Date:   Fri Sep 17 08:47:38 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit 5b82b763519fc81d37216a5fa932047fd7c6d384
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 13:51:55 2021 -0400

    latest from coda-oss

commit b21c32f7da315d690f8fb009e804a0c5fc2a0b25
Merge: ef447eba 9388d5cf
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 13:47:56 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit ef447eba3cb61d66552e052da4e8cafc41f6a38b
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:50:09 2021 -0400

    latest from coda-oss

commit a4d7c89352101b6609c1da9d897323f9c0f413f1
Merge: efd2e8b2 81278527
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 11:43:51 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit efd2e8b26303e4403040172f9a4d705e95834347
Merge: 82871b06 c8186387
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 10:28:34 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit 82871b061c6933a4adb31db9ac82e059cb421449
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 09:58:24 2021 -0400

    remove unused drivers

commit b6bda69baaec7f6df017b7067f26156b6476fb78
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 09:52:59 2021 -0400

    latest from coda-oss

commit 70867a6e0c47cbd5bcdf38e36f8bcd86fdff4221
Merge: d0a90807 dc000a51
Author: Dan Smith <[email protected]>
Date:   Wed Aug 25 09:45:51 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit d0a90807aa813f87fb9a5f18dbffc5057d063f4d
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 09:00:51 2021 -0400

    latest from coda-oss

commit fbd8af5f2f8287fc184e8ee84f88ac895acd8b19
Merge: 81f20046 7af555d6
Author: Dan Smith <[email protected]>
Date:   Mon Aug 16 08:50:50 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit 81f200464bc5f76aa2a5d3d2fa2ef6bc5976f00b
Merge: acea5259 cb37a8cf
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 10:34:00 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit acea52593e91be6c3eed1d875c89860cd230004a
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 10:30:14 2021 -0400

    latest from coda-oss

commit 1a4ce530b8452f397bf7877f128ae9154ac0caad
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 10:18:46 2021 -0400

    Squashed commit of the following:

    commit 85ed2efae3ebd6dae28f6ec3c929a62acd1613ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 10:04:32 2021 -0400

        mem::SharedPtr -> std::shared_ptr

    commit 21e48011438d0d78eb36ebe58d85798c4ca1b7e3
    Merge: a565fa10 1b6cfe09
    Author: Dan Smith <[email protected]>
    Date:   Wed Aug 11 10:01:33 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit a565fa103eb0cbba332c8ef81f7908597af01595
    Merge: 39a4a874 835da56f
    Author: Dan Smith <[email protected]>
    Date:   Thu Jul 29 10:53:11 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 39a4a874a215df2917d1de6e2ca6ee1f383b19a4
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 22 10:27:08 2021 -0400

        give up on trying to do a Debug build

    commit 2447502a3514ab564e95f851419f9f31f83135b9
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 22 10:08:27 2021 -0400

        no Python for debug builds

    commit 60bedc0c25275c44085ae4b3a2109fe2f5723e3a
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 22 09:52:38 2021 -0400

        spaces instead of tabs

    commit 1b4df959dfb99d1cad5a1502a02172e0097b38b9
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 22 09:50:37 2021 -0400

        do a "Debug" CMAKE build too

    commit af432c68e526b442ceb8037e4795c60e1445d0a2
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 22 09:46:36 2021 -0400

        Squashed commit of the following:

        commit c4a794b83dce36c35f526c329c04c98e7edcfbe6
        Author: Dan Smith <[email protected]>
        Date:   Tue Jun 22 09:46:11 2021 -0400

            latest from coda-oss

        commit dac28609f60952e606a6fad5f5b5888a17b710ee
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:19:56 2021 -0400

            fix RowCol::cast() again :-(

        commit b6af85633fd3b16205ae5442ab95cb247e22c25f
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:11:07 2021 -0400

            "final" breaks SWIG; hide gsl::narrow_cast

        commit eec5c064243b1e4186d03b8da2318aa5a13f709b
        Merge: cc85657c 7bb82996
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:05:28 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit cc85657c0b3c710befaea1064bfaf39595d7a039
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:56:52 2021 -0400

            no mt/tests

        commit 8de6f1a3e3b288dca60a024a539452f03b412014
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:40:26 2021 -0400

            latest from coda-oss

        commit 3a668844f4908838197831958e9eb2374a4664d7
        Merge: 639694bf 98e6bcf5
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:36:30 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit 639694bfcfd465d658489e277d41ff8a068d5c1f
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 15:47:12 2021 -0400

            latest updates from coda-oss

        commit 95fe355382fb95ec01afac6153283b73c069076a
        Merge: 73995168 ffd5aa85
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 15:39:35 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

    commit 5351b804c0cd99751997b7cab627b81fb8c9f296
    Author: Dan Smith <[email protected]>
    Date:   Mon Jun 21 10:20:18 2021 -0400

        Squashed commit of the following:

        commit dac28609f60952e606a6fad5f5b5888a17b710ee
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:19:56 2021 -0400

            fix RowCol::cast() again :-(

        commit b6af85633fd3b16205ae5442ab95cb247e22c25f
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:11:07 2021 -0400

            "final" breaks SWIG; hide gsl::narrow_cast

        commit eec5c064243b1e4186d03b8da2318aa5a13f709b
        Merge: cc85657c 7bb82996
        Author: Dan Smith <[email protected]>
        Date:   Mon Jun 21 10:05:28 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit cc85657c0b3c710befaea1064bfaf39595d7a039
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:56:52 2021 -0400

            no mt/tests

        commit 8de6f1a3e3b288dca60a024a539452f03b412014
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:40:26 2021 -0400

            latest from coda-oss

        commit 3a668844f4908838197831958e9eb2374a4664d7
        Merge: 639694bf 98e6bcf5
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 17 08:36:30 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit 639694bfcfd465d658489e277d41ff8a068d5c1f
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 15:47:12 2021 -0400

            latest updates from coda-oss

        commit 95fe355382fb95ec01afac6153283b73c069076a
        Merge: 73995168 ffd5aa85
        Author: Dan Smith <[email protected]>
        Date:   Thu Jun 10 15:39:35 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

    commit ebf45b1b971a2a911984f8d0c4add239fcade245
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 11:54:46 2021 -0400

        nitf::byte

    commit d785c54ff2c3242d41c24f38b9a599233443083d
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:48:49 2021 -0400

        getCornersAsLatLons() should be w/o "const"

    commit 81ad2dc45bf2e16200d8fbbe1589cdbb4b558112
    Merge: e6978bf2 7bb82996
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 09:47:40 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit e6978bf27a161ac278426271f4a8098cdd5686ab
    Merge: c51be8f8 98e6bcf5
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 17 08:41:48 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit c51be8f8020977907b9a6061ff7f0a53d92b51a7
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 17:27:12 2021 -0400

        "noexcept(false)" is a breaking change

    commit c82ba4e0a5cfc3c066aa3e031cb5f703e080b97b
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 17:01:59 2021 -0400

        another "noexcept" fix

    commit 25c5b47d639210ff724daf91694968f3b8ea10ce
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 15:03:20 2021 -0400

        "noexcept" can break derived classes

    commit ec7e9b0c45cd19da5a2d0232649f11deb2b1911b
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 14:23:50 2021 -0400

        we're using gsl::span

    commit c5d4ba86cd999b071681efb3477553bc3979c6f9
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 14:13:32 2021 -0400

        mark throwing constructors with noexcept(false)

    commit 8cbc74a5fc7f73313b9637b6d051a5181faf67bb
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 13:53:02 2021 -0400

        more "noexcept" cleanup

    commit f2b12f40b1bfbdbc8fe5e2149c4a1fd8946fbec3
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 13:41:06 2021 -0400

        cleanup "noexcept" a little bit

    commit c8d6126f3af0cf7a412f6a6505ec9625c368854f
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 13:19:08 2021 -0400

        remove array -> pointer decay

    commit 2075e2e412456aaa5f2494474405477a33113b63
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 12:53:29 2021 -0400

        mark functions "noexcept" as indicated by code-analysis

    commit b4652e9370c34c0841804804e2ed6029858f6949
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 12:23:37 2021 -0400

        Revert "obey the "rule of 5.""

        This reverts commit ef0afc27b1efa035f0ca091b7fae5b1f8d4dadfa.

    commit 4f2ef7101b70ece93de0f833fd2b1ae14751dac7
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 11:56:47 2021 -0400

        TRE_setField() now takes "const" NITF_DATA*

    commit ef0afc27b1efa035f0ca091b7fae5b1f8d4dadfa
    Author: Dan Smith <[email protected]>
    Date:   Wed Jun 16 11:26:06 2021 -0400

        obey the "rule of 5."

    commit d008bf401676f8ca88ad9ce5dbe94e39423b904c
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 15 08:30:28 2021 -0400

        fix new code-analysis diagnostics

    commit 46ba5d78fe3316d180ec48d9ca5d45e93c18e69a
    Merge: e2c3a7a3 c3dc8220
    Author: Dan Smith <[email protected]>
    Date:   Mon Jun 14 09:16:41 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit e2c3a7a3b23273b818431c748932dddd70da231b
    Merge: b6014390 a6cec9df
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 14:39:23 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit b6014390c83702b4e8e566565d5eb7168c1638b0
    Merge: 7e45fb9f 73995168
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:24:07 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 7e45fb9f6f9710c38ddddb8ebe32fd6b8d177437
    Merge: 66d7e894 05afcb99
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:04:45 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 66d7e8942cc01d1b257da72087e6aa5719d3dcf3
    Merge: 88e6a046 f4b80a31
    Author: Dan Smith <[email protected]>
    Date:   Thu May 27 13:04:33 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 88e6a046d10e805ca478878224d0a57084e91941
    Author: Dan Smith <[email protected]>
    Date:   Wed May 26 10:59:56 2021 -0400

        cleanup for VS2019 16.10

    commit cc27ac156d7ca3927cd78bd8e3d2498e4dc54c40
    Author: Dan Smith <[email protected]>
    Date:   Tue May 25 16:46:44 2021 -0400

        C++20 doesn't like our use of gsl::make_span

    commit e7a7ed5f7477677850faa1d8558d1a4b37b9a3ce
    Merge: dd12167d a2352f25
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 16:04:20 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit dd12167d29a3f8aae2968c8fb5ebce6d52a83de8
    Merge: 994faf7d 4ddaf23d
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:26:45 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 994faf7dc516700a8213087a9a3696799190ce58
    Merge: b8025652 4f1b857a
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:17:12 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit b8025652318622158b0cb70f6080b1e32234cc44
    Merge: b110d9b9 2a57741c
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 15:12:10 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit b110d9b9d7f5d45615ebb5301aa69671a050fe68
    Merge: 93160fd8 d99322d3
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:39:15 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 93160fd8ea26e3b84a7062e1e09c6aed8eddb7e6
    Merge: 39e283bc d3fab714
    Author: Dan Smith <[email protected]>
    Date:   Mon May 24 14:39:07 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 39e283bc26228ce4c6ab42751c9bba6814c9c4a4
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 15:28:21 2021 -0400

        reduce use of .c_str()

    commit e0bc08bef56bfea53b93ee665032d85e5e30ab77
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 14:52:18 2021 -0400

        reduce try/catch code duplication with a few lambdas

    commit 728eb1e2122f2b2646656e78690b3ebf532ecc55
    Author: Dan Smith <[email protected]>
    Date:   Wed May 19 14:52:01 2021 -0400

        utility routines to initialize nrt_Error from other things

    commit 13e80d90732eb997d5783967a9bf0fd802db2824
    Merge: 3a1c7373 9aee934e
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 10:33:48 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 3a1c7373b1063eefab07ca2b94339971c6f01303
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 09:34:50 2021 -0400

        changes from six to reduce code-analysis diagnostics

    commit 1c903c9ea6e4ee722de37ebc75b0d5c92a66be6a
    Merge: 14be4581 7be6c13b
    Author: Dan Smith <[email protected]>
    Date:   Mon May 17 09:29:58 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 14be458157cb70d3094f5a460835656370236906
    Merge: 8e8f5bf9 d0117954
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 14:44:56 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 8e8f5bf9c77189eda9de9a5fabe2e8a879e4dda9
    Merge: 158ee6ea 4e806f4e
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 14:17:42 2021 -0400

        Merge branch 'feature/shared-library' into feature/remove_compiler_warnings

    commit 158ee6ea9759a1a1d556b26350d6a88381abdb27
    Merge: 758f5977 a16f72b0
    Author: Dan Smith <[email protected]>
    Date:   Tue May 4 14:14:20 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 4e806f4e55ef61dc5542ed75476705cf10f5ece5
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 14:01:10 2021 -0400

        export more classes; but sure nitf.hpp gets everything

    commit 903e1b8b34dcba14e15b87d657838d78f27f1d78
    Author: Dan Smith <[email protected]>
    Date:   Mon May 3 11:27:44 2021 -0400

        #pragma-away 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...'

    commit 32f5529a8bb0364a0168273709d7fdeef0530991
    Merge: 02112ced a16f72b0
    Author: Dan Smith <[email protected]>
    Date:   Sat May 1 14:44:11 2021 -0400

        Merge branch 'master' into feature/shared-library

    commit 02112ced47b98f8eaa143e0fd6cf4dc167ee8821
    Author: Dan Smith <[email protected]>
    Date:   Sat May 1 14:06:35 2021 -0400

        building mt/tests crashes GCC on github

    commit 7c8b52df9c06ad03d4a2838b8cd862d4524c5eb6
    Author: Dan Smith <[email protected]>
    Date:   Sat May 1 13:01:10 2021 -0400

        don't need a separate project for the DLL anymore

    commit 94fc53280464472cd70620b74340e4a598cb2452
    Author: Dan Smith <[email protected]>
    Date:   Sat May 1 12:55:04 2021 -0400

        make it easier for clients to consume nitf-c++ as a DLL

    commit a1ed1ce954fffd848e0856c2305dbd86cc4c5b44
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 17:35:44 2021 -0400

        wrap nitf_ImageIO_getMaskInfo() for unit-tests

    commit 2636b229454f5ae0914dd02e9387e7abf07eda0d
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 17:02:50 2021 -0400

        test_tre_read needs C, not C++ routines

    commit f6328bcd61452a3625089220f352e870c075c4f3
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 16:08:43 2021 -0400

        more wrapping of C APIs in C++ for unit-tests

    commit de329e3065e5f51c4c6eb0420d74067b7fa20d21
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 15:55:31 2021 -0400

        more C APIs exposed through C++ for unit-testing

    commit f552322088bd2f22e3045a495850bd96c25ccdfb
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 15:31:48 2021 -0400

        "Test" project should reference nitf-c, not nitf-c++

    commit 66ee139887cb6a7c7764a80097caea46e373f657
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 15:31:15 2021 -0400

        allow unit-tests to use C++ API rather than direct calls to C

    commit 049b9acd7e677f7f8c42301b0ee84f6185166171
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 15:10:22 2021 -0400

        more tweaks for building as a DLL

    commit 1dc4103157c9319885ac81c30efe65659e254374
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 14:04:16 2021 -0400

        finish separating unit-tests into C and C++

    commit d6541484f500c757ccdcaa9cfd091c1040ec8069
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 13:45:50 2021 -0400

        begin work on separating C and C++ unit-tests

    commit 1754c79b68730c81c81da84be67c439c6bb062c5
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 13:05:46 2021 -0400

        tweak Field::get()

    commit c654395457d1557f83f6b1f29e50a77bc8c2d56e
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 12:46:01 2021 -0400

        add new files to CMakeLists.txt

    commit cf1eca1e8cde1af33fe7c7c9438d1a4780ce3947
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 12:23:36 2021 -0400

        need to force-resolve the _destruct() functions

    commit bb61a5762a38ab4423b2bcb7ec64f013312ed496
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 10:34:58 2021 -0400

        set path to CODA-OSS libraries

    commit 1232b19a8fe95e5f4a288bf27eab4afe4cd6fe33
    Author: Dan Smith <[email protected]>
    Date:   Wed Apr 28 10:07:40 2021 -0400

        _LIB and _WINDLL are part of Visual Studio, not MSVC

    commit b05bd737c9a9d5e2522a5ae14917b3b955708d53
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 27 18:01:47 2021 -0400

        remove reference to nitf-c from "Test" project

    commit 44a705fe7d30ab551e2bb5ef3ae9cd372874512f
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 27 17:05:01 2021 -0400

        use NITRO_NITFCPP_API to export classes/functions

    commit 6465b9c5b7dada37e8c48e0f3ab5eedd160a82b0
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 27 15:36:19 2021 -0400

        Create nitf-c++-dll.vcxproj

    commit 61bad42f86669c393c318f81a9f0a9db8fa8c59a
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 27 15:07:05 2021 -0400

        infrastructure for exporting symbols from nitf-c++

    commit 758f5977222cb1bc833474198eca6e773725dedc
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 27 11:23:34 2021 -0400

        adjust CMakeLists.txt to turn on more compiler warnings

    commit f5d9c21f568707cd348411bd31bbb405800ca974
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 14:32:29 2021 -0400

        avoid avoid array -> pointer decay in nitf::Error

    commit b682e55713cfedcaae0cafbb52404c666c989aab
    Merge: 02f700e4 35c5f4ad
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 14:29:51 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 02f700e46abebd7a4afcea343696efd71cb4b345
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 11:22:52 2021 -0400

        ubuntu-latest

    commit 3e6fed0eea70245297d2d8511fbfb4ef7c5b5111
    Merge: 40af41a9 273c39e8
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 26 11:19:40 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 40af41a9444cc1bc066080a4b160a26e18ac6fed
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 10:07:18 2021 -0400

        build with fewer compiler warnings/code-analysis diagnostics

    commit 9d4d36651dc570bc45b747b43087e9de675deb15
    Merge: cfe591ab 6e6819db
    Author: Dan Smith <[email protected]>
    Date:   Tue Apr 20 09:57:19 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit cfe591ab71072eb672c575f2d1de176ba06cdff9
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 11:27:40 2021 -0400

        #includes for std::make_unique

    commit c150cc2867f35ef63913885e8860826c829f0d53
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 11:12:03 2021 -0400

        remove more explicit new and delete

    commit e3857e573329d9c00889afffc7902d67eaa0f386
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 19 10:02:30 2021 -0400

        reduce explicit use of new and delete

    commit 4c56d3aba791491e8fe6d183afc7f7892fb8eb08
    Merge: c7b29b1d 7af8169b
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:37:07 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit c7b29b1d0469c7d63ed78e5c73728d3ee6dda168
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 16:29:32 2021 -0400

        turn on more code-analysis diagnostics

    commit f8def9cbfdf0d9ada88e91f0271932b3bbc1c4a2
    Merge: bcb6bfc4 4b0062b7
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 15:53:32 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit bcb6bfc49565a6765dc7c9eb5d90df108ea0f411
    Merge: 6f4befc1 4aa689b9
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 15:45:28 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 6f4befc10ffdf12547f5c2eed0819f2a1c9d263e
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 15:44:53 2021 -0400

        explicitly =delete copy/assignment

    commit e381bc348de5c3dfe1a472ad48b61f44cfccf546
    Merge: 1a7b623b fdc62abd
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 15:19:56 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 1a7b623b56a7fcd4a29ca14e8547389c56ae843f
    Merge: 5d07dd64 014917fe
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 15:01:04 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 5d07dd64afc234e8aec83b1086fe8deb51a12084
    Merge: 012b9b4f cd50f937
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 14:47:16 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 012b9b4f3db23a91b4f6d1b467d21fd4f31e1f71
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 14:47:07 2021 -0400

        Update coda-oss.hpp

    commit 81b99e75295e4beed74729dddd61b78d1d68ec4d
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 14:45:42 2021 -0400

         PlatformToolset() is no longer used

    commit 945e2a284c7a306fb87f8113f18242cc592bbdb8
    Merge: b96c0e9c 9532c538
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 14:19:53 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit b96c0e9cfad6a0e9142240cb0a2807edf6ce0cd1
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 14:19:22 2021 -0400

        more code-analysis cleanup

    commit f8da5e4924fec7bb25933f0db6b0fc63b06b3694
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 13:40:36 2021 -0400

        no import/logging.h

    commit fc81a9de7a0c9629f577f6e233e1e1f8ff29cc51
    Merge: 7e54d7e9 32609f76
    Author: Dan Smith <[email protected]>
    Date:   Sat Apr 17 13:07:23 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 7e54d7e9221008d883c2da195cf2d3f321f76442
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 14:04:01 2021 -0400

        wrap nitf_Error to reduce code-analysis diagnostics

    commit 18c18a206f95fb078f683c06c71504321cc470a4
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 13:33:50 2021 -0400

        adjust the code-analysis diagnostics that are disabled

    commit e136900ae637eb0a2d9cb282eb03875f32eaad82
    Merge: dddbb27b 1ff904eb
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 13:32:48 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit dddbb27b70364ae737bef67f84064ae18409943c
    Merge: 8b3483cf 20f4e614
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 12:43:06 2021 -0400

        Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

    commit 8b3483cfe42899487735297a85e83dfa23ea7eff
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 12:39:12 2021 -0400

        slam in changes from "master"

    commit 6ed99321b6e3a3ea70efa9479b6f291c8bb24b1a
    Merge: 316cf602 298536f4
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 12:32:05 2021 -0400

        Merge branch 'master' into feature/remove_compiler_warnings

    commit 316cf602098d8a486977897a3d032bcd53accf21
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 12 12:31:35 2021 -0400

        PlatformToolset() isn't used

    commit 291b497a910922fd084286b042786aa4d339d055
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 16:09:21 2021 -0400

        trying ubuntu-18.04

    commit 0669d206c30c7da14f942ae3df25810dfefd300f
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 15:50:26 2021 -0400

        try explicitly setting ubuntu versoin

    commit 0458685824304bd4a6e02758f981556890db9048
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 14:18:13 2021 -0400

        still trying to figure out broken GitHub build

    commit 024814b37fd3a24597e42c7b18087fcc6efa31e3
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 13:04:02 2021 -0400

        does this build on GitHub ... ?

    commit 6fbc755ff991e6693c880fe64ddfc1a7ae470044
    Author: Dan Smith <[email protected]>
    Date:   Mon Apr 5 12:42:59 2021 -0400

        trying to figure out what broke GitHub build

commit 5ec4a357e2bf260855ed7497fc7b04700b41829e
Merge: 24e59602 1b6cfe09
Author: Dan Smith <[email protected]>
Date:   Wed Aug 11 10:18:33 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit 24e596027dd7d10acded64ed1f269a29903264d4
Author: Dan Smith <[email protected]>
Date:   Mon Aug 2 11:16:14 2021 -0400

    latest from coda-oss

commit 6fe93eb028a80a2305ee63a1910edeaf1b29d7d4
Merge: ebe39048 2229fbde
Author: Dan Smith <[email protected]>
Date:   Mon Aug 2 11:09:57 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit ebe390482453f0136f8d980016e89046064ff9b4
Author: Dan Smith <[email protected]>
Date:   Thu Jul 29 10:59:50 2021 -0400

    latest from coda-oss

commit 836ba7dfe5c7237827bcfe8f39dd2d2c6b7c2e54
Merge: c4a794b8 835da56f
Author: Dan Smith <[email protected]>
Date:   Thu Jul 29 10:53:34 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit c4a794b83dce36c35f526c329c04c98e7edcfbe6
Author: Dan Smith <[email protected]>
Date:   Tue Jun 22 09:46:11 2021 -0400

    latest from coda-oss

commit dac28609f60952e606a6fad5f5b5888a17b710ee
Author: Dan Smith <[email protected]>
Date:   Mon Jun 21 10:19:56 2021 -0400

    fix RowCol::cast() again :-(

commit b6af85633fd3b16205ae5442ab95cb247e22c25f
Author: Dan Smith <[email protected]>
Date:   Mon Jun 21 10:11:07 2021 -0400

    "final" breaks SWIG; hide gsl::narrow_cast

commit eec5c064243b1e4186d03b8da2318aa5a13f709b
Merge: cc85657c 7bb82996
Author: Dan Smith <[email protected]>
Date:   Mon Jun 21 10:05:28 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit cc85657c0b3c710befaea1064bfaf39595d7a039
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 08:56:52 2021 -0400

    no mt/tests

commit 8de6f1a3e3b288dca60a024a539452f03b412014
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 08:40:26 2021 -0400

    latest from coda-oss

commit 3a668844f4908838197831958e9eb2374a4664d7
Merge: 639694bf 98e6bcf5
Author: Dan Smith <[email protected]>
Date:   Thu Jun 17 08:36:30 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

commit 639694bfcfd465d658489e277d41ff8a068d5c1f
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 15:47:12 2021 -0400

    latest updates from coda-oss

commit 95fe355382fb95ec01afac6153283b73c069076a
Merge: 73995168 ffd5aa85
Author: Dan Smith <[email protected]>
Date:   Thu Jun 10 15:39:35 2021 -0400

    Merge branch 'master' into develop/update_coda-oss

* tweak "enum"s; borrowed from SIX

* sys::byte -> nitf::byte

* no longer necessary to specialize string_to_enum(); it doesn't work well in other namespaces

* expose routines so that the map doesn't have to be named string_to_enum

* overloads for non-throwing index()

* add std::nothrow_t overloads

* Build with latest VS2022

* Squashed commit of the following:

commit e573fc90a0b72b422e8233d45b8bae4b7db38da1
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 12:39:29 2022 -0400

    latest from coda-oss

commit 6a64d55a123fb26dba2906dc6b15671b52895b2d
Merge: 0add5ad9 3e38c39a
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 12:19:39 2022 -0400

    Merge branch 'master' into develop/update-coda-oss

commit 0add5ad91c3fa113c4d25c09b3e66486eacecad1
Author: Dan Smith <[email protected]>
Date:   Fri May 13 09:57:07 2022 -0400

    latest from coda-oss

commit 086e364cb1c8b42b90d0e9b1009f667c94e661fb
Author: Dan Smith <[email protected]>
Date:   Thu May 12 13:39:23 2022 -0400

    don't need VS UnitTest project

commit 48037ff12aca592a79ef3f841b8cc1cae367f8f6
Author: Dan Smith <[email protected]>
Date:   Thu May 12 10:13:19 2022 -0400

    fix build errors on Linux

commit 85f1cd6274b7a9ace38f404d5de479fc18157e5f
Author: Dan Smith <[email protected]>
Date:   Thu May 12 09:50:25 2022 -0400

    more updates from coda-oss

commit b9b9468d3e78cd2eb1db236012a2ae6358adfb9a
Author: Dan Smith <[email protected]>
Date:   Thu May 12 09:49:15 2022 -0400

    latest from coda-oss

commit 66f9b077ab65e9b4855b51ebdd15f9e8414273de
Merge: 0fdf9fbf f27a3894
Author: Dan Smith <[email protected]>
Date:   Thu May 12 09:47:52 2022 -0400

    Merge branch 'master' into develop/update-coda-oss

commit 0fdf9fbfe31d6b816ea42ebfe14aca1ffd04a6ef
Author: Dan Smith <[email protected]>
Date:   Tue May 3 15:42:24 2022 -0400

    coda-oss release 2022-05-03

* Squashed commit of the following:

commit 9877b09ac0744fad1d0ddca2f6fa0f7fc225f912
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 13:36:39 2022 -0400

    need to use "srand_called" to fix compiler warning

commit d0c5d88c9fa6dffb6656a7dfe6aea5bc29e2966f
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 13:14:56 2022 -0400

    Squashed commit of the following:

    commit d7caa35849cf68f8f381041ae0fbc819de64e88e
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 13:13:58 2022 -0400

        trying to fix build error

    commit e573fc90a0b72b422e8233d45b8bae4b7db38da1
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 12:39:29 2022 -0400

        latest from coda-oss

    commit 6a64d55a123fb26dba2906dc6b15671b52895b2d
    Merge: 0add5ad9 3e38c39a
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 12:19:39 2022 -0400

        Merge branch 'master' into develop/update-coda-oss

    commit 0add5ad91c3fa113c4d25c09b3e66486eacecad1
    Author: Dan Smith <[email protected]>
    Date:   Fri May 13 09:57:07 2022 -0400

        latest from coda-oss

    commit 086e364cb1c8b42b90d0e9b1009f667c94e661fb
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 13:39:23 2022 -0400

        don't need VS UnitTest project

    commit 48037ff12aca592a79ef3f841b8cc1cae367f8f6
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 10:13:19 2022 -0400

        fix build errors on Linux

    commit 85f1cd6274b7a9ace38f404d5de479fc18157e5f
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:50:25 2022 -0400

        more updates from coda-oss

    commit b9b9468d3e78cd2eb1db236012a2ae6358adfb9a
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:49:15 2022 -0400

        latest from coda-oss

    commit 66f9b077ab65e9b4855b51ebdd15f9e8414273de
    Merge: 0fdf9fbf f27a3894
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:47:52 2022 -0400

        Merge branch 'master' into develop/update-coda-oss

    commit 0fdf9fbfe31d6b816ea42ebfe14aca1ffd04a6ef
    Author: Dan Smith <[email protected]>
    Date:   Tue May 3 15:42:24 2022 -0400

        coda-oss release 2022-05-03

commit 5d569f213edf99f3339253888a3cf0b888d7c837
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 12:39:53 2022 -0400

    Squashed commit of the following:

    commit e573fc90a0b72b422e8233d45b8bae4b7db38da1
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 12:39:29 2022 -0400

        latest from coda-oss

    commit 6a64d55a123fb26dba2906dc6b15671b52895b2d
    Merge: 0add5ad9 3e38c39a
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 12:19:39 2022 -0400

        Merge branch 'master' into develop/update-coda-oss

    commit 0add5ad91c3fa113c4d25c09b3e66486eacecad1
    Author: Dan Smith <[email protected]>
    Date:   Fri May 13 09:57:07 2022 -0400

        latest from coda-oss

    commit 086e364cb1c8b42b90d0e9b1009f667c94e661fb
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 13:39:23 2022 -0400

        don't need VS UnitTest project

    commit 48037ff12aca592a79ef3f841b8cc1cae367f8f6
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 10:13:19 2022 -0400

        fix build errors on Linux

    commit 85f1cd6274b7a9ace38f404d5de479fc18157e5f
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:50:25 2022 -0400

        more updates from coda-oss

    commit b9b9468d3e78cd2eb1db236012a2ae6358adfb9a
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:49:15 2022 -0400

        latest from coda-oss

    commit 66f9b077ab65e9b4855b51ebdd15f9e8414273de
    Merge: 0fdf9fbf f27a3894
    Author: Dan Smith <[email protected]>
    Date:   Thu May 12 09:47:52 2022 -0400

        Merge branch 'master' into develop/update-coda-oss

    commit 0fdf9fbfe31d6b816ea42ebfe14aca1ffd04a6ef
    Author: Dan Smith <[email protected]>
    Date:   Tue May 3 15:42:24 2022 -0400

        coda-oss release 2022-05-03

commit 6fa3b0a0628db2aa51977324d70a0fef752d0f90
Author: J. Daniel Smith <[email protected]>
Date:   Thu Jun 23 12:19:27 2022 -0400

    Squashed commit of the following:

    commit ac10a6d3c50ab31806563d4043dd86fd2fe0396f
    Author: J. Daniel Smith <[email protected]>
    Date:   Thu Jun 23 12:18:33 2022 -0400

        Build with latest VS2022

    commit b0743a3cce06c54d41ca7d381365b7e274a6fee8
    Author: J. Daniel Smith <[email protected]>
    Date:   Fri Jun 10 21:49:01 2022 -0400

        add std::nothrow_t overloads

    commit 19c64270477299f31fab131c9b49e370ed000bbf
    Author: J. Daniel Smith <[email protected]>
    Date:   Fri Jun 10 17:39:54 2022 -0400

        overloads for non-throwing index()

    commit 94572aa9ea01dc205b057b043cbea90a2e071994
    Author: J. Daniel Smith <[email protected]>
    Date:   Fri Jun 10 17:12:03 2022 -0400

        expose routines so that the map doesn't have to be named string_to_enum

    commit f6237fe795e8731405af010be8d6c844016886f9
    Author: J. Daniel Smith <[email protected]>
    Date:   Fri Jun 10 15:09:56 2022 -0400

        no longer necessary to specialize string_to_enum(); it doesn't work well in other namespaces

    commit 96e0b97227e7793114a3b6c9b47a75e31075008b
    Merge: f656114f 3e38c39a
    Author: J. Daniel Smith <[email protected]>
    Date:   Fri Jun 10 14:32:57 2022 -0400

        Merge branch 'master' into feature/simplify-cpp-api

    commit f656114f2b18c14a51be6969c2924464c447ca08
    Author: Dan Smith <[email protected]>
    Date:   Fri Nov 5 10:38:32 2021 -0400

        sys::byte -> nitf::byte

    commit 8cb2c9890bb7e3c64b845694fe10c67e97ab3eaa
    Merge: c3a76f4f 888ae929
    Author: Dan Smith <[email protected]>
    Date:   Fri Nov 5 10:21:25 2021 -0400

        Merge branch 'master' into feature/simplify-cpp-api

    commit c3a76f4f60bb9de9de10225e03dcfc93ec093a06
    Merge: fc3573f4 1a19b6b6
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 17 09:16:24 2021 -0400

        Merge branch 'master' into feature/simplify-cpp-api

    commit fc3573f42ad9e738fcc079d56f474a43d6cb0f8b
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 17 09:01:18 2021 -0400

        tweak "enum"s; borrowed from SIX

    commit 92ccc2732878762eece73edfb9bca0ca3bc129f9
    Author: Dan Smith <[email protected]>
    Date:   Fri Sep 17 08:58:28 2021 -0400

        Squashed commit of the following:

        commit cf5cde0f334dcfabbf73e367a25973a633250d5b
        Author: Dan Smith <[email protected]>
        Date:   Fri Sep 17 08:57:31 2021 -0400

            latest from coda-oss

        commit b5d29569ea38e8650740fe570b498163c9566c09
        Merge: 5b82b763 0db498f1
        Author: Dan Smith <[email protected]>
        Date:   Fri Sep 17 08:47:38 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit 5b82b763519fc81d37216a5fa932047fd7c6d384
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 13:51:55 2021 -0400

            latest from coda-oss

        commit b21c32f7da315d690f8fb009e804a0c5fc2a0b25
        Merge: ef447eba 9388d5cf
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 13:47:56 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit ef447eba3cb61d66552e052da4e8cafc41f6a38b
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 11:50:09 2021 -0400

            latest from coda-oss

        commit a4d7c89352101b6609c1da9d897323f9c0f413f1
        Merge: efd2e8b2 81278527
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 11:43:51 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit efd2e8b26303e4403040172f9a4d705e95834347
        Merge: 82871b06 c8186387
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 10:28:34 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit 82871b061c6933a4adb31db9ac82e059cb421449
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 09:58:24 2021 -0400

            remove unused drivers

        commit b6bda69baaec7f6df017b7067f26156b6476fb78
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 09:52:59 2021 -0400

            latest from coda-oss

        commit 70867a6e0c47cbd5bcdf38e36f8bcd86fdff4221
        Merge: d0a90807 dc000a51
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 25 09:45:51 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit d0a90807aa813f87fb9a5f18dbffc5057d063f4d
        Author: Dan Smith <[email protected]>
        Date:   Mon Aug 16 09:00:51 2021 -0400

            latest from coda-oss

        commit fbd8af5f2f8287fc184e8ee84f88ac895acd8b19
        Merge: 81f20046 7af555d6
        Author: Dan Smith <[email protected]>
        Date:   Mon Aug 16 08:50:50 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit 81f200464bc5f76aa2a5d3d2fa2ef6bc5976f00b
        Merge: acea5259 cb37a8cf
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 10:34:00 2021 -0400

            Merge branch 'master' into develop/update_coda-oss

        commit acea52593e91be6c3eed1d875c89860cd230004a
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 10:30:14 2021 -0400

            latest from coda-oss

        commit 1a4ce530b8452f397bf7877f128ae9154ac0caad
        Author: Dan Smith <[email protected]>
        Date:   Wed Aug 11 10:18:46 2021 -0400

            Squashed commit of the following:

            commit 85ed2efae3ebd6dae28f6ec3c929a62acd1613ce
            Author: Dan Smith <[email protected]>
            Date:   Wed Aug 11 10:04:32 2021 -0400

                mem::SharedPtr -> std::shared_ptr

            commit 21e48011438d0d78eb36ebe58d85798c4ca1b7e3
            Merge: a565fa10 1b6cfe09
            Author: Dan Smith <[email protected]>
            Date:   Wed Aug 11 10:01:33 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit a565fa103eb0cbba332c8ef81f7908597af01595
            Merge: 39a4a874 835da56f
            Author: Dan Smith <[email protected]>
            Date:   Thu Jul 29 10:53:11 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit 39a4a874a215df2917d1de6e2ca6ee1f383b19a4
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 22 10:27:08 2021 -0400

                give up on trying to do a Debug build

            commit 2447502a3514ab564e95f851419f9f31f83135b9
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 22 10:08:27 2021 -0400

                no Python for debug builds

            commit 60bedc0c25275c44085ae4b3a2109fe2f5723e3a
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 22 09:52:38 2021 -0400

                spaces instead of tabs

            commit 1b4df959dfb99d1cad5a1502a02172e0097b38b9
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 22 09:50:37 2021 -0400

                do a "Debug" CMAKE build too

            commit af432c68e526b442ceb8037e4795c60e1445d0a2
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 22 09:46:36 2021 -0400

                Squashed commit of the following:

                commit c4a794b83dce36c35f526c329c04c98e7edcfbe6
                Author: Dan Smith <[email protected]>
                Date:   Tue Jun 22 09:46:11 2021 -0400

                    latest from coda-oss

                commit dac28609f60952e606a6fad5f5b5888a17b710ee
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:19:56 2021 -0400

                    fix RowCol::cast() again :-(

                commit b6af85633fd3b16205ae5442ab95cb247e22c25f
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:11:07 2021 -0400

                    "final" breaks SWIG; hide gsl::narrow_cast

                commit eec5c064243b1e4186d03b8da2318aa5a13f709b
                Merge: cc85657c 7bb82996
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:05:28 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

                commit cc85657c0b3c710befaea1064bfaf39595d7a039
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:56:52 2021 -0400

                    no mt/tests

                commit 8de6f1a3e3b288dca60a024a539452f03b412014
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:40:26 2021 -0400

                    latest from coda-oss

                commit 3a668844f4908838197831958e9eb2374a4664d7
                Merge: 639694bf 98e6bcf5
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:36:30 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

                commit 639694bfcfd465d658489e277d41ff8a068d5c1f
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 10 15:47:12 2021 -0400

                    latest updates from coda-oss

                commit 95fe355382fb95ec01afac6153283b73c069076a
                Merge: 73995168 ffd5aa85
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 10 15:39:35 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

            commit 5351b804c0cd99751997b7cab627b81fb8c9f296
            Author: Dan Smith <[email protected]>
            Date:   Mon Jun 21 10:20:18 2021 -0400

                Squashed commit of the following:

                commit dac28609f60952e606a6fad5f5b5888a17b710ee
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:19:56 2021 -0400

                    fix RowCol::cast() again :-(

                commit b6af85633fd3b16205ae5442ab95cb247e22c25f
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:11:07 2021 -0400

                    "final" breaks SWIG; hide gsl::narrow_cast

                commit eec5c064243b1e4186d03b8da2318aa5a13f709b
                Merge: cc85657c 7bb82996
                Author: Dan Smith <[email protected]>
                Date:   Mon Jun 21 10:05:28 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

                commit cc85657c0b3c710befaea1064bfaf39595d7a039
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:56:52 2021 -0400

                    no mt/tests

                commit 8de6f1a3e3b288dca60a024a539452f03b412014
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:40:26 2021 -0400

                    latest from coda-oss

                commit 3a668844f4908838197831958e9eb2374a4664d7
                Merge: 639694bf 98e6bcf5
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 17 08:36:30 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

                commit 639694bfcfd465d658489e277d41ff8a068d5c1f
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 10 15:47:12 2021 -0400

                    latest updates from coda-oss

                commit 95fe355382fb95ec01afac6153283b73c069076a
                Merge: 73995168 ffd5aa85
                Author: Dan Smith <[email protected]>
                Date:   Thu Jun 10 15:39:35 2021 -0400

                    Merge branch 'master' into develop/update_coda-oss

            commit ebf45b1b971a2a911984f8d0c4add239fcade245
            Author: Dan Smith <[email protected]>
            Date:   Thu Jun 17 11:54:46 2021 -0400

                nitf::byte

            commit d785c54ff2c3242d41c24f38b9a599233443083d
            Author: Dan Smith <[email protected]>
            Date:   Thu Jun 17 09:48:49 2021 -0400

                getCornersAsLatLons() should be w/o "const"

            commit 81ad2dc45bf2e16200d8fbbe1589cdbb4b558112
            Merge: e6978bf2 7bb82996
            Author: Dan Smith <[email protected]>
            Date:   Thu Jun 17 09:47:40 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit e6978bf27a161ac278426271f4a8098cdd5686ab
            Merge: c51be8f8 98e6bcf5
            Author: Dan Smith <[email protected]>
            Date:   Thu Jun 17 08:41:48 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit c51be8f8020977907b9a6061ff7f0a53d92b51a7
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 17:27:12 2021 -0400

                "noexcept(false)" is a breaking change

            commit c82ba4e0a5cfc3c066aa3e031cb5f703e080b97b
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 17:01:59 2021 -0400

                another "noexcept" fix

            commit 25c5b47d639210ff724daf91694968f3b8ea10ce
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 15:03:20 2021 -0400

                "noexcept" can break derived classes

            commit ec7e9b0c45cd19da5a2d0232649f11deb2b1911b
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 14:23:50 2021 -0400

                we're using gsl::span

            commit c5d4ba86cd999b071681efb3477553bc3979c6f9
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 14:13:32 2021 -0400

                mark throwing constructors with noexcept(false)

            commit 8cbc74a5fc7f73313b9637b6d051a5181faf67bb
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 13:53:02 2021 -0400

                more "noexcept" cleanup

            commit f2b12f40b1bfbdbc8fe5e2149c4a1fd8946fbec3
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 13:41:06 2021 -0400

                cleanup "noexcept" a little bit

            commit c8d6126f3af0cf7a412f6a6505ec9625c368854f
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 13:19:08 2021 -0400

                remove array -> pointer decay

            commit 2075e2e412456aaa5f2494474405477a33113b63
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 12:53:29 2021 -0400

                mark functions "noexcept" as indicated by code-analysis

            commit b4652e9370c34c0841804804e2ed6029858f6949
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 12:23:37 2021 -0400

                Revert "obey the "rule of 5.""

                This reverts commit ef0afc27b1efa035f0ca091b7fae5b1f8d4dadfa.

            commit 4f2ef7101b70ece93de0f833fd2b1ae14751dac7
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 11:56:47 2021 -0400

                TRE_setField() now takes "const" NITF_DATA*

            commit ef0afc27b1efa035f0ca091b7fae5b1f8d4dadfa
            Author: Dan Smith <[email protected]>
            Date:   Wed Jun 16 11:26:06 2021 -0400

                obey the "rule of 5."

            commit d008bf401676f8ca88ad9ce5dbe94e39423b904c
            Author: Dan Smith <[email protected]>
            Date:   Tue Jun 15 08:30:28 2021 -0400

                fix new code-analysis diagnostics

            commit 46ba5d78fe3316d180ec48d9ca5d45e93c18e69a
            Merge: e2c3a7a3 c3dc8220
            Author: Dan Smith <[email protected]>
            Date:   Mon Jun 14 09:16:41 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit e2c3a7a3b23273b818431c748932dddd70da231b
            Merge: b6014390 a6cec9df
            Author: Dan Smith <[email protected]>
            Date:   Thu May 27 14:39:23 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit b6014390c83702b4e8e566565d5eb7168c1638b0
            Merge: 7e45fb9f 73995168
            Author: Dan Smith <[email protected]>
            Date:   Thu May 27 13:24:07 2021 -0400

                Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

            commit 7e45fb9f6f9710c38ddddb8ebe32fd6b8d177437
            Merge: 66d7e894 05afcb99
            Author: Dan Smith <[email protected]>
            Date:   Thu May 27 13:04:45 2021 -0400

                Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

            commit 66d7e8942cc01d1b257da72087e6aa5719d3dcf3
            Merge: 88e6a046 f4b80a31
            Author: Dan Smith <[email protected]>
            Date:   Thu May 27 13:04:33 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit 88e6a046d10e805ca478878224d0a57084e91941
            Author: Dan Smith <[email protected]>
            Date:   Wed May 26 10:59:56 2021 -0400

                cleanup for VS2019 16.10

            commit cc27ac156d7ca3927cd78bd8e3d2498e4dc54c40
            Author: Dan Smith <[email protected]>
            Date:   Tue May 25 16:46:44 2021 -0400

                C++20 doesn't like our use of gsl::make_span

            commit e7a7ed5f7477677850faa1d8558d1a4b37b9a3ce
            Merge: dd12167d a2352f25
            Author: Dan Smith <[email protected]>
            Date:   Mon May 24 16:04:20 2021 -0400

                Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

            commit dd12167d29a3f8aae2968c8fb5ebce6d52a83de8
            Merge: 994faf7d 4ddaf23d
            Author: Dan Smith <[email protected]>
            Date:   Mon May 24 15:26:45 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit 994faf7dc516700a8213087a9a3696799190ce58
            Merge: b8025652 4f1b857a
            Author: Dan Smith <[email protected]>
            Date:   Mon May 24 15:17:12 2021 -0400

                Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

            commit b8025652318622158b0cb70f6080b1e32234cc44
            Merge: b110d9b9 2a57741c
            Author: Dan Smith <[email protected]>
            Date:   Mon May 24 15:12:10 2021 -0400

                Merge branch 'master' into feature/remove_compiler_warnings

            commit b110d9b9d7f5d45615ebb5301aa69671a050fe68
            Merge: 93160fd8 d99322d3
            Author: Dan Smith <[email protected]>
            Date:   Mon May 24 14:39:15 2021 -0400

                Merge branch 'develop/update_coda-oss' into feature/remove_compiler_warnings

            commit 93160fd8ea…
  • Loading branch information
JDanielSmith authored Jun 23, 2022
1 parent 3972dba commit f401794
Show file tree
Hide file tree
Showing 12 changed files with 97 additions and 67 deletions.
6 changes: 3 additions & 3 deletions Test++/nitf_Test.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@ namespace Microsoft{ namespace VisualStudio {namespace CppUnitTestFramework
template<>
inline std::wstring ToString(const nitf::PixelValueType& q)
{
return nitf::to_wstring(q);
return str::EncodedStringView(nitf::to_string(q)).wstring();
}

template<>
inline std::wstring ToString(const nitf::BlockingMode& q)
{
return nitf::to_wstring(q);
return str::EncodedStringView(nitf::to_string(q)).wstring();
}

template<>
inline std::wstring ToString(const nitf::ImageCompression& q)
{
return nitf::to_wstring(q);
return str::EncodedStringView(nitf::to_string(q)).wstring();
}

}}}
14 changes: 7 additions & 7 deletions modules/c++/nitf/include/nitf/ByteProvider.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ struct NITRO_NITFCPP_API ByteProvider
}

//! \return The raw file header bytes
const std::vector<sys::byte>& getFileHeader() const noexcept
const std::vector<nitf::byte>& getFileHeader() const noexcept
{
return mFileHeader;
}
Expand All @@ -144,7 +144,7 @@ struct NITRO_NITFCPP_API ByteProvider
* \return The raw bytes for each image subheader. Vector size matches the
* number of image segments.
*/
const std::vector<std::vector<sys::byte> >& getImageSubheaders() const noexcept
const std::vector<std::vector<nitf::byte> >& getImageSubheaders() const noexcept
{
return mImageSubheaders;
}
Expand All @@ -154,7 +154,7 @@ struct NITRO_NITFCPP_API ByteProvider
* \return The raw bytes for each DES (subheader immediately followed by
* raw DES data). Vector size matches the number of data extension segments.
*/
const std::vector<sys::byte>& getDesSubheaderAndData() const noexcept
const std::vector<nitf::byte>& getDesSubheaderAndData() const noexcept
{
return mDesSubheaderAndData;
}
Expand Down Expand Up @@ -273,7 +273,7 @@ struct NITRO_NITFCPP_API ByteProvider
size_t numRowsPerBlock = 0, size_t numColsPerBlock = 0);

static void copyFromStreamAndClear(io::ByteStream& stream,
std::vector<sys::byte>& rawBytes);
std::vector<nitf::byte>& rawBytes);
static void copyFromStreamAndClear(io::ByteStream& stream,
std::vector<std::byte>& rawBytes);

Expand Down Expand Up @@ -366,11 +366,11 @@ struct NITRO_NITFCPP_API ByteProvider

std::vector<SegmentInfo> mImageSegmentInfo; // Per segment

std::vector<sys::byte> mFileHeader;
std::vector<std::vector<sys::byte> > mImageSubheaders; // Per segment
std::vector<nitf::byte> mFileHeader;
std::vector<std::vector<nitf::byte> > mImageSubheaders; // Per segment

// All DES subheaders and data together contiguously
std::vector<sys::byte> mDesSubheaderAndData;
std::vector<nitf::byte> mDesSubheaderAndData;

std::vector<nitf::Off> mImageSubheaderFileOffsets; // Per segment
nitf::Off mDesSubheaderFileOffset = 0;
Expand Down
2 changes: 1 addition & 1 deletion modules/c++/nitf/include/nitf/CompressedByteProvider.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ struct NITRO_NITFCPP_API CompressedByteProvider : public ByteProvider
size_t seg,
size_t startRow,
size_t numRowsToWrite,
const sys::byte* imageData,
const nitf::byte* imageData,
nitf::Off& fileOffset,
NITFBufferList& buffers) const;
size_t addImageData(
Expand Down
91 changes: 61 additions & 30 deletions modules/c++/nitf/include/nitf/Enum.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
#include <map>
#include <stdexcept>
#include <ostream>
#include <std/optional>
#include <new> // std::nothrow

#include "str/Manip.h"
#include "str/EncodedStringView.h"
Expand All @@ -47,40 +49,39 @@ namespace nitf
return retval;
}

template<typename TKey, typename TValue, typename TException>
inline TValue index(const std::map<TKey, TValue>& map, const TKey& key, const TException& ex) noexcept(false)
template<typename TKey, typename TValue>
inline std::optional<TValue> index(const std::map<TKey, TValue>& map, const TKey& key)
{
const auto it = map.find(key);
if (it == map.end())
{
throw ex;
}
return it->second;
return it == map.end() ? std::optional<TValue>() : std::optional<TValue>(it->second);
}
template<typename TKey, typename TValue>
inline TValue index(const std::map<TKey, TValue>& map, const TKey& key)

template<typename T>
inline std::optional<std::string> to_string(T v, const std::map<T, std::string>& enum_to_string)
{
return index(map, key, std::invalid_argument("key not found in map."));
return index(enum_to_string, v);
}

// You need to specialize string_to_enum() for each "enum class"
template<typename T> const std::map<std::string, T>& string_to_enum();
template<typename T>
inline const std::map<T, std::string>& enum_to_string()
inline std::optional<T> from_string(std::string v, const std::map<std::string, T>& string_to_enum)
{
static const auto retval = swap_key_value(string_to_enum<T>());
return retval;
str::trim(v);
return index(string_to_enum, v);
}

template<typename T>
inline std::string to_string(T v) noexcept(false)
template<typename T, typename TException>
inline T value(const std::optional<T>& v, const TException& ex)
{
return index(enum_to_string<T>(), v);
if (!v.has_value())
{
throw ex;
}
return *v;
}
template<typename T>
inline T from_string(const std::string& v) noexcept(false)
inline T value(const std::optional<T>& v)
{
return index(string_to_enum<T>(), v);
return value(v, std::invalid_argument("key not found in map."));
}
}

Expand All @@ -104,30 +105,60 @@ namespace nitf

#define NITF_ENUM_define_string_to_enum_ostream_(name) inline std::ostream& operator<<(std::ostream& os, name e) { os << to_string(e); return os; }
#define NITF_ENUM_define_string_to_enum_begin(name) NITF_ENUM_define_string_to_enum_ostream_(name) \
namespace details { template<> inline const std::map<std::string, name>& string_to_enum() { \
static const std::map<std::string, name> retval {
#define NITF_ENUM_define_string_to_end }; return retval; } }
inline const std::map<std::string, name>& string_to_enum(name) { static const std::map<std::string, name> retval {
#define NITF_ENUM_define_string_to_end }; return retval; }
#define NITF_ENUM_define_string_to_enum_(name, ...) NITF_ENUM_define_string_to_enum_begin(name) __VA_ARGS__ \
NITF_ENUM_define_string_to_end

#define NITF_ENUM(n, name, ...) NITF_ENUM_define_enum_(name, __VA_ARGS__); \
NITF_ENUM_define_string_to_enum_(name, NITF_ENUM_map_entry_##n(name, __VA_ARGS__))

template<typename T>
inline std::string to_string(T v) noexcept(false)
inline std::optional<std::string> to_string(T v, const std::map<std::string, T>& string_to_enum, std::nothrow_t)
{
return details::to_string(v);
static const auto enum_to_string = details::swap_key_value(string_to_enum);
return details::to_string(v, enum_to_string);
}
template<typename T>
inline std::wstring to_wstring(T v) noexcept(false)
inline std::string to_string(T v, const std::map<std::string, T>& string_to_enum)
{
const auto result = to_string(v, string_to_enum, std::nothrow);
return details::value(result);
}

template<typename T>
inline std::optional<T> from_string(const std::string& v, const std::map<std::string, T>& string_to_enum, std::nothrow_t)
{
return str::EncodedStringView(details::to_string(v)).wstring();
return details::from_string(v, string_to_enum);
}
template<typename T>
inline T from_string(std::string v) noexcept(false)
inline T from_string(const std::string& v, const std::map<std::string, T>& string_to_enum)
{
str::trim(v);
return details::from_string<T>(v);
const auto result = from_string(v, string_to_enum, std::nothrow);
return details::value(result);
}

template<typename T>
inline std::optional<std::string> to_string(T v, std::nothrow_t)
{
return to_string(v, string_to_enum(T()), std::nothrow);
}
template<typename T>
inline std::string to_string(T v)
{
return to_string(v, string_to_enum(T()));
}

template<typename T>
inline std::optional<T> from_string(const std::string& v, std::nothrow_t)
{
return from_string<T>(v, string_to_enum(T()), std::nothrow);
}
template<typename T>
inline T from_string(const std::string& v)
{
return from_string<T>(v, string_to_enum(T()));
}

}
#endif // NITF_Enum_hpp_INCLUDED_
8 changes: 4 additions & 4 deletions modules/c++/nitf/include/nitf/ImageBlocker.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -279,11 +279,11 @@ struct NITRO_NITFCPP_API ImageBlocker /*final*/ // no "final", SWIG doesn't li
size_t& lastBlockWithinLastSeg) const;

void blockImpl(size_t seg,
const sys::byte* input,
const nitf::byte* input,
size_t numValidRowsInBlock,
size_t numValidColsInBlock,
size_t numBytesPerPixel,
sys::byte* output) const noexcept
nitf::byte* output) const noexcept
{
block(input, numBytesPerPixel, mNumCols, mNumRowsPerBlock[seg],
mNumColsPerBlock, numValidRowsInBlock, numValidColsInBlock,
Expand Down Expand Up @@ -336,10 +336,10 @@ struct NITRO_NITFCPP_API ImageBlocker /*final*/ // no "final", SWIG doesn't li
input += mNumCols * numBytesPerPixel * (numValidRowsInBlock - 1);
}
void blockAcrossRow(size_t seg,
const sys::byte*& input,
const nitf::byte*& input,
size_t numValidRowsInBlock,
size_t numBytesPerPixel,
sys::byte*& output) const noexcept
nitf::byte*& output) const noexcept
{
blockAcrossRowImpl(seg, input, numValidRowsInBlock, numBytesPerPixel, output);
}
Expand Down
2 changes: 1 addition & 1 deletion modules/c++/nitf/include/nitf/ImageReader.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ DECLARE_CLASS(ImageReader)
* \param padded Returns TRUE if pad pixels may have been read
*/
void read(const nitf::SubWindow & subWindow, uint8_t ** user, int * padded);
void read(const nitf::SubWindow & subWindow, sys::byte** user, int * padded)
void read(const nitf::SubWindow & subWindow, nitf::byte** user, int * padded)
{
void* user_ = user;
read(subWindow, static_cast<uint8_t**>(user_), padded);
Expand Down
2 changes: 1 addition & 1 deletion modules/c++/nitf/include/nitf/NITFBufferList.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ struct NITRO_NITFCPP_API NITFBufferList
*/
const void* getBlock(size_t blockSize,
size_t blockIdx,
std::vector<sys::byte>& scratch,
std::vector<nitf::byte>& scratch,
size_t& numBytes) const;
const void* getBlock(size_t blockSize,
size_t blockIdx,
Expand Down
6 changes: 3 additions & 3 deletions modules/c++/nitf/include/nitf/SegmentSource.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,16 @@ struct NITRO_NITFCPP_API SegmentMemorySource : public SegmentSource
* \param copyData Whether or not to make a copy of the data. If this is
* false, the data must outlive the memory source.
*/
SegmentMemorySource(const sys::byte* data, nitf::Off size, nitf::Off start,
SegmentMemorySource(const nitf::byte* data, nitf::Off size, nitf::Off start,
int byteSkip, bool copyData);

SegmentMemorySource(const std::span<const std::byte>& data, nitf::Off start,
int byteSkip, bool copyData);
SegmentMemorySource(const std::span<const sys::byte>& data, nitf::Off start,
SegmentMemorySource(const std::span<const nitf::byte>& data, nitf::Off start,
int byteSkip, bool copyData);
SegmentMemorySource(const std::vector<std::byte>& data, nitf::Off start,
int byteSkip, bool copyData);
SegmentMemorySource(const std::vector<sys::byte>& data, nitf::Off start,
SegmentMemorySource(const std::vector<nitf::byte>& data, nitf::Off start,
int byteSkip, bool copyData);
SegmentMemorySource(const std::string& data, nitf::Off start,
int byteSkip, bool copyData);
Expand Down
9 changes: 4 additions & 5 deletions modules/c++/nitf/source/ByteProvider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ static void copyFromStreamAndClear_(io::ByteStream& stream,
stream.clear();
}
void ByteProvider::copyFromStreamAndClear(io::ByteStream& stream,
std::vector<sys::byte>& rawBytes)
std::vector<nitf::byte>& rawBytes)
{
copyFromStreamAndClear_(stream, rawBytes);
}
Expand Down Expand Up @@ -393,8 +393,7 @@ mem::auto_ptr<const ImageBlocker> ByteProvider::getImageBlocker() const
mNumCols,
mOverallNumRowsPerBlock,
mNumColsPerBlock);
mem::auto_ptr<const ImageBlocker> blocker_(blocker.release());
return blocker_;
return mem::auto_ptr<const ImageBlocker>(blocker.release());
}

void ByteProvider::checkBlocking(size_t seg,
Expand Down Expand Up @@ -475,7 +474,7 @@ void ByteProvider::addImageData(
const size_t startLocalRowToWrite =
startGlobalRowToWrite - startRow + numPadRowsSoFar;
const auto imageDataPtr =
static_cast<const sys::byte*>(imageData) +
static_cast<const nitf::byte*>(imageData) +
startLocalRowToWrite * mNumBytesPerRow;

if (buffers.empty())
Expand Down Expand Up @@ -632,7 +631,7 @@ void ByteProvider::getBytes(const void* imageData,
}
}

static std::span<const std::byte> make_span(const std::vector<sys::byte>& v) noexcept
static std::span<const std::byte> make_span(const std::vector<nitf::byte>& v) noexcept
{
const void* const pData = v.data();
return std::span<const std::byte>(static_cast<const std::byte*>(pData), v.size());
Expand Down
4 changes: 2 additions & 2 deletions modules/c++/nitf/source/CompressedByteProvider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ types::Range CompressedByteProvider::findBlocksToWrite(
#undef max
template<typename T>
static size_t addImageData_(const std::vector<std::vector<size_t> > mBytesInEachBlock,
const std::vector<std::vector<sys::byte> >& mImageSubheaders,
const std::vector<std::vector<nitf::byte> >& mImageSubheaders,
const std::vector<nitf::Off>& mImageSubheaderFileOffsets,
const types::Range& blockRange,
size_t seg,
Expand Down Expand Up @@ -218,7 +218,7 @@ size_t CompressedByteProvider::addImageData(
size_t seg,
size_t startRow,
size_t numRowsToWrite,
const sys::byte* imageData,
const nitf::byte* imageData,
nitf::Off& fileOffset,
NITFBufferList& buffers) const
{
Expand Down
2 changes: 1 addition & 1 deletion modules/c++/nitf/source/NITFBufferList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ const void* getBlock_(const std::vector<NITFBuffer>& mBuffers,
}
const void* NITFBufferList::getBlock(size_t blockSize,
size_t blockIdx,
std::vector<sys::byte>& scratch,
std::vector<nitf::byte>& scratch,
size_t& numBytes) const
{
numBytes = getNumBytesInBlock(blockSize, blockIdx);
Expand Down
18 changes: 9 additions & 9 deletions modules/c++/nitf/unittests/test_nitf_buffer_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,18 @@ TEST_CASE(testGetNumBlocks)
TEST_CASE(testGetBlock_sys_byte)
{
// 100 total bytes
std::vector<sys::byte> buffer(100);
std::vector<nitf::byte> buffer(100);
for (size_t ii = 0; ii < buffer.size(); ++ii)
{
buffer[ii] = static_cast<sys::byte>(rand() % 256);
buffer[ii] = static_cast<nitf::byte>(rand() % 256);
}

// Break this into a few pieces
std::vector<sys::byte> buffer1(buffer.begin(), buffer.begin() + 10);
std::vector<sys::byte> buffer2(buffer.begin() + 10, buffer.begin() + 20);
std::vector<sys::byte> buffer3(buffer.begin() + 20, buffer.begin() + 35);
std::vector<sys::byte> buffer4(buffer.begin() + 35, buffer.begin() + 57);
std::vector<sys::byte> buffer5(buffer.begin() + 57, buffer.end());
std::vector<nitf::byte> buffer1(buffer.begin(), buffer.begin() + 10);
std::vector<nitf::byte> buffer2(buffer.begin() + 10, buffer.begin() + 20);
std::vector<nitf::byte> buffer3(buffer.begin() + 20, buffer.begin() + 35);
std::vector<nitf::byte> buffer4(buffer.begin() + 35, buffer.begin() + 57);
std::vector<nitf::byte> buffer5(buffer.begin() + 57, buffer.end());

// Add them all on
nitf::NITFBufferList bufferList;
Expand All @@ -80,9 +80,9 @@ TEST_CASE(testGetBlock_sys_byte)
TEST_ASSERT_EQ(numTotalBytes, buffer.size());

// Extract all the bytes
std::vector<sys::byte> extracted(numTotalBytes);
std::vector<nitf::byte> extracted(numTotalBytes);
auto ptr = extracted.data();
std::vector<sys::byte> scratch;
std::vector<nitf::byte> scratch;

size_t numBytesInBlock;
for (size_t block = 0; block < numBlocks; ++block)
Expand Down

0 comments on commit f401794

Please sign in to comment.