Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

latest from coda-oss and nitro #551

Merged
merged 88 commits into from
Apr 19, 2022
Merged

Conversation

JDanielSmith
Copy link
Contributor

latest from coda-oss and nitro

Dan Smith added 30 commits December 8, 2021 14:32
commit 474b7f2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 13 13:00:02 2021 -0500

    xml.lite changes that need to get back to coda-oss

commit c9c0ec3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 13 11:45:39 2021 -0500

    Squashed commit of the following:

    commit 33bd170
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Mon Dec 13 11:44:54 2021 -0500

        nitro release 2.10.7

    commit ef19ad2
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Mon Dec 13 11:42:09 2021 -0500

        coda-oss release 2021-12-13

    commit 86c1856
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Fri Dec 10 11:57:26 2021 -0500

        xml.lite tweaks from coda-oss

    commit f21f79d
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 17:36:09 2021 -0500

        test_xmlParser might be be running in coda-oss

    commit 3526cd0
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 16:09:17 2021 -0500

        "private" is part of name mangling

    commit 351a45f
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 15:54:13 2021 -0500

        more xml.lite updates from coda-oss

    commit 1c72ba2
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 15:15:34 2021 -0500

        trying to fine the right macro for SWIG

    commit 8d6e11d
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:51:34 2021 -0500

        need updates to Python bindings too

    commit e208dd4
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:41:12 2021 -0500

        xml.lite changes from coda-oss

    commit 169df75
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 14:32:37 2021 -0500

        latest from coda-oss

commit 1a74d40
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 10 12:26:10 2021 -0500

    more use of new xml.lite infrastructure

commit 5d641a4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 10 11:58:22 2021 -0500

    use new xml.lite APIs to simplify code

commit 01f811e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 10 11:57:57 2021 -0500

    Squashed commit of the following:

    commit 86c1856
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Fri Dec 10 11:57:26 2021 -0500

        xml.lite tweaks from coda-oss

    commit f21f79d
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 17:36:09 2021 -0500

        test_xmlParser might be be running in coda-oss

    commit 3526cd0
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 16:09:17 2021 -0500

        "private" is part of name mangling

    commit 351a45f
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 15:54:13 2021 -0500

        more xml.lite updates from coda-oss

    commit 1c72ba2
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 15:15:34 2021 -0500

        trying to fine the right macro for SWIG

    commit 8d6e11d
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:51:34 2021 -0500

        need updates to Python bindings too

    commit e208dd4
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:41:12 2021 -0500

        xml.lite changes from coda-oss

    commit 169df75
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 14:32:37 2021 -0500

        latest from coda-oss

commit 25b83eb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 10 09:06:38 2021 -0500

    Squashed commit of the following:

    commit 3f59a62
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Fri Dec 10 08:44:54 2021 -0500

        still can't get French XML working

    commit 1a826e5
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 17:37:11 2021 -0500

        Squashed commit of the following:

        commit f21f79d
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 17:36:09 2021 -0500

            test_xmlParser might be be running in coda-oss

        commit 3526cd0
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 16:09:17 2021 -0500

            "private" is part of name mangling

        commit 351a45f
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 15:54:13 2021 -0500

            more xml.lite updates from coda-oss

        commit 1c72ba2
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 15:15:34 2021 -0500

            trying to fine the right macro for SWIG

        commit 8d6e11d
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:51:34 2021 -0500

            need updates to Python bindings too

        commit e208dd4
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:41:12 2021 -0500

            xml.lite changes from coda-oss

        commit 169df75
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Wed Dec 8 14:32:37 2021 -0500

            latest from coda-oss

    commit f705be9
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 17:35:35 2021 -0500

        add overloads for other code

    commit d613234
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 16:57:55 2021 -0500

        option to disable XML validation for SICD too

    commit bc2c97e
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 16:09:44 2021 -0500

        Squashed commit of the following:

        commit 3526cd0
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 16:09:17 2021 -0500

            "private" is part of name mangling

        commit 351a45f
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 15:54:13 2021 -0500

            more xml.lite updates from coda-oss

        commit 1c72ba2
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 15:15:34 2021 -0500

            trying to fine the right macro for SWIG

        commit 8d6e11d
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:51:34 2021 -0500

            need updates to Python bindings too

        commit e208dd4
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:41:12 2021 -0500

            xml.lite changes from coda-oss

        commit 169df75
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Wed Dec 8 14:32:37 2021 -0500

            latest from coda-oss

    commit 4cd813b
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 15:16:01 2021 -0500

        Squashed commit of the following:

        commit 1c72ba2
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 15:15:34 2021 -0500

            trying to fine the right macro for SWIG

        commit 8d6e11d
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:51:34 2021 -0500

            need updates to Python bindings too

        commit e208dd4
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:41:12 2021 -0500

            xml.lite changes from coda-oss

        commit 169df75
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Wed Dec 8 14:32:37 2021 -0500

            latest from coda-oss

    commit 7b210f9
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:51:53 2021 -0500

        Squashed commit of the following:

        commit 8d6e11d
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:51:34 2021 -0500

            need updates to Python bindings too

        commit e208dd4
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:41:12 2021 -0500

            xml.lite changes from coda-oss

        commit 169df75
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Wed Dec 8 14:32:37 2021 -0500

            latest from coda-oss

    commit 4a4d621
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:47:21 2021 -0500

        trying to get the "french" SICD unit-test working

    commit d63e6ea
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Dec 9 14:42:55 2021 -0500

        Squashed commit of the following:

        commit e208dd4
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Thu Dec 9 14:41:12 2021 -0500

            xml.lite changes from coda-oss

        commit 169df75
        Author: Dan Smith <dan.smith@maxar.com>
        Date:   Wed Dec 8 14:32:37 2021 -0500

            latest from coda-oss

    commit d1a7e6f
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Dec 9 09:29:07 2021 -0500

        test_valid_six unittests now working

    commit d6fb257
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 17:45:26 2021 -0500

        trying to re-enable more unittests

    commit c787e98
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 16:54:28 2021 -0500

        unit-test breaks on Linux

    commit bd82787
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 15:25:31 2021 -0500

        Squashed commit of the following:

        commit c56ac71
        Author: Dan Smith <Dan.Smith@maxar.com>
        Date:   Wed Dec 8 15:23:00 2021 -0500

            merge in develop/SIDD-3.0

    commit e621466
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Wed Dec 8 15:08:04 2021 -0500

        merge in develop/8AMPI_PHSI

commit 67768ea
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Dec 9 10:02:19 2021 -0500

    Squashed commit of the following:

    commit d1a7e6f
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Dec 9 09:29:07 2021 -0500

        test_valid_six unittests now working

    commit d6fb257
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 17:45:26 2021 -0500

        trying to re-enable more unittests

    commit c787e98
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 16:54:28 2021 -0500

        unit-test breaks on Linux

    commit bd82787
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 15:25:31 2021 -0500

        Squashed commit of the following:

        commit c56ac71
        Author: Dan Smith <Dan.Smith@maxar.com>
        Date:   Wed Dec 8 15:23:00 2021 -0500

            merge in develop/SIDD-3.0

    commit e621466
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Wed Dec 8 15:08:04 2021 -0500

        merge in develop/8AMPI_PHSI

commit b582c05
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Dec 8 15:26:24 2021 -0500

    Squashed commit of the following:

    commit bd82787
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Wed Dec 8 15:25:31 2021 -0500

        Squashed commit of the following:

        commit c56ac71
        Author: Dan Smith <Dan.Smith@maxar.com>
        Date:   Wed Dec 8 15:23:00 2021 -0500

            merge in develop/SIDD-3.0

    commit e621466
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Wed Dec 8 15:08:04 2021 -0500

        merge in develop/8AMPI_PHSI

commit c56ac71
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Dec 8 15:23:00 2021 -0500

    merge in develop/SIDD-3.0
JDanielSmith pushed a commit that referenced this pull request Oct 9, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..168cbae01

168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 168cbae01bb1e5fc0a02c2d96e8b02619bf2831d

* Squashed 'externals/nitro/' changes from c8ecbe9ae..547d0aa9f

547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 547d0aa9ffcf34ad94f9ea71aa415f39837b2e68

* CRLF

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 168cbae01..22e050207

22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: 22e05020768d791498db105c261439dc78981445

* Squashed 'externals/nitro/' changes from 547d0aa9f..e7ea728ec

e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: e7ea728ec6c80eb3a7564f9c721563c49d744c51

* str::format changes from CODA-OSS

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 22e050207..bf7ae4a71

bf7ae4a71 use overloads rather than varargs for std::format() (#727)

git-subtree-dir: externals/coda-oss
git-subtree-split: bf7ae4a718bd97a55ed37d2dd0a514deebc97776

* Squashed 'externals/nitro/' changes from e7ea728ec..fc1f59799

fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)

git-subtree-dir: externals/nitro
git-subtree-split: fc1f59799a3082a3c1605dd9a6c3dd12ce2412d3

* toString() changes from CODA-OSS

* Squashed 'externals/coda-oss/' changes from bf7ae4a71..8dee6f7a6

8dee6f7a6 revert toString() changes (#728)

git-subtree-dir: externals/coda-oss
git-subtree-split: 8dee6f7a68d560f8bb3469f2d0375bb65e2f532f

* Squashed 'externals/nitro/' changes from fc1f59799..72209535d

72209535d toString() changes from CODA-OSS (#579)

git-subtree-dir: externals/nitro
git-subtree-split: 72209535d071d6a6f18c475413f948d086cd8787

* Squashed 'externals/nitro/' changes from 72209535d..e488297c3

e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68

git-subtree-dir: externals/nitro
git-subtree-split: e488297c31fbf52dd2c1ae6ba94f95a6cdf9eb30

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8dee6f7a6..00e2dd928

00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)

git-subtree-dir: externals/coda-oss
git-subtree-split: 00e2dd9286b44e32f8393165f20485b543d52170

* Squashed 'externals/nitro/' changes from e488297c3..72cd86cbf

72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()

git-subtree-dir: externals/nitro
git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

* latest from CODA-OSS

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 00e2dd928..333b91024

333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 333b9102479d3d2c7d41425dbcfa41a7eabf7b1d

* Squashed 'externals/nitro/' changes from 72cd86cbf..49f6338d2

49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 49f6338d2998fc6b4d033bf1456f1fb1bcb53567

* build after CODA-OSS updates

* Squashed 'externals/coda-oss/' changes from 333b91024..c92a55d7c

c92a55d7c build in SIX

git-subtree-dir: externals/coda-oss
git-subtree-split: c92a55d7c788ec177b094284572b227a40a8fcd7

* Squashed 'externals/nitro/' changes from 49f6338d2..e418beceb

e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS

git-subtree-dir: externals/nitro
git-subtree-split: e418beceb503c1186119ea058211f1e5b493afc6

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from c92a55d7c..369737085

369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 369737085573989ba74a68a4dc2da9d4be8be3a6

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 369737085..95ff879ba

95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)

git-subtree-dir: externals/coda-oss
git-subtree-split: 95ff879babba421c57ece442c3324c98d68fdbc7

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 95ff879ba..959532681

959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: 95953268198a05486cd86cc17ac085805362c6ec

* Squashed 'externals/nitro/' changes from e418beceb..edfa0f7ce

edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: edfa0f7ce5951b09967bb92ec4aba4820d50561f

* Squashed 'externals/nitro/' changes from edfa0f7ce..574bfe2b6

574bfe2b6 FmtX() -> str::Format() (#586)

git-subtree-dir: externals/nitro
git-subtree-split: 574bfe2b6c79955be16427ddf4f115b0333a05b9
JDanielSmith pushed a commit that referenced this pull request Oct 9, 2023
commit 9dd9172
Merge: f09bdb2 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Merge commit '12510803ab1aa6c49be1fc9df26dfb997d1ace0e' into develop/sync_externals

commit 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Squashed 'externals/nitro/' changes from edfa0f7ce..574bfe2b6

    574bfe2b6 FmtX() -> str::Format() (#586)

    git-subtree-dir: externals/nitro
    git-subtree-split: 574bfe2b6c79955be16427ddf4f115b0333a05b9

commit f09bdb2
Merge: c73d46b 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:34 2023 -0400

    latest from NITRO

commit 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:58 2023 -0400

    Squashed 'externals/nitro/' changes from e418beceb..edfa0f7ce

    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)

    git-subtree-dir: externals/nitro
    git-subtree-split: edfa0f7ce5951b09967bb92ec4aba4820d50561f

commit c73d46b
Merge: 2e711e3 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Merge commit '594752daff55aec6a2f04430e6c6675837bec723' into develop/sync_externals

commit 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Squashed 'externals/coda-oss/' changes from 95ff879ba..959532681

    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95953268198a05486cd86cc17ac085805362c6ec

commit 2e711e3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:51 2023 -0400

    latest from CODA-OSS and NITRO

commit 4e46c6b
Merge: 909d786 d11230e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:20 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 909d786
Merge: 151eb4f fd12777
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:43:41 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Squashed 'externals/coda-oss/' changes from 369737085..95ff879ba

    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95ff879babba421c57ece442c3324c98d68fdbc7

commit 151eb4f
Merge: 68bb88a 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Merge commit '11d8ec293ed98a2fa5581b2317f3389e34565547' into develop/sync_externals

commit 68bb88a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:26 2023 -0400

    latest from CODA-OSS and NITRO

commit aa3c088
Merge: 15e3d74 18a764e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:11:42 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Squashed 'externals/coda-oss/' changes from c92a55d7c..369737085

    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 369737085573989ba74a68a4dc2da9d4be8be3a6

commit 15e3d74
Merge: a018099 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Merge commit '1ee90a9a723449a28da2ccb6ff615163c6283a13' into develop/sync_externals

commit a018099
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:45 2023 -0400

    latest from CODA-OSS

commit 669feb7
Merge: 3738c91 d95832a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:02:14 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 3738c91
Merge: a537665 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:51 2023 -0400

    Merge commit '804168483daa854eafff59910e56704e1282ed40' into develop/sync_externals

commit 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:47 2023 -0400

    Squashed 'externals/nitro/' changes from 49f6338d2..e418beceb

    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS

    git-subtree-dir: externals/nitro
    git-subtree-split: e418beceb503c1186119ea058211f1e5b493afc6

commit f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Squashed 'externals/coda-oss/' changes from 333b91024..c92a55d7c

    c92a55d7c build in SIX

    git-subtree-dir: externals/coda-oss
    git-subtree-split: c92a55d7c788ec177b094284572b227a40a8fcd7

commit a537665
Merge: 3c13778 f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Merge commit 'f12914abbb5d7014dd904fd6319a3edd5ba788cd' into develop/sync_externals

commit 3c13778
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:28:54 2023 -0400

    build after CODA-OSS updates

commit 8abc353
Merge: a9e87fd a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:14 2023 -0400

    Merge commit 'a5674e74433a563a11e4bbdaae3803673dff99f1' into develop/sync_externals

commit a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:10 2023 -0400

    Squashed 'externals/nitro/' changes from 72cd86cbf..49f6338d2

    49f6338d2 latest from CODA-OSS (#581)

    git-subtree-dir: externals/nitro
    git-subtree-split: 49f6338d2998fc6b4d033bf1456f1fb1bcb53567

commit 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Squashed 'externals/coda-oss/' changes from 00e2dd928..333b91024

    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 333b9102479d3d2c7d41425dbcfa41a7eabf7b1d

commit a9e87fd
Merge: 3cbdfb9 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Merge commit '5ab880228dfd4d6fd1b2b11630fd414b394d292b' into develop/sync_externals

commit 3cbdfb9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:02 2023 -0400

    latest from NITRO

commit a681ebd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:08:14 2023 -0400

    latest from CODA-OSS

commit 7a363b4
Merge: 8cd5e77 80aec3a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:07:29 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 8cd5e77
Merge: 4ee925c 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:44 2023 -0400

    Merge commit '369de34a1c027a68c3f7d35be60c091e828d6417' into develop/sync_externals

commit 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:41 2023 -0400

    Squashed 'externals/nitro/' changes from e488297c3..72cd86cbf

    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()

    git-subtree-dir: externals/nitro
    git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

commit bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Squashed 'externals/coda-oss/' changes from 8dee6f7a6..00e2dd928

    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 00e2dd9286b44e32f8393165f20485b543d52170

commit 4ee925c
Merge: baeaa33 bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Merge commit 'bb4f3dc0f7aeb187acf39d6cae5e96b711bb4dc8' into develop/sync_externals

commit baeaa33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:33 2023 -0400

    latest from CODA-OSS and NITRO

commit a4a755c
Merge: 6fbe8b8 8a9b1e9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:24:48 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Squashed 'externals/nitro/' changes from 72209535d..e488297c3

    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68

    git-subtree-dir: externals/nitro
    git-subtree-split: e488297c31fbf52dd2c1ae6ba94f95a6cdf9eb30

commit 6fbe8b8
Merge: 3441e80 a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Merge commit 'a5d077e25b3d48901ed9615ccec88e4aaebbfce3' into develop/sync_externals

commit 3441e80
Merge: 69b0fb4 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:44 2023 -0400

    Merge commit '8538e1d222d56604050582bd2b0f128dda51f925' into develop/sync_externals

commit 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:34 2023 -0400

    Squashed 'externals/nitro/' changes from fc1f59799..72209535d

    72209535d toString() changes from CODA-OSS (#579)

    git-subtree-dir: externals/nitro
    git-subtree-split: 72209535d071d6a6f18c475413f948d086cd8787

commit d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Squashed 'externals/coda-oss/' changes from bf7ae4a71..8dee6f7a6

    8dee6f7a6 revert toString() changes (#728)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 8dee6f7a68d560f8bb3469f2d0375bb65e2f532f

commit 69b0fb4
Merge: c4dcdba d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Merge commit 'd982f60807e49f64d019eb973639ba555e9d7942' into develop/sync_externals

commit c4dcdba
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:43:57 2023 -0400

    toString() changes from CODA-OSS

commit 7de4dcf
Merge: 48895c9 69731d3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:37:24 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 48895c9
Merge: cb1a2c9 a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:55 2023 -0400

    Merge commit 'a2de0b5279a6763f39f6f34536eb6f680e98d146' into develop/sync_externals

commit a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:50 2023 -0400

    Squashed 'externals/nitro/' changes from e7ea728ec..fc1f59799

    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)

    git-subtree-dir: externals/nitro
    git-subtree-split: fc1f59799a3082a3c1605dd9a6c3dd12ce2412d3

commit 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Squashed 'externals/coda-oss/' changes from 22e050207..bf7ae4a71

    bf7ae4a71 use overloads rather than varargs for std::format() (#727)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: bf7ae4a718bd97a55ed37d2dd0a514deebc97776

commit cb1a2c9
Merge: bbc8367 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Merge commit '6c23d5de45eadac47028f968db108e4161666aa1' into develop/sync_externals

commit bbc8367
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 15:35:19 2023 -0400

    latest from CODA-OSS

commit 02e1917
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:09:36 2023 -0400

    str::format changes from CODA-OSS

commit e4b5c45
Merge: 0584296 80128f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:08:34 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Squashed 'externals/nitro/' changes from 547d0aa9f..e7ea728ec

    e7ea728ec reduce differences between cpp17 and main branches (#576)

    git-subtree-dir: externals/nitro
    git-subtree-split: e7ea728ec6c80eb3a7564f9c721563c49d744c51

commit 0584296
Merge: 8a996f2 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Merge commit '2928617bd4525f20316de415f07b6cf3d88e4878' into develop/sync_externals

commit 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Squashed 'externals/coda-oss/' changes from 168cbae01..22e050207

    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 22e05020768d791498db105c261439dc78981445

commit 8a996f2
Merge: e509306 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Merge commit '9c6572a9e7ccc4d54e79a6f7ebc373b4414e7df9' into develop/sync_externals

commit e509306
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:21 2023 -0400

    latest from CODA-OSS and NITRO

commit 62fc405
Merge: 40827a7 49e28e2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:30:22 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 40827a7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:23:42 2023 -0400

    CRLF

commit 209b4e3
Merge: 238a6fc 993d755
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:22:36 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 238a6fc
Merge: 1c1e440 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:15:00 2023 -0400

    Merge commit '83ec173c23943efe4e24689aad8d744aad69749c' into develop/sync_externals

commit 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:53 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..547d0aa9f

    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 547d0aa9ffcf34ad94f9ea71aa415f39837b2e68

commit c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..168cbae01

    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @V3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 168cbae01bb1e5fc0a02c2d96e8b02619bf2831d

commit 1c1e440
Merge: 10eded0 c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Merge commit 'c57aa2691a9635f55f5c604723d61ee495c59ed2' into develop/sync_externals

commit 10eded0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:19 2023 -0400

    latest from CODA-OSS and NITRO
JDanielSmith pushed a commit that referenced this pull request Oct 9, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..168cbae01

168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 168cbae01bb1e5fc0a02c2d96e8b02619bf2831d

* Squashed 'externals/nitro/' changes from c8ecbe9ae..547d0aa9f

547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 547d0aa9ffcf34ad94f9ea71aa415f39837b2e68

* CRLF

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 168cbae01..22e050207

22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: 22e05020768d791498db105c261439dc78981445

* Squashed 'externals/nitro/' changes from 547d0aa9f..e7ea728ec

e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: e7ea728ec6c80eb3a7564f9c721563c49d744c51

* str::format changes from CODA-OSS

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 22e050207..bf7ae4a71

bf7ae4a71 use overloads rather than varargs for std::format() (#727)

git-subtree-dir: externals/coda-oss
git-subtree-split: bf7ae4a718bd97a55ed37d2dd0a514deebc97776

* Squashed 'externals/nitro/' changes from e7ea728ec..fc1f59799

fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)

git-subtree-dir: externals/nitro
git-subtree-split: fc1f59799a3082a3c1605dd9a6c3dd12ce2412d3

* toString() changes from CODA-OSS

* Squashed 'externals/coda-oss/' changes from bf7ae4a71..8dee6f7a6

8dee6f7a6 revert toString() changes (#728)

git-subtree-dir: externals/coda-oss
git-subtree-split: 8dee6f7a68d560f8bb3469f2d0375bb65e2f532f

* Squashed 'externals/nitro/' changes from fc1f59799..72209535d

72209535d toString() changes from CODA-OSS (#579)

git-subtree-dir: externals/nitro
git-subtree-split: 72209535d071d6a6f18c475413f948d086cd8787

* Squashed 'externals/nitro/' changes from 72209535d..e488297c3

e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68

git-subtree-dir: externals/nitro
git-subtree-split: e488297c31fbf52dd2c1ae6ba94f95a6cdf9eb30

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8dee6f7a6..00e2dd928

00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)

git-subtree-dir: externals/coda-oss
git-subtree-split: 00e2dd9286b44e32f8393165f20485b543d52170

* Squashed 'externals/nitro/' changes from e488297c3..72cd86cbf

72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()

git-subtree-dir: externals/nitro
git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

* latest from CODA-OSS

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 00e2dd928..333b91024

333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 333b9102479d3d2c7d41425dbcfa41a7eabf7b1d

* Squashed 'externals/nitro/' changes from 72cd86cbf..49f6338d2

49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 49f6338d2998fc6b4d033bf1456f1fb1bcb53567

* build after CODA-OSS updates

* Squashed 'externals/coda-oss/' changes from 333b91024..c92a55d7c

c92a55d7c build in SIX

git-subtree-dir: externals/coda-oss
git-subtree-split: c92a55d7c788ec177b094284572b227a40a8fcd7

* Squashed 'externals/nitro/' changes from 49f6338d2..e418beceb

e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS

git-subtree-dir: externals/nitro
git-subtree-split: e418beceb503c1186119ea058211f1e5b493afc6

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from c92a55d7c..369737085

369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 369737085573989ba74a68a4dc2da9d4be8be3a6

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 369737085..95ff879ba

95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)

git-subtree-dir: externals/coda-oss
git-subtree-split: 95ff879babba421c57ece442c3324c98d68fdbc7

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 95ff879ba..959532681

959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: 95953268198a05486cd86cc17ac085805362c6ec

* Squashed 'externals/nitro/' changes from e418beceb..edfa0f7ce

edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: edfa0f7ce5951b09967bb92ec4aba4820d50561f

* Squashed 'externals/nitro/' changes from edfa0f7ce..574bfe2b6

574bfe2b6 FmtX() -> str::Format() (#586)

git-subtree-dir: externals/nitro
git-subtree-split: 574bfe2b6c79955be16427ddf4f115b0333a05b9

* except::Exception should be caught before std::exception

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 959532681..4a2f472c7

4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 4a2f472c7a265c841c2af5994520251fad056724
JDanielSmith pushed a commit that referenced this pull request Oct 10, 2023
* latest from CODA-OSS

* build existing code

* u8FromString() -> u8FromNative()

* u8FromString() -> u8FromNative()

* toString() -> to_native()

* Squashed 'externals/coda-oss/' changes from e87c32b4d..589aacfd7

589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 589aacfd7a5449843812db00b738ca565175c107

* Squashed 'externals/nitro/' changes from c8ecbe9ae..72cd86cbf

72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

* toWstring() -> details::to_wstring()

* toXMLString() should return UTF-8
JDanielSmith pushed a commit that referenced this pull request Oct 23, 2023
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9
JDanielSmith pushed a commit that referenced this pull request Oct 23, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9
JDanielSmith pushed a commit that referenced this pull request Nov 6, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf
JDanielSmith pushed a commit that referenced this pull request Nov 8, 2023
* Squashed commit of the following:

commit 9dd9172
Merge: f09bdb2 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Merge commit '12510803ab1aa6c49be1fc9df26dfb997d1ace0e' into develop/sync_externals

commit 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Squashed 'externals/nitro/' changes from edfa0f7ce..574bfe2b6

    574bfe2b6 FmtX() -> str::Format() (#586)

    git-subtree-dir: externals/nitro
    git-subtree-split: 574bfe2b6c79955be16427ddf4f115b0333a05b9

commit f09bdb2
Merge: c73d46b 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:34 2023 -0400

    latest from NITRO

commit 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:58 2023 -0400

    Squashed 'externals/nitro/' changes from e418beceb..edfa0f7ce

    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)

    git-subtree-dir: externals/nitro
    git-subtree-split: edfa0f7ce5951b09967bb92ec4aba4820d50561f

commit c73d46b
Merge: 2e711e3 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Merge commit '594752daff55aec6a2f04430e6c6675837bec723' into develop/sync_externals

commit 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Squashed 'externals/coda-oss/' changes from 95ff879ba..959532681

    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95953268198a05486cd86cc17ac085805362c6ec

commit 2e711e3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:51 2023 -0400

    latest from CODA-OSS and NITRO

commit 4e46c6b
Merge: 909d786 d11230e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:20 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 909d786
Merge: 151eb4f fd12777
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:43:41 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Squashed 'externals/coda-oss/' changes from 369737085..95ff879ba

    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95ff879babba421c57ece442c3324c98d68fdbc7

commit 151eb4f
Merge: 68bb88a 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Merge commit '11d8ec293ed98a2fa5581b2317f3389e34565547' into develop/sync_externals

commit 68bb88a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:26 2023 -0400

    latest from CODA-OSS and NITRO

commit aa3c088
Merge: 15e3d74 18a764e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:11:42 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Squashed 'externals/coda-oss/' changes from c92a55d7c..369737085

    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 369737085573989ba74a68a4dc2da9d4be8be3a6

commit 15e3d74
Merge: a018099 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Merge commit '1ee90a9a723449a28da2ccb6ff615163c6283a13' into develop/sync_externals

commit a018099
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:45 2023 -0400

    latest from CODA-OSS

commit 669feb7
Merge: 3738c91 d95832a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:02:14 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 3738c91
Merge: a537665 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:51 2023 -0400

    Merge commit '804168483daa854eafff59910e56704e1282ed40' into develop/sync_externals

commit 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:47 2023 -0400

    Squashed 'externals/nitro/' changes from 49f6338d2..e418beceb

    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS

    git-subtree-dir: externals/nitro
    git-subtree-split: e418beceb503c1186119ea058211f1e5b493afc6

commit f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Squashed 'externals/coda-oss/' changes from 333b91024..c92a55d7c

    c92a55d7c build in SIX

    git-subtree-dir: externals/coda-oss
    git-subtree-split: c92a55d7c788ec177b094284572b227a40a8fcd7

commit a537665
Merge: 3c13778 f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Merge commit 'f12914abbb5d7014dd904fd6319a3edd5ba788cd' into develop/sync_externals

commit 3c13778
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:28:54 2023 -0400

    build after CODA-OSS updates

commit 8abc353
Merge: a9e87fd a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:14 2023 -0400

    Merge commit 'a5674e74433a563a11e4bbdaae3803673dff99f1' into develop/sync_externals

commit a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:10 2023 -0400

    Squashed 'externals/nitro/' changes from 72cd86cbf..49f6338d2

    49f6338d2 latest from CODA-OSS (#581)

    git-subtree-dir: externals/nitro
    git-subtree-split: 49f6338d2998fc6b4d033bf1456f1fb1bcb53567

commit 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Squashed 'externals/coda-oss/' changes from 00e2dd928..333b91024

    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 333b9102479d3d2c7d41425dbcfa41a7eabf7b1d

commit a9e87fd
Merge: 3cbdfb9 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Merge commit '5ab880228dfd4d6fd1b2b11630fd414b394d292b' into develop/sync_externals

commit 3cbdfb9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:02 2023 -0400

    latest from NITRO

commit a681ebd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:08:14 2023 -0400

    latest from CODA-OSS

commit 7a363b4
Merge: 8cd5e77 80aec3a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:07:29 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 8cd5e77
Merge: 4ee925c 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:44 2023 -0400

    Merge commit '369de34a1c027a68c3f7d35be60c091e828d6417' into develop/sync_externals

commit 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:41 2023 -0400

    Squashed 'externals/nitro/' changes from e488297c3..72cd86cbf

    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()

    git-subtree-dir: externals/nitro
    git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

commit bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Squashed 'externals/coda-oss/' changes from 8dee6f7a6..00e2dd928

    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 00e2dd9286b44e32f8393165f20485b543d52170

commit 4ee925c
Merge: baeaa33 bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Merge commit 'bb4f3dc0f7aeb187acf39d6cae5e96b711bb4dc8' into develop/sync_externals

commit baeaa33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:33 2023 -0400

    latest from CODA-OSS and NITRO

commit a4a755c
Merge: 6fbe8b8 8a9b1e9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:24:48 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Squashed 'externals/nitro/' changes from 72209535d..e488297c3

    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68

    git-subtree-dir: externals/nitro
    git-subtree-split: e488297c31fbf52dd2c1ae6ba94f95a6cdf9eb30

commit 6fbe8b8
Merge: 3441e80 a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Merge commit 'a5d077e25b3d48901ed9615ccec88e4aaebbfce3' into develop/sync_externals

commit 3441e80
Merge: 69b0fb4 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:44 2023 -0400

    Merge commit '8538e1d222d56604050582bd2b0f128dda51f925' into develop/sync_externals

commit 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:34 2023 -0400

    Squashed 'externals/nitro/' changes from fc1f59799..72209535d

    72209535d toString() changes from CODA-OSS (#579)

    git-subtree-dir: externals/nitro
    git-subtree-split: 72209535d071d6a6f18c475413f948d086cd8787

commit d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Squashed 'externals/coda-oss/' changes from bf7ae4a71..8dee6f7a6

    8dee6f7a6 revert toString() changes (#728)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 8dee6f7a68d560f8bb3469f2d0375bb65e2f532f

commit 69b0fb4
Merge: c4dcdba d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Merge commit 'd982f60807e49f64d019eb973639ba555e9d7942' into develop/sync_externals

commit c4dcdba
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:43:57 2023 -0400

    toString() changes from CODA-OSS

commit 7de4dcf
Merge: 48895c9 69731d3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:37:24 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 48895c9
Merge: cb1a2c9 a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:55 2023 -0400

    Merge commit 'a2de0b5279a6763f39f6f34536eb6f680e98d146' into develop/sync_externals

commit a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:50 2023 -0400

    Squashed 'externals/nitro/' changes from e7ea728ec..fc1f59799

    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)

    git-subtree-dir: externals/nitro
    git-subtree-split: fc1f59799a3082a3c1605dd9a6c3dd12ce2412d3

commit 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Squashed 'externals/coda-oss/' changes from 22e050207..bf7ae4a71

    bf7ae4a71 use overloads rather than varargs for std::format() (#727)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: bf7ae4a718bd97a55ed37d2dd0a514deebc97776

commit cb1a2c9
Merge: bbc8367 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Merge commit '6c23d5de45eadac47028f968db108e4161666aa1' into develop/sync_externals

commit bbc8367
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 15:35:19 2023 -0400

    latest from CODA-OSS

commit 02e1917
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:09:36 2023 -0400

    str::format changes from CODA-OSS

commit e4b5c45
Merge: 0584296 80128f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:08:34 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Squashed 'externals/nitro/' changes from 547d0aa9f..e7ea728ec

    e7ea728ec reduce differences between cpp17 and main branches (#576)

    git-subtree-dir: externals/nitro
    git-subtree-split: e7ea728ec6c80eb3a7564f9c721563c49d744c51

commit 0584296
Merge: 8a996f2 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Merge commit '2928617bd4525f20316de415f07b6cf3d88e4878' into develop/sync_externals

commit 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Squashed 'externals/coda-oss/' changes from 168cbae01..22e050207

    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 22e05020768d791498db105c261439dc78981445

commit 8a996f2
Merge: e509306 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Merge commit '9c6572a9e7ccc4d54e79a6f7ebc373b4414e7df9' into develop/sync_externals

commit e509306
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:21 2023 -0400

    latest from CODA-OSS and NITRO

commit 62fc405
Merge: 40827a7 49e28e2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:30:22 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 40827a7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:23:42 2023 -0400

    CRLF

commit 209b4e3
Merge: 238a6fc 993d755
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:22:36 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 238a6fc
Merge: 1c1e440 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:15:00 2023 -0400

    Merge commit '83ec173c23943efe4e24689aad8d744aad69749c' into develop/sync_externals

commit 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:53 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..547d0aa9f

    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 547d0aa9ffcf34ad94f9ea71aa415f39837b2e68

commit c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..168cbae01

    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @V3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 168cbae01bb1e5fc0a02c2d96e8b02619bf2831d

commit 1c1e440
Merge: 10eded0 c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Merge commit 'c57aa2691a9635f55f5c604723d61ee495c59ed2' into develop/sync_externals

commit 10eded0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:19 2023 -0400

    latest from CODA-OSS and NITRO

* FmtX() -> str::Format()

* use Context overload to reduce use of .str()

* reduce use of .str()

* reduce a bunch of duplicated code

* use Context overload to reduce use of .str()

* write() overloads to reduce use of .c_str()

* operator<<() for Parameter
JDanielSmith pushed a commit that referenced this pull request Nov 8, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261
JDanielSmith pushed a commit that referenced this pull request Nov 13, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* return type needs to be explicit for subsequent specialization
JDanielSmith pushed a commit that referenced this pull request Nov 15, 2023
* some projects get <six/Utilities.h> indirectrly

* trying to build with VS2022 17.2

* scene doesn't use XML

* move #pragma warning(disable) to import/xml/lite.h

* slam-in "main"

* fix compiler diagnostic about "possibly uninitialized result"

* update "externals" to remove compiler warnings

* cmake -j 8 seems to work

* remove more compiler warnings

* setAttribute*() overloads

* getISMUri() utility routine

* double -> float warnings

* latest from coda-oss and NITRO

* Squashed 'externals/coda-oss/' changes from 1582c6ac9..0657f3297

0657f3297 adjust compiler flags for clean CMake builds (#650)
81285872f build cleanly with all G++ warnings enabled (#649)
b9ea37bbf xml::lite::Validator can be moved (#648)
9cfe9a4a8 Merge branch 'master'
e989b0910 createElement() needs to be virtual (#646)
4bdaf10d9 Change xml lite function to virtual (#645)
d17b57a54 Merge branch 'master'
fa00a5430 move debug -g flags to be turned on only if debugging (#644)
6be8f0a2e move debug -g flags to be turned on only if debugging (#644)
44ab72854 routines for simple writing to HDF5 files (#643)
aabc5818e remove more C++11 work-arounds (#642)
b04ccca17 remove more C++11 work-arounds (#641)
e460970a7 increase GCC warnings (#640)
91284249b provide ComplexView iterator support (#639)
453b7ec68 try to get std::make_unique working with old Intel compiler (#638)
5736cfd4d is_trivially_copyable for old Intel compiler (#637)
7c2aea38f use H5 SDK naming conventions (#636)
fc3008b8d use 'modern' C pre-processor
b44709a95 added ComplexSpansView utility (#635)
986307c9c Merge branch 'master'
e1b0fa349 commit (but not build) HDF5 source code (#634)
3fd5ddae5 Merge branch 'main' into develop/remove-cpp11-workarounds
37d7ec76e restore C++14 workarounds for older compilers (#632)
244dfdb3d Merge branch 'develop/main' into develop/remove-cpp11-workarounds
714ca4ed7 restore C++14 workarounds for older compilers
640f2247c Delete hdf5-hdf5-1_13_2.tar.gz
eb365cbfb Merge branch 'master' into develop/remove-cpp11-workarounds
57b938eeb don't need __INTEL_COMPILER work-around with C++14
65779f3b1 build C code with -std=gnu99
94dc9280f C++14 work-arounds for an old version of the Intel compiler
3744d05e2 slam-in "main"
82b2fd63b restore some C++14 work-arounds for old compilers that only have partial C++14 support
94f6950a2 Merge branch 'main' into develop/remove-cpp11-workarounds
1ac97fe48 add HDF5 source code (not built) (#612)
8ab982820 Squashed commit of the following:
31781a14a remove C++17 work-arounds
c15f6930c Revert "<filesystem> is in C++17"
0fe38c16f restore recent buld.py changes
0c75411ee <filesystem> is in C++17
bbbcd562a remove C++11 work-arounds
c1e15e9d9 Merge branch 'main' into main-cpp17
bea818fb0 must use C++17 in this branch
91653a096 another place where C++17 is set
7d555f2be back to C++17
b1969d996 merge main
0792c77bf Merge branch 'main' into develop/remove-cpp11-workarounds
e49f273c1 Merge branch 'main' into develop/remove-cpp11-workarounds
240b61044 allow sys::Mutex references, instead of pointers, to be passed to sys::ConditionVar
9500d6f4b Merge branch 'main' into develop/remove-cpp11-workarounds
f1529942f std::make_unique instead of new
be9b6a71c Squashed commit of the following:
62a2ec4e1 Revert "remove our GSL work-around for C++11"
1db082c21 Revert "try the current "main" of GSL"
44b70edde try the current "main" of GSL
4edbf6bad Revert ""There is no warning 4814""
bcd7458be "There is no warning 4814"
c185bf3f1 starting working on MutexCpp11
313bdd1d9 AtomicCounter* files have been removed
c1c448051 remove our GSL work-around for C++11
37ae1193e remove our mem::SharedPtr, it's now always std::shared_ptr
71f3c1299 remove no-longer-used NSPR code
8e77cb210 removed no-longer-used Irix and Solaris files
fabef6966 use std::atomic for all AtomicCounter implementations
ace5b6d5a TEST_FAIL -> TEST_FAIL_MSG
30076c1d1 turns out there was already a TEST_FAIL macro
d73ee16fb need "::" to find global test
ba01c48df remove C++11 workarounds for C++14 features
cbd4a31ae Squashed commit of the following:
b21c203b8 Squashed commit of the following:
5b542c60f Squashed commit of the following:
cb0cf94ff ByteStream.cpp is now warning-free
f5daa37fc cast to DWORD; "const" correctness
bfaf644ff #pragma-away compiler warnings from standard headers
72d202dbe Merge branch 'master' into develop/reduce-compiler-warnings
b076580cd trying to fix GCC compiler warning
1687dc7fc Merge branch 'master' into develop/reduce-compiler-warnings
2c5db86db Merge branch 'master' into develop/reduce-compiler-warnings
6f76c2e3e Update CMakeLists.txt
c3ca4a538 do in-line initialization
8e6733618 remove G++ compiler warning
a0eff51cf Merge branch 'master' into develop/reduce-compiler-warnings
af19d88a6 Merge branch 'master' into develop/reduce-compiler-warnings
ba31cbaa9 use "void*" to avoid reinterpret_cast<>
08da1f8a1 Merge branch 'master' into develop/reduce-compiler-warnings
d1d453a2e Merge branch 'master' into develop/reduce-compiler-warnings
f5074a996 CODA_OSS_NDEBUG is extra gunk and not used; omit for now.
22de48858 don't even bother compiling our own versions of localtime_s() and gmtime_s() if we're not going to use them (compiler warning about "unused static funtion.")
0c92eba58 tweak NDEBUG/CODA_OSS_NDEBUG; update comments
544604775 Don't need to expose our own versions of localtime_s() and gmtime_s()
a050796c1 Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
fed604617 older compilers want std::string() as argument to std::logic_error()
cf2c502a6 do more debug & release builds on GitHub
d4aa99256 build some debug targets on Gitlab
368245258 tweak CODA_OSS_DEBUG again for G++
24ba64f71 tweak how CODA_OSS_DEBUG is set
9680e8f0e add check for _GLIBCXX_DEBUG
943218f83 Merge branch 'master' into develop/reduce-compiler-warnings
01c68e705 %#@*@%)*%@ fix RowCol::cast() again! :-(
b8472b457 oops ... gsl::narrow<> should be gsl::narrow_cast<> so that int/double conversion doesn't throw
109255ca8 "final" breaks SWIG; wrap RowCol use of gsl::narrow
e51e4c2ad no need to create local just to return
e546f2510 Merge branch 'master' into develop/reduce-compiler-warnings
d1391f989 use template for to_std_string() overloading
566942680 fix std::char8_t when building with C++20
cf604b1ab fix C++17 build errors
48a0fbedb get rid of coda_oss namespace; use CODA_OSS_cpp17 instead
9706a4336 remove code-analysis diagnostics
50592e4f8 G++ complains about an unneeded call to std::move()
9c7643c3f Merge branch 'master' into develop/reduce-compiler-warnings
ecfe1f8a7 more "noexcept"
b7ac50fb9 Merge branch 'master' into develop/reduce-compiler-warnings
eaecf46ed tweak CODA_OSS_cplusplus from "main"
5773b1ec1 trying to get C++17 WAF build working on Windows
a048a00a1 unique names for waf & CMake
7a5a0d5b2 do a better job of setting CODA_OSS_DEBUG
4355aae92 Merge branch 'master' into develop/reduce-compiler-warnings
1fd8cede2 cleanup for VS 2019 16.10
4dffa1394 explicitly =delete copy/assignment
df8f8920a Merge branch 'master' into develop/reduce-compiler-warnings
42b4e99b6 remove code-analysis diagnostics
70ce322c9 reduce compiler warnings/code-analysis diagnostics when building six
20eac2f49 Merge branch 'master' into develop/reduce-compiler-warnings
ff3ded56d get rid of more compiler warnings/code-analysis diagnostics
669dd51ff Merge branch 'master' into develop/reduce-compiler-warnings
623b65ab9 Merge branch 'master' into develop/reduce-compiler-warnings
11c75df53 fix release build errors
66f048b92 turn on more compiler warnings where possible
eb615e315 consolidate calls to mem::make::unique
a6f5eb690 reduce use of explicit new
84d5e1b01 use mem::make::unique instead of explicit new
019d726ea = default for default constructors
86ab5d8f3 use std::unique_ptr and "const noexcept"
b071972d7 another batch of =default for default constructors
98276da94 more =default for default .ctor()s
ceb7bc596 do default constructors with =default
7bed51750 more code-analysis cleanup
f9c04b117 "noexcept" code-analysis warnings
6586ae390 need gsl::make_span from gsl/span_ext
722089774 remove gsl/mem dependency cycle
d741a0761 use gsl::narrow<> instead of static_cast
99eb4b36e get rid of signed/unsigned mismatch compiler warning
814450522 remove more code-analysis diagnostics
c8441b309 Merge branch 'master' into develop/reduce-compiler-warnings
e6d70a9ff last of "const" from code-analysis
b8445814a mark a few more things as "const" per code-analysis
d18544ec7 don't need to create temporary std::strings
ee7faa979 still more code-analysis cleanup
5cd6f864d cleanup more code-analysis diagnostics
492fb0a86 one more compiler warning about implicitly deleted copy/assignment
b8f782c88 remove compiler warnings about implicitly deleted copy/assignment/move
14d1d1cb8 #pragma-away warnings from GSL
86c40ea6c assert() to prevent some code-analysis diagnostics
7204517a9 make copy/assignment explicit
3ce824079 reduce code-analysis diagnostics
01e367a56 Merge branch 'master' into develop/reduce-compiler-warnings
03f3ddde9 proper printf format
877d7dc93 Merge branch 'master' into develop/reduce-compiler-warnings
5a4a3d575 code-analysis doesn't like C-style casts
a3fdae416 code-analysis doesn't like NULL
6309baedc Merge branch 'master' into develop/reduce-compiler-warnings
d1194a2fe Merge branch 'master' into develop/reduce-compiler-warnings
535b4757d Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
a60b95d60 "constexpr" can be hard to get right with older C++11 compilers; don't even try
c07b5303e Merge branch 'master' into develop/reduce-compiler-warnings
04306bbee need at least VS2017 to use the real GSL
796ad820b Merge branch 'master' into develop/reduce-compiler-warnings
16c240cd6 Merge branch 'master' into develop/reduce-compiler-warnings
e07e89f0c turn on "warnings as errors" for CMAKE builds
5c019f891 complex "constexpr" functions not available with our version of g++
4ab074a58 fix a few more compiler warnings ... nearing the end! :-)
dea7ea41b And still more compiler warnings ... almost done 🤞🏻
fbe3bbb20 remove assorted compiler warnings
e60b7fd3c Merge branch 'master' into develop/reduce-compiler-warnings
e9df212c6 Arguments should be "const&" to prevent C4866
94e75cbed Merge branch 'master' into develop/reduce-compiler-warnings
d3130414a Merge branch 'master' into develop/reduce-compiler-warnings
9a5e71f31 Merge branch 'master' into develop/reduce-compiler-warnings
bd27c0232 Merge branch 'master' into develop/reduce-compiler-warnings
c053362d2 remove still more compiler warnings
9f133b85a remove some more compiler warnings
0883c729c Merge branch 'master' into develop/reduce-compiler-warnings
f4b766880 avoid comparision between signed/unsigned to prevent compiler warning
1e6564a6e eliminate more compiler warnings
85a7b8ad0 remove a few compiler warnings
09c82049f Merge branch 'master' into develop/reduce-compiler-warnings
31f1662fa Merge branch 'master' into develop/reduce-compiler-warnings
a313562a3 Merge branch 'feature/fix-compiler-warnings' into develop/reduce-compiler-warnings
8547cdd24 eliminiate GCC warnings from Filesystem.h
b5044b2a2 fix several compiler warnings/code-analysis diagnostics
9d2f90b8c GetEnvironmentVariable() and getenv() aren't quite the same
6faa3666f remove more compiler warnings

git-subtree-dir: externals/coda-oss
git-subtree-split: 0657f3297a806dba9312355b3231bac38f50b5d4

* Squashed 'externals/nitro/' changes from e1a64da1f..e2f038e45

e2f038e45 adjust compiler flags for clean CMake builds (#533)
b871d2b9c latest from coda-oss (#532)
e8ff6b444 apps: fix display of TREs from file extended header section (#529)
463c9e418 latest from coda-oss (#531)
24ff32863 -j 6 seems to work for SIX, how about NITRO?
713ee8538 -j 6 seems to work for SIX, how about NITRO?
4ccdf5b37 latest from coda-oss (#527)
c71acc492 latest from coda-oss (#526)
08cbb96f9 build with older C++14 compilers (#524)

git-subtree-dir: externals/nitro
git-subtree-split: e2f038e4572376c73fd63e5b35a6b58f6a75fba7

* latest from coda-oss and NITRO

* build SIX cleanly with CMake using GCC

* build SIX cleanly with CMake using GCC

* get closer to a clean build with MSVC

* clean CMake build with MSVC

* fix Release build

* start work on passing in an already constructed xml::lite::validator

* a bit closer to being able to create/use xml::lite::validator outside of XMLControl::validate()

* Squashed commit of the following:

commit bb2bb5aaf944040ea5bc42168b846324287dcad8
Merge: bbba5a210 4c146e7d0
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 12 13:04:09 2023 -0400

    Merge commit '4c146e7d01b14cf408b0e398cba96705df69090c' into develop/sync_externals

commit 4c146e7d01b14cf408b0e398cba96705df69090c
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 12 13:04:09 2023 -0400

    Squashed 'externals/coda-oss/' changes from aeec0131c..c88b9c053

    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: c88b9c05325c802f88a85ddcebb498be4afacad0

commit bbba5a210c0257f622781914e9d228eeca23341c
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 12 13:04:06 2023 -0400

    latest from CODA-OSS

commit 370dd8876136755230624ebc955bc67642b1482b
Merge: 58ff5a537 ffe1caafd
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 12 13:03:25 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 58ff5a5371d9158910e99613f4ce6e6fc36e543e
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 16:23:08 2023 -0400

    latest from CODA-OSS

commit 3bfc33a40274fa7a073983d4e4ddd907e45730d2
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:45 2023 -0400

    latest from CODA-OSS and NITRO

commit 389417a983778ba2a07af9c6dbfea80484324b97
Merge: bce7ba0b1 4ad490fe4
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:28 2023 -0400

    latest from CODA-OSS and NITRO

commit 4ad490fe4224df18ce4a437c40a257af0686140e
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:22 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..05dae18a3

    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

commit 86929db19a438630d531ca0c34bdcd8e8c527ae9
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:18 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..aeec0131c

    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @v3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aeec0131c51497c5d448a39be0d2df608d93bc15

commit bce7ba0b1ae40e9ddcb4f24610e7e4d702272d54
Merge: 646b70e8d 86929db19
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:18 2023 -0400

    Merge commit '86929db19a438630d531ca0c34bdcd8e8c527ae9' into develop/sync_externals

commit 646b70e8d47438211451493837e6b2d76db4e896
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Thu Jun 8 14:34:13 2023 -0400

    latest from CODA-OSS and NITRO

* slam in "main"

* use our own types::complex for complex<short>, et. al.

* Have the compiler pick between std::complex and details::complex

* more use of types::complex

* slam in "main"

* build coda-oss.vcxproj in six.sln

* match YAML from coda-oss; use msbuild to build six.sln

* remove extra '\'

* need other stuff from CODA-OSS to build coda-oss.vcxproj

* build six.sln against a SIX install

* consistent project settings

* consistent project settings

* Squashed commit of the following:

commit c9cb326eee83638e209cf8ad914acf6765b4ed1e
Author: J. Daniel Smith <dan@jdanielsmith.me>
Date:   Fri Jul 14 10:36:07 2023 -0400

    latest from CODA-OSS and NITRO

commit fe6ba2a13f2e941b2a83943981676c677e0b07db
Merge: 15d0336d3 2e609250f
Author: J. Daniel Smith <dan@jdanielsmith.me>
Date:   Fri Jul 14 10:32:19 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 15d0336d3eed525729b0087b08ad754712aa0164
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 16:27:24 2023 -0400

    =default doesn't implement the destructor

commit 61095290d3cb6ae98537eb638c410452bea16553
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jul 10 16:13:37 2023 -0400

    somewhere a compiler warning got unsuppressed

commit ca98de027cd41fecbff9e8b1b9cdb311969c64f2
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:27:14 2023 -0400

    latest from CODA-OSS and NITRO

commit 6c6fd14a96c0516297fa7c64522aac3353032b1c
Merge: d4c971de4 34b23e92f
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:54 2023 -0400

    sync_externals

commit 34b23e92fa6b58a4d0a5f4bc9e4fbc50298b574c
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:48 2023 -0400

    Squashed 'externals/nitro/' changes from 49ec50325..b4ae2d429

    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)

    git-subtree-dir: externals/nitro
    git-subtree-split: b4ae2d4290dcc5482970980ebe85719436990647

commit d4c971de47e47d6d8b2d42bfe784cd2ceff28fae
Merge: d60eddd07 3b07146d5
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:44 2023 -0400

    Merge commit '3b07146d57387ad695a7c0745c77c6c891338212' into develop/sync_externals

commit 3b07146d57387ad695a7c0745c77c6c891338212
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:44 2023 -0400

    Squashed 'externals/coda-oss/' changes from c2fc5fc66..f70b4202f

    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: f70b4202f19f260941a0245e41301ae232348fc7

commit d60eddd077c52ad97b5d1ed07868d47d9086ee39
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:36 2023 -0400

    latest from CODA-OSS and NITRO

commit e275c075aead24849470f2dbdf5cf99cc8c3253d
Merge: d606c616b 417ea3f70
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jul 10 15:26:03 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit d606c616b54e49098daa1051dd71ec0c96c9c245
Merge: 36beb996e 8e847cb0d
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 14:01:51 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 36beb996ee23058033dcf0de043486b571bf0673
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:48:37 2023 -0400

    sync_externals

commit 11665af92c23e646f6a5cd1585328571ba024f1f
Merge: 388bdad2d 9a22788e8
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:48:19 2023 -0400

    sync_externals

commit 9a22788e84e9ef6e38e4b138ff6fecbd8b35b995
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:48:06 2023 -0400

    Squashed 'externals/nitro/' changes from cee9feb42..49ec50325

    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)

    git-subtree-dir: externals/nitro
    git-subtree-split: 49ec50325d0dcdef40b63dd440afdb82d6b6d379

commit ea623b4ee1de1651418d5d4424201df95915dca8
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:48:02 2023 -0400

    Squashed 'externals/coda-oss/' changes from 54033e70e..c2fc5fc66

    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`

    git-subtree-dir: externals/coda-oss
    git-subtree-split: c2fc5fc660c2794d77fac2b71cf0dfae76c22c3e

commit 388bdad2d66759d54544f3fd3302b5c2c4c027b6
Merge: f47cbbcc5 ea623b4ee
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:48:02 2023 -0400

    Merge commit 'ea623b4ee1de1651418d5d4424201df95915dca8' into develop/sync_externals

commit f47cbbcc590bc28d09577dda35d3b6f5eb682b20
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:47:40 2023 -0400

    latest from CODA-OSS and NITRO

commit f25c53a3afee8fa3e016170da928996c6379dc23
Merge: c747f326b d2221ad33
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Wed Jul 5 13:47:05 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit c747f326b60ba8a82b3c33e91aabe2651d6bb13d
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:50 2023 -0400

    latest from CODA-OSS and NITRO

commit b142ec4fcb2a8007e35e3d68e0ae752f4b2828d0
Merge: 2829f93c9 3d4e554aa
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:15 2023 -0400

    sync_externals

commit 3d4e554aa3934c7157bf9c2e57e2482662938b10
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:07 2023 -0400

    Squashed 'externals/nitro/' changes from 3f01809fa..cee9feb42

    cee9feb42 latest from CODA-OSS (#558)

    git-subtree-dir: externals/nitro
    git-subtree-split: cee9feb424b0f9c1f11f37f67a1795b3cc5e8dd1

commit 2829f93c9de0e8787dbe6cb319d6f32143dcdd8e
Merge: e47ccf30e 12995e63a
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:29:10 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit e47ccf30e059e0cd32b42dc90a45f4b8a8512caf
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:19:10 2023 -0400

    latest from CODA-OSS

commit 04090c4a13b921f33257662950e46bfc2e58cabb
Merge: cc6009422 ac1ccde84
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:41 2023 -0400

    sync_externals

commit ac1ccde84b2be856ac947b2670dd8228c9980889
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:34 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

commit 1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..54033e70e

    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @v3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 54033e70e353da94340dd7b96d0b1c6652308952

commit cc6009422ec41dd6e48ade90c37bdbfd97a1bc35
Merge: fec3755e0 1ceb8e3ff
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Merge commit '1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04' into develop/sync_externals

commit fec3755e04a8311103aef1ded477b17ce826b044
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:05 2023 -0400

    latest from CODA-OSS

* consistent VCXPROJ settings

* fix NITF-C build errors

* explicitly link against xerces and xml.lite

* match YAML in coda-oss

* Squashed commit of the following:

commit 5e79844947b46f1102627fa62857e4c40e75b92a
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Tue Jul 18 14:12:02 2023 -0400

    latest from CODA-OSS and NITRO

commit 10ed7436736c7e0ee16fe968f67b3602e7668c6a
Merge: 8aaead72f 3da54d84f
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Tue Jul 18 14:11:43 2023 -0400

    sync_externals

commit 3da54d84f45c202c9e9659926e4cb0f6f9f44dea
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Tue Jul 18 14:11:35 2023 -0400

    Squashed 'externals/nitro/' changes from 225273436..de91d4977

    de91d…
JDanielSmith pushed a commit that referenced this pull request Nov 15, 2023
commit f98b867
Merge: b0fcc18 7271a19
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18
Merge: f204c36 bf2eede
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c36
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d
Merge: 995b923 d90e4c4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0
Merge: 0b0a22d fd9950b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22d
Merge: 659af2d 1f0e264
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6
Merge: 4b9245b 0ffa372
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b
Merge: 19ea3e7 e8e1c07
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec22
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7
Merge: 3e75b38 651ec22
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b38
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846
Merge: b46b11c 86bd245
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11c
Merge: 1f3d578 9a7678b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc515
Merge: 990528a b5bc2b3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a
Merge: a7a7ecc 0d9d64f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#586)
    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)
    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS
    49f6338d2 latest from CODA-OSS (#581)
    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    72209535d toString() changes from CODA-OSS (#579)
    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)
    e7ea728ec reduce differences between cpp17 and main branches (#576)
    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

commit e35ff93
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

    03f1a3bdf release 2023-10-23 (#747)
    4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
    9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
    c3fd20a88 added some OLD Visual Studio extensions
    d00db384a everything is text except for known binaries
    c3813bb29 eol=lf is the default
    4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
    18f2c051f more FmtX() -> str::Format() changes (#745)
    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)
    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)
    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)
    c92a55d7c build in SIX
    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)
    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)
    8dee6f7a6 revert toString() changes (#728)
    bf7ae4a71 use overloads rather than varargs for std::format() (#727)
    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)
    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @V3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

commit a7a7ecc
Merge: afb8300 e35ff93
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Merge commit 'e35ff93576fbc97ae678b9f941c69a96cf2b8159' into develop/sync_externals

commit afb8300
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:44 2023 -0400

    latest from CODA-OSS and NITRO
JDanielSmith pushed a commit that referenced this pull request Nov 21, 2023
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf
de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type
a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 22f11f42b856d8d0c60e7018e467642be4757a23
JDanielSmith pushed a commit that referenced this pull request Nov 27, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..faf5d0521

faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
d15173f38 export symbols used by NITRO (#756)
6ed3c048b use Debug DLL library in Debug
5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: faf5d052105327ecd137e269624d1ff03c9ecd24

* Squashed 'externals/nitro/' changes from c8ecbe9ae..22f11f42b

22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf
de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type
a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 22f11f42b856d8d0c60e7018e467642be4757a23

* build in SIX

* check_valid_six and crop_sicd both link

* UnitTest project links

* CSM links
JDanielSmith pushed a commit that referenced this pull request Dec 1, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* return type needs to be explicit for subsequent specialization

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

* Squashed 'externals/nitro/' changes from a37046807..de4686af0

de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

* Squashed 'externals/coda-oss/' changes from 5eae4c1f6..df4e0fc1f

df4e0fc1f changes to build SIX DLLs (#757)
faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
d15173f38 export symbols used by NITRO (#756)
6ed3c048b use Debug DLL library in Debug

git-subtree-dir: externals/coda-oss
git-subtree-split: df4e0fc1f6c564c02121d1328e850ed92552bfc1

* Squashed 'externals/nitro/' changes from de4686af0..dc3a8ecf0

dc3a8ecf0 export more symbols (#604)
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf

git-subtree-dir: externals/nitro
git-subtree-split: dc3a8ecf0e5e13c23ec1f2294c323d0bbd222e2a

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from df4e0fc1f..28926b673

28926b673 provide our own (simple) mdspan implementation (#759)
6bb722454 make SpanRC API match std::mdspan (#758)

git-subtree-dir: externals/coda-oss
git-subtree-split: 28926b673931c3f148882ceca7d3de203accfa4e

* Squashed 'externals/nitro/' changes from dc3a8ecf0..3de4c5059

3de4c5059 latest from CODA-OSS (#605)

git-subtree-dir: externals/nitro
git-subtree-split: 3de4c5059eaf7d1ba2ccd1c16c7bc84efd3f028e

* latest from NITRO

* Squashed 'externals/nitro/' changes from 3de4c5059..09f2f458f

09f2f458f use $(SolutionDir) to get to externals

git-subtree-dir: externals/nitro
git-subtree-split: 09f2f458fe16fcaa6dd5f6c025b91a1ca657abe4
JDanielSmith pushed a commit that referenced this pull request Dec 11, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* return type needs to be explicit for subsequent specialization

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

* Squashed 'externals/nitro/' changes from a37046807..de4686af0

de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

* Squashed 'externals/coda-oss/' changes from 5eae4c1f6..df4e0fc1f

df4e0fc1f changes to build SIX DLLs (#757)
faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
d15173f38 export symbols used by NITRO (#756)
6ed3c048b use Debug DLL library in Debug

git-subtree-dir: externals/coda-oss
git-subtree-split: df4e0fc1f6c564c02121d1328e850ed92552bfc1

* Squashed 'externals/nitro/' changes from de4686af0..dc3a8ecf0

dc3a8ecf0 export more symbols (#604)
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf

git-subtree-dir: externals/nitro
git-subtree-split: dc3a8ecf0e5e13c23ec1f2294c323d0bbd222e2a

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from df4e0fc1f..28926b673

28926b673 provide our own (simple) mdspan implementation (#759)
6bb722454 make SpanRC API match std::mdspan (#758)

git-subtree-dir: externals/coda-oss
git-subtree-split: 28926b673931c3f148882ceca7d3de203accfa4e

* Squashed 'externals/nitro/' changes from dc3a8ecf0..3de4c5059

3de4c5059 latest from CODA-OSS (#605)

git-subtree-dir: externals/nitro
git-subtree-split: 3de4c5059eaf7d1ba2ccd1c16c7bc84efd3f028e

* latest from NITRO

* Squashed 'externals/nitro/' changes from 3de4c5059..09f2f458f

09f2f458f use $(SolutionDir) to get to externals

git-subtree-dir: externals/nitro
git-subtree-split: 09f2f458fe16fcaa6dd5f6c025b91a1ca657abe4

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 28926b673..ed283d676

ed283d676 Only need to actually create/destroy Xerces once (#761)
8087b1e11 utility routines to convert to/from collections of paths
a869c8a8e use a lookup table for str::upper() and str::lower() (#760)
00e343177 Merge branch 'main' of https://github.com/mdaus/coda-oss
27085f06b DefaultErrorHandler is a base class
98ec79835 favor speed over size

git-subtree-dir: externals/coda-oss
git-subtree-split: ed283d676654023f2ea58fd7b6385fa30c03b08a

* Squashed 'externals/nitro/' changes from 09f2f458f..847101014

847101014 latest from CODA-OSS (#606)

git-subtree-dir: externals/nitro
git-subtree-split: 8471010142ae5f85f596f2cf1737c8aa5d89c7fa
JDanielSmith pushed a commit that referenced this pull request Dec 11, 2023
* copy six.sidd to six.sidd30

* six.sidd30 project and unittests

* sidd -> sidd30

* more sidd -> sidd30

* more sidd -> sidd30

* begin removing SIDD 3.0 support from six.sidd; it is now (or will be) just in six.sidd30

* remove more SIDD 3.0 unittest code from six.sidd, it's not just in six.sidd30

* remove last? traces of SIDD3.0 from six.sidd

* tweaks from feature/ISM

* latest from coda-oss and nitro

* Squashed 'externals/coda-oss/' changes from 1582c6ac9..aabc5818e

aabc5818e remove more C++11 work-arounds (#642)
b04ccca17 remove more C++11 work-arounds (#641)
e460970a7 increase GCC warnings (#640)
91284249b provide ComplexView iterator support (#639)
453b7ec68 try to get std::make_unique working with old Intel compiler (#638)
5736cfd4d is_trivially_copyable for old Intel compiler (#637)
7c2aea38f use H5 SDK naming conventions (#636)
fc3008b8d use 'modern' C pre-processor
b44709a95 added ComplexSpansView utility (#635)
986307c9c Merge branch 'master'
e1b0fa349 commit (but not build) HDF5 source code (#634)
3fd5ddae5 Merge branch 'main' into develop/remove-cpp11-workarounds
37d7ec76e restore C++14 workarounds for older compilers (#632)
244dfdb3d Merge branch 'develop/main' into develop/remove-cpp11-workarounds
714ca4ed7 restore C++14 workarounds for older compilers
640f2247c Delete hdf5-hdf5-1_13_2.tar.gz
eb365cbfb Merge branch 'master' into develop/remove-cpp11-workarounds
57b938eeb don't need __INTEL_COMPILER work-around with C++14
65779f3b1 build C code with -std=gnu99
94dc9280f C++14 work-arounds for an old version of the Intel compiler
3744d05e2 slam-in "main"
82b2fd63b restore some C++14 work-arounds for old compilers that only have partial C++14 support
94f6950a2 Merge branch 'main' into develop/remove-cpp11-workarounds
1ac97fe48 add HDF5 source code (not built) (#612)
8ab982820 Squashed commit of the following:
31781a14a remove C++17 work-arounds
c15f6930c Revert "<filesystem> is in C++17"
0fe38c16f restore recent buld.py changes
0c75411ee <filesystem> is in C++17
bbbcd562a remove C++11 work-arounds
c1e15e9d9 Merge branch 'main' into main-cpp17
bea818fb0 must use C++17 in this branch
91653a096 another place where C++17 is set
7d555f2be back to C++17
b1969d996 merge main
0792c77bf Merge branch 'main' into develop/remove-cpp11-workarounds
e49f273c1 Merge branch 'main' into develop/remove-cpp11-workarounds
240b61044 allow sys::Mutex references, instead of pointers, to be passed to sys::ConditionVar
9500d6f4b Merge branch 'main' into develop/remove-cpp11-workarounds
f1529942f std::make_unique instead of new
be9b6a71c Squashed commit of the following:
62a2ec4e1 Revert "remove our GSL work-around for C++11"
1db082c21 Revert "try the current "main" of GSL"
44b70edde try the current "main" of GSL
4edbf6bad Revert ""There is no warning 4814""
bcd7458be "There is no warning 4814"
c185bf3f1 starting working on MutexCpp11
313bdd1d9 AtomicCounter* files have been removed
c1c448051 remove our GSL work-around for C++11
37ae1193e remove our mem::SharedPtr, it's now always std::shared_ptr
71f3c1299 remove no-longer-used NSPR code
8e77cb210 removed no-longer-used Irix and Solaris files
fabef6966 use std::atomic for all AtomicCounter implementations
ace5b6d5a TEST_FAIL -> TEST_FAIL_MSG
30076c1d1 turns out there was already a TEST_FAIL macro
d73ee16fb need "::" to find global test
ba01c48df remove C++11 workarounds for C++14 features
cbd4a31ae Squashed commit of the following:
b21c203b8 Squashed commit of the following:
5b542c60f Squashed commit of the following:
cb0cf94ff ByteStream.cpp is now warning-free
f5daa37fc cast to DWORD; "const" correctness
bfaf644ff #pragma-away compiler warnings from standard headers
72d202dbe Merge branch 'master' into develop/reduce-compiler-warnings
b076580cd trying to fix GCC compiler warning
1687dc7fc Merge branch 'master' into develop/reduce-compiler-warnings
2c5db86db Merge branch 'master' into develop/reduce-compiler-warnings
6f76c2e3e Update CMakeLists.txt
c3ca4a538 do in-line initialization
8e6733618 remove G++ compiler warning
a0eff51cf Merge branch 'master' into develop/reduce-compiler-warnings
af19d88a6 Merge branch 'master' into develop/reduce-compiler-warnings
ba31cbaa9 use "void*" to avoid reinterpret_cast<>
08da1f8a1 Merge branch 'master' into develop/reduce-compiler-warnings
d1d453a2e Merge branch 'master' into develop/reduce-compiler-warnings
f5074a996 CODA_OSS_NDEBUG is extra gunk and not used; omit for now.
22de48858 don't even bother compiling our own versions of localtime_s() and gmtime_s() if we're not going to use them (compiler warning about "unused static funtion.")
0c92eba58 tweak NDEBUG/CODA_OSS_NDEBUG; update comments
544604775 Don't need to expose our own versions of localtime_s() and gmtime_s()
a050796c1 Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
fed604617 older compilers want std::string() as argument to std::logic_error()
cf2c502a6 do more debug & release builds on GitHub
d4aa99256 build some debug targets on Gitlab
368245258 tweak CODA_OSS_DEBUG again for G++
24ba64f71 tweak how CODA_OSS_DEBUG is set
9680e8f0e add check for _GLIBCXX_DEBUG
943218f83 Merge branch 'master' into develop/reduce-compiler-warnings
01c68e705 %#@*@%)*%@ fix RowCol::cast() again! :-(
b8472b457 oops ... gsl::narrow<> should be gsl::narrow_cast<> so that int/double conversion doesn't throw
109255ca8 "final" breaks SWIG; wrap RowCol use of gsl::narrow
e51e4c2ad no need to create local just to return
e546f2510 Merge branch 'master' into develop/reduce-compiler-warnings
d1391f989 use template for to_std_string() overloading
566942680 fix std::char8_t when building with C++20
cf604b1ab fix C++17 build errors
48a0fbedb get rid of coda_oss namespace; use CODA_OSS_cpp17 instead
9706a4336 remove code-analysis diagnostics
50592e4f8 G++ complains about an unneeded call to std::move()
9c7643c3f Merge branch 'master' into develop/reduce-compiler-warnings
ecfe1f8a7 more "noexcept"
b7ac50fb9 Merge branch 'master' into develop/reduce-compiler-warnings
eaecf46ed tweak CODA_OSS_cplusplus from "main"
5773b1ec1 trying to get C++17 WAF build working on Windows
a048a00a1 unique names for waf & CMake
7a5a0d5b2 do a better job of setting CODA_OSS_DEBUG
4355aae92 Merge branch 'master' into develop/reduce-compiler-warnings
1fd8cede2 cleanup for VS 2019 16.10
4dffa1394 explicitly =delete copy/assignment
df8f8920a Merge branch 'master' into develop/reduce-compiler-warnings
42b4e99b6 remove code-analysis diagnostics
70ce322c9 reduce compiler warnings/code-analysis diagnostics when building six
20eac2f49 Merge branch 'master' into develop/reduce-compiler-warnings
ff3ded56d get rid of more compiler warnings/code-analysis diagnostics
669dd51ff Merge branch 'master' into develop/reduce-compiler-warnings
623b65ab9 Merge branch 'master' into develop/reduce-compiler-warnings
11c75df53 fix release build errors
66f048b92 turn on more compiler warnings where possible
eb615e315 consolidate calls to mem::make::unique
a6f5eb690 reduce use of explicit new
84d5e1b01 use mem::make::unique instead of explicit new
019d726ea = default for default constructors
86ab5d8f3 use std::unique_ptr and "const noexcept"
b071972d7 another batch of =default for default constructors
98276da94 more =default for default .ctor()s
ceb7bc596 do default constructors with =default
7bed51750 more code-analysis cleanup
f9c04b117 "noexcept" code-analysis warnings
6586ae390 need gsl::make_span from gsl/span_ext
722089774 remove gsl/mem dependency cycle
d741a0761 use gsl::narrow<> instead of static_cast
99eb4b36e get rid of signed/unsigned mismatch compiler warning
814450522 remove more code-analysis diagnostics
c8441b309 Merge branch 'master' into develop/reduce-compiler-warnings
e6d70a9ff last of "const" from code-analysis
b8445814a mark a few more things as "const" per code-analysis
d18544ec7 don't need to create temporary std::strings
ee7faa979 still more code-analysis cleanup
5cd6f864d cleanup more code-analysis diagnostics
492fb0a86 one more compiler warning about implicitly deleted copy/assignment
b8f782c88 remove compiler warnings about implicitly deleted copy/assignment/move
14d1d1cb8 #pragma-away warnings from GSL
86c40ea6c assert() to prevent some code-analysis diagnostics
7204517a9 make copy/assignment explicit
3ce824079 reduce code-analysis diagnostics
01e367a56 Merge branch 'master' into develop/reduce-compiler-warnings
03f3ddde9 proper printf format
877d7dc93 Merge branch 'master' into develop/reduce-compiler-warnings
5a4a3d575 code-analysis doesn't like C-style casts
a3fdae416 code-analysis doesn't like NULL
6309baedc Merge branch 'master' into develop/reduce-compiler-warnings
d1194a2fe Merge branch 'master' into develop/reduce-compiler-warnings
535b4757d Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
a60b95d60 "constexpr" can be hard to get right with older C++11 compilers; don't even try
c07b5303e Merge branch 'master' into develop/reduce-compiler-warnings
04306bbee need at least VS2017 to use the real GSL
796ad820b Merge branch 'master' into develop/reduce-compiler-warnings
16c240cd6 Merge branch 'master' into develop/reduce-compiler-warnings
e07e89f0c turn on "warnings as errors" for CMAKE builds
5c019f891 complex "constexpr" functions not available with our version of g++
4ab074a58 fix a few more compiler warnings ... nearing the end! :-)
dea7ea41b And still more compiler warnings ... almost done 🤞🏻
fbe3bbb20 remove assorted compiler warnings
e60b7fd3c Merge branch 'master' into develop/reduce-compiler-warnings
e9df212c6 Arguments should be "const&" to prevent C4866
94e75cbed Merge branch 'master' into develop/reduce-compiler-warnings
d3130414a Merge branch 'master' into develop/reduce-compiler-warnings
9a5e71f31 Merge branch 'master' into develop/reduce-compiler-warnings
bd27c0232 Merge branch 'master' into develop/reduce-compiler-warnings
c053362d2 remove still more compiler warnings
9f133b85a remove some more compiler warnings
0883c729c Merge branch 'master' into develop/reduce-compiler-warnings
f4b766880 avoid comparision between signed/unsigned to prevent compiler warning
1e6564a6e eliminate more compiler warnings
85a7b8ad0 remove a few compiler warnings
09c82049f Merge branch 'master' into develop/reduce-compiler-warnings
31f1662fa Merge branch 'master' into develop/reduce-compiler-warnings
a313562a3 Merge branch 'feature/fix-compiler-warnings' into develop/reduce-compiler-warnings
8547cdd24 eliminiate GCC warnings from Filesystem.h
b5044b2a2 fix several compiler warnings/code-analysis diagnostics
9d2f90b8c GetEnvironmentVariable() and getenv() aren't quite the same
6faa3666f remove more compiler warnings

git-subtree-dir: externals/coda-oss
git-subtree-split: aabc5818e651be550c0fcc53be6f94902c61905e

* Squashed 'externals/nitro/' changes from e1a64da1f..24ff32863

24ff32863 -j 6 seems to work for SIX, how about NITRO?
713ee8538 -j 6 seems to work for SIX, how about NITRO?
4ccdf5b37 latest from coda-oss (#527)
c71acc492 latest from coda-oss (#526)
08cbb96f9 build with older C++14 compilers (#524)

git-subtree-dir: externals/nitro
git-subtree-split: 24ff328636e3acbf1745e49df45b787403ecb113

* latest from coda-oss and nitro

* use common code from six.sidd

* consistent convertDerivedClassificationToXML() API

* use common code from six.sidd

* compile SIDD30 Utilities.cpp

* get six.sidd30 unittests working

* remove files duplicated between six.sidd and six.sidd30

* build with CMake

* SIDD_V3.0.0 directory in "schema"

* easy access to test XML files from Visual Studio

* ValidatorXerces can be moved, but not copied

* fix SIDD version bug when generating fake data

* set things up for different schema paths for SIDD 3.0 (not yet implemented)

* more detailed output from schema validation failure

* SIDD_V3.0.0

* SIDD 3.0 schemas are in the SIDD_V3.0.0 directory

* no ISM-v201609 in this branch

* IonoParameters/F2Height is optional

* remove six.sidd30

* remove SIDD_V3.0.0

* slam in 'main'

* ISMVersion enum for 201609 and 13

* need to be able to set the ISM version in more places

* start rippling changes for ISMVersion

* add a "current" to make it easy for developers to switch between V201609 and v13

* change the ISM namespace

* restore SIDD-3.0_ISM-v13 to a separate directory

* Create sidd300_ISM-v13.xml

* wrap the xml::lite::validator in our own class

* pass a XmlLiteValidator instance

* xml.lite changes from coda-oss

* despite various checks for a NULL logger, it really can't be NULL

* use xml::lite::Validator directly

* move ISMVersion to the a sidd300 namespace to make it clear it's part of SIDD 3.0

* got a scoping issue somewhere :-(

* unittest for ISM-v13

* hack to read ISM-v13 SIDD from unittest code; WIP

* don't need make_ utility, at least right now

* log_errors_and_throw() utility

* prepare for validating a schema-path at a time

* latest xml.lite tweaks from coda-oss

* "new" code does XML validation one path at a time

* adjust schema paths if ISMVersion is set

* automatically prepend the ISM schema path

* remove ISMVersion from DerivedXMLControl

* allow the hard-coded "SIDD_V3.0.0_ISM-" name to be changed

* first pass at finding the corresponding XSD for a XML

* add a "hook" so that we can intercept validate() in SIDD code

* provide standard validateXMLImpl() implementation

* Revert "first pass at finding the corresponding XSD for a XML"

This reverts commit 6bb5937.

* move schema finding code to six.sidd

* new code only needs to work with std::vector<path>

* If we found the right XSD, use that directory first.

* Revert "allow the hard-coded "SIDD_V3.0.0_ISM-" name to be changed"

This reverts commit 8055430.

* always validate one schema-path at a time

* try not to open so many XSDs

* getEnvIfSet()

* look for SICommonTypes_V1.0.xsd to find the schema directory

* "hook" for validating created XML

* find_SIDD_schema_V_files() utility

* put the hard-code SIDD schema name in one place

* copy ISM-v201609 files to separate directory

* There is now a separate directory for each SIDD 3.0 ISM

* latest from coda-oss

* Squashed 'externals/coda-oss/' changes from e87c32b4d..ff4f820ed

ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: ff4f820ed8c406d43e3768508ca06d1a334b831f

* Squashed 'externals/nitro/' changes from c8ecbe9ae..2fd7a0bfa

2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 2fd7a0bfa708a93a4bd17e44dbb4eba400b424d2

* toXMLImplValidate() isn't needed (at least not right now)

* simplify validation code by converting to std::filesystem::path rather than using templates

* No longer need ScoppedISMVersion to read ISM-v13 XML

* comments to indicate the attributes for which we're looking

* be sure SIDD XML is really SIDD

* latest coda-oss from xml.lite branch

* use std::vector::insert

* create a SIDD Version enum rather than using strings

* expose ISMVersion in fromXML() and toXML()

* don't need old ISM with SIDD 3.0

* use six::sidd::Version rather than a string for creating fake data

* require ISMVersion for SIDD 3.0.0

* more use of six::sidd::Version

* save ISMVersion for SIDD 3.0.0

* adjust desVersion for ISMVersion

* use the ISMVersion from the environment, if any

* still more use of sidd::Version

* still more use of sidd::Version instead of strVersion

* latest from CODA-OSS and NITRO

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from ff4f820ed..d1244a080

d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)

git-subtree-dir: externals/coda-oss
git-subtree-split: d1244a080457bb87e03879f743e3b2467145da08

* Squashed 'externals/nitro/' changes from 2fd7a0bfa..05dae18a3

05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)

git-subtree-dir: externals/nitro
git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

* latest from CODA-OSS

* latest from CODA-OSS

* xml.lite tweaks from CODA-OSS speed things up

* allow schema paths to be found/validated separate from XML validation

* XercesContext can't be "static" (yet)

* only initialize Xerces for multiple ValidatorXerces instances

* use sys::convertPaths() utility

* remove unneeded ValidatorXerces() overloads

* don't expose findValidSchemaPaths() right now; no actual use-case

* account for xml.lite changes in CODA-OSS

* latest from CODA-OSS
JDanielSmith pushed a commit that referenced this pull request Dec 19, 2023
commit ae83db1
Merge: 1f26add d8a0ee5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:42 2023 -0500

    Merge commit 'd8a0ee5156ee3118138921df3a5b9ae84a0ad104' into develop/sync_externals

commit d8a0ee5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:34 2023 -0500

    Squashed 'externals/nitro/' changes from 847101014..f39321c67

    f39321c67 latest from CODA-OSS
    60952fb78 preload the remaining TREs (#607)

    git-subtree-dir: externals/nitro
    git-subtree-split: f39321c67b2bcdc2f42d81da7b10c48c0f3c7504

commit 1f26add
Merge: f7fcf9c e2ca833
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:30 2023 -0500

    Merge commit 'e2ca833f641c4e0da29b5e621f81ee2c299ad5ee' into develop/sync_externals

commit e2ca833
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:30 2023 -0500

    Squashed 'externals/coda-oss/' changes from ed283d676..b173830ca

    b173830ca fix C++17 overload resolution

    git-subtree-dir: externals/coda-oss
    git-subtree-split: b173830ca9d9946bc4375786bd39abfdbc2ed9c9

commit f7fcf9c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:27 2023 -0500

    latest from CODA-OSS and NITRO

commit 2503884
Merge: 92a8741 d76cbe7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:43:21 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 92a8741
Merge: 243c86f 10712f5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:24 2023 -0500

    Merge commit '10712f532ba879400ef7438bf130cd7e9619427c' into develop/sync_externals

commit 10712f5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:20 2023 -0500

    Squashed 'externals/nitro/' changes from 09f2f458f..847101014

    847101014 latest from CODA-OSS (#606)

    git-subtree-dir: externals/nitro
    git-subtree-split: 8471010142ae5f85f596f2cf1737c8aa5d89c7fa

commit b3745ac
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:16 2023 -0500

    Squashed 'externals/coda-oss/' changes from 28926b673..ed283d676

    ed283d676 Only need to actually create/destroy Xerces once (#761)
    8087b1e11 utility routines to convert to/from collections of paths
    a869c8a8e use a lookup table for str::upper() and str::lower() (#760)
    00e343177 Merge branch 'main' of https://github.com/mdaus/coda-oss
    27085f06b DefaultErrorHandler is a base class
    98ec79835 favor speed over size

    git-subtree-dir: externals/coda-oss
    git-subtree-split: ed283d676654023f2ea58fd7b6385fa30c03b08a

commit 243c86f
Merge: 2e0c1a4 b3745ac
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:16 2023 -0500

    Merge commit 'b3745ac5c20ce440baa7ec3c7164e7c63d27bee5' into develop/sync_externals

commit 2e0c1a4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:10 2023 -0500

    latest from CODA-OSS

commit 064aa9e
Merge: 6d7636e 32bafeb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:18:39 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 48c21c4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:06 2023 -0500

    Squashed 'externals/nitro/' changes from 3de4c5059..09f2f458f

    09f2f458f use $(SolutionDir) to get to externals

    git-subtree-dir: externals/nitro
    git-subtree-split: 09f2f458fe16fcaa6dd5f6c025b91a1ca657abe4

commit 6d7636e
Merge: f2fb571 48c21c4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:06 2023 -0500

    Merge commit '48c21c451bf6966acacd87444b29ceb4577a5125' into develop/sync_externals

commit f2fb571
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:00 2023 -0500

    latest from NITRO

commit 3cce5ce
Merge: c1d1b5f 95eb9f0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:27 2023 -0500

    Merge commit '95eb9f0f8b619be1ac5fc260da1c4e4b256532ec' into develop/sync_externals

commit 95eb9f0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:22 2023 -0500

    Squashed 'externals/nitro/' changes from dc3a8ecf0..3de4c5059

    3de4c5059 latest from CODA-OSS (#605)

    git-subtree-dir: externals/nitro
    git-subtree-split: 3de4c5059eaf7d1ba2ccd1c16c7bc84efd3f028e

commit f5abe98
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:18 2023 -0500

    Squashed 'externals/coda-oss/' changes from df4e0fc1f..28926b673

    28926b673 provide our own (simple) mdspan implementation (#759)
    6bb722454 make SpanRC API match std::mdspan (#758)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 28926b673931c3f148882ceca7d3de203accfa4e

commit c1d1b5f
Merge: e722bff f5abe98
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:18 2023 -0500

    Merge commit 'f5abe981a0cd9b43137fac77e0af0d899da91a43' into develop/sync_externals

commit e722bff
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:15 2023 -0500

    latest from CODA-OSS

commit d385d8e
Merge: 2980070 34fd74e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:36:15 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 2980070
Merge: b6b878b e62fb02
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:21:20 2023 -0500

    latest from CODA-OSS

commit e62fb02
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:46 2023 -0500

    Squashed 'externals/nitro/' changes from de4686af0..dc3a8ecf0

    dc3a8ecf0 export more symbols (#604)
    22f11f42b build as a DLL in Visual Studio (#603)
    8d8184c27 NITRO can now build DLLs (#602)
    d3f58f038 added environment variable to enable pre-loading of TREs (#601)
    85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
    a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
    6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
    eca918471 /guard:cf
    5d540334b /guard:cf

    git-subtree-dir: externals/nitro
    git-subtree-split: dc3a8ecf0e5e13c23ec1f2294c323d0bbd222e2a

commit ce6eb2f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:43 2023 -0500

    Squashed 'externals/coda-oss/' changes from 5eae4c1f6..df4e0fc1f

    df4e0fc1f changes to build SIX DLLs (#757)
    faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
    d15173f38 export symbols used by NITRO (#756)
    6ed3c048b use Debug DLL library in Debug

    git-subtree-dir: externals/coda-oss
    git-subtree-split: df4e0fc1f6c564c02121d1328e850ed92552bfc1

commit b6b878b
Merge: 2a6c350 ce6eb2f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:43 2023 -0500

    Merge commit 'ce6eb2ff528a6da74e3a39428e63fb36ff463522' into develop/sync_externals

commit 2a6c350
Merge: f98b867 953e132
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:19:26 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit f98b867
Merge: b0fcc18 7271a19
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit bf2eede
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit b0fcc18
Merge: f204c36 bf2eede
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit f204c36
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d
Merge: 995b923 d90e4c4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0
Merge: 0b0a22d fd9950b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22d
Merge: 659af2d 1f0e264
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6
Merge: 4b9245b 0ffa372
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b
Merge: 19ea3e7 e8e1c07
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec22
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7
Merge: 3e75b38 651ec22
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b38
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846
Merge: b46b11c 86bd245
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11c
Merge: 1f3d578 9a7678b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc515
Merge: 990528a b5bc2b3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a
Merge: a7a7ecc 0d9d64f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#586)
    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)
    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS
    49f6338d2 latest from CODA-OSS (#581)
    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    72209535d toString() changes from CODA-OSS (#579)
    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)
    e7ea728ec reduce differences between cpp17 and main branches (#576)
    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

commit e35ff93
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

    03f1a3bdf release 2023-10-23 (#747)
    4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
    9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
    c3fd20a88 added some OLD Visual Studio extensions
    d00db384a everything is text except for known binaries
    c3813bb29 eol=lf is the default
    4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
    18f2c051f more FmtX() -> str::Format() changes (#745)
    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)
    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)
    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)
    c92a55d7c build in SIX
    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)
    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)
    8dee6f7a6 revert toString() changes (#728)
    bf7ae4a71 use overloads rather than varargs for std::format() (#727)
    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)
    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @V3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

commit a7a7ecc
Merge: afb8300 e35ff93
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Merge commit 'e35ff93576fbc97ae678b9f941c69a96cf2b8159' into develop/sync_externals

commit afb8300
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:44 2023 -0400

    latest from CODA-OSS and NITRO
JDanielSmith pushed a commit that referenced this pull request Dec 19, 2023
* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* return type needs to be explicit for subsequent specialization

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

* Squashed 'externals/nitro/' changes from a37046807..de4686af0

de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

* Squashed 'externals/coda-oss/' changes from 5eae4c1f6..df4e0fc1f

df4e0fc1f changes to build SIX DLLs (#757)
faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
d15173f38 export symbols used by NITRO (#756)
6ed3c048b use Debug DLL library in Debug

git-subtree-dir: externals/coda-oss
git-subtree-split: df4e0fc1f6c564c02121d1328e850ed92552bfc1

* Squashed 'externals/nitro/' changes from de4686af0..dc3a8ecf0

dc3a8ecf0 export more symbols (#604)
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf

git-subtree-dir: externals/nitro
git-subtree-split: dc3a8ecf0e5e13c23ec1f2294c323d0bbd222e2a

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from df4e0fc1f..28926b673

28926b673 provide our own (simple) mdspan implementation (#759)
6bb722454 make SpanRC API match std::mdspan (#758)

git-subtree-dir: externals/coda-oss
git-subtree-split: 28926b673931c3f148882ceca7d3de203accfa4e

* Squashed 'externals/nitro/' changes from dc3a8ecf0..3de4c5059

3de4c5059 latest from CODA-OSS (#605)

git-subtree-dir: externals/nitro
git-subtree-split: 3de4c5059eaf7d1ba2ccd1c16c7bc84efd3f028e

* latest from NITRO

* Squashed 'externals/nitro/' changes from 3de4c5059..09f2f458f

09f2f458f use $(SolutionDir) to get to externals

git-subtree-dir: externals/nitro
git-subtree-split: 09f2f458fe16fcaa6dd5f6c025b91a1ca657abe4

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 28926b673..ed283d676

ed283d676 Only need to actually create/destroy Xerces once (#761)
8087b1e11 utility routines to convert to/from collections of paths
a869c8a8e use a lookup table for str::upper() and str::lower() (#760)
00e343177 Merge branch 'main' of https://github.com/mdaus/coda-oss
27085f06b DefaultErrorHandler is a base class
98ec79835 favor speed over size

git-subtree-dir: externals/coda-oss
git-subtree-split: ed283d676654023f2ea58fd7b6385fa30c03b08a

* Squashed 'externals/nitro/' changes from 09f2f458f..847101014

847101014 latest from CODA-OSS (#606)

git-subtree-dir: externals/nitro
git-subtree-split: 8471010142ae5f85f596f2cf1737c8aa5d89c7fa

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from ed283d676..b173830ca

b173830ca fix C++17 overload resolution

git-subtree-dir: externals/coda-oss
git-subtree-split: b173830ca9d9946bc4375786bd39abfdbc2ed9c9

* Squashed 'externals/nitro/' changes from 847101014..f39321c67

f39321c67 latest from CODA-OSS
60952fb78 preload the remaining TREs (#607)

git-subtree-dir: externals/nitro
git-subtree-split: f39321c67b2bcdc2f42d81da7b10c48c0f3c7504
JDanielSmith pushed a commit that referenced this pull request Dec 19, 2023
* Squashed commit of the following:

commit 9dd9172
Merge: f09bdb2 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Merge commit '12510803ab1aa6c49be1fc9df26dfb997d1ace0e' into develop/sync_externals

commit 1251080
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:38 2023 -0400

    Squashed 'externals/nitro/' changes from edfa0f7ce..574bfe2b6

    574bfe2b6 FmtX() -> str::Format() (#586)

    git-subtree-dir: externals/nitro
    git-subtree-split: 574bfe2b6c79955be16427ddf4f115b0333a05b9

commit f09bdb2
Merge: c73d46b 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 13:03:34 2023 -0400

    latest from NITRO

commit 41ea3de
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:58 2023 -0400

    Squashed 'externals/nitro/' changes from e418beceb..edfa0f7ce

    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)

    git-subtree-dir: externals/nitro
    git-subtree-split: edfa0f7ce5951b09967bb92ec4aba4820d50561f

commit c73d46b
Merge: 2e711e3 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Merge commit '594752daff55aec6a2f04430e6c6675837bec723' into develop/sync_externals

commit 594752d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:55 2023 -0400

    Squashed 'externals/coda-oss/' changes from 95ff879ba..959532681

    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95953268198a05486cd86cc17ac085805362c6ec

commit 2e711e3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:51 2023 -0400

    latest from CODA-OSS and NITRO

commit 4e46c6b
Merge: 909d786 d11230e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 9 12:21:20 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 909d786
Merge: 151eb4f fd12777
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:43:41 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Squashed 'externals/coda-oss/' changes from 369737085..95ff879ba

    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 95ff879babba421c57ece442c3324c98d68fdbc7

commit 151eb4f
Merge: 68bb88a 11d8ec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:31 2023 -0400

    Merge commit '11d8ec293ed98a2fa5581b2317f3389e34565547' into develop/sync_externals

commit 68bb88a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:12:26 2023 -0400

    latest from CODA-OSS and NITRO

commit aa3c088
Merge: 15e3d74 18a764e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 2 12:11:42 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Squashed 'externals/coda-oss/' changes from c92a55d7c..369737085

    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 369737085573989ba74a68a4dc2da9d4be8be3a6

commit 15e3d74
Merge: a018099 1ee90a9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Merge commit '1ee90a9a723449a28da2ccb6ff615163c6283a13' into develop/sync_externals

commit a018099
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:04:45 2023 -0400

    latest from CODA-OSS

commit 669feb7
Merge: 3738c91 d95832a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Sep 27 12:02:14 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 3738c91
Merge: a537665 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:51 2023 -0400

    Merge commit '804168483daa854eafff59910e56704e1282ed40' into develop/sync_externals

commit 8041684
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:47 2023 -0400

    Squashed 'externals/nitro/' changes from 49f6338d2..e418beceb

    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS

    git-subtree-dir: externals/nitro
    git-subtree-split: e418beceb503c1186119ea058211f1e5b493afc6

commit f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Squashed 'externals/coda-oss/' changes from 333b91024..c92a55d7c

    c92a55d7c build in SIX

    git-subtree-dir: externals/coda-oss
    git-subtree-split: c92a55d7c788ec177b094284572b227a40a8fcd7

commit a537665
Merge: 3c13778 f12914a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Merge commit 'f12914abbb5d7014dd904fd6319a3edd5ba788cd' into develop/sync_externals

commit 3c13778
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:28:54 2023 -0400

    build after CODA-OSS updates

commit 8abc353
Merge: a9e87fd a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:14 2023 -0400

    Merge commit 'a5674e74433a563a11e4bbdaae3803673dff99f1' into develop/sync_externals

commit a5674e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:10 2023 -0400

    Squashed 'externals/nitro/' changes from 72cd86cbf..49f6338d2

    49f6338d2 latest from CODA-OSS (#581)

    git-subtree-dir: externals/nitro
    git-subtree-split: 49f6338d2998fc6b4d033bf1456f1fb1bcb53567

commit 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Squashed 'externals/coda-oss/' changes from 00e2dd928..333b91024

    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 333b9102479d3d2c7d41425dbcfa41a7eabf7b1d

commit a9e87fd
Merge: 3cbdfb9 5ab8802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Merge commit '5ab880228dfd4d6fd1b2b11630fd414b394d292b' into develop/sync_externals

commit 3cbdfb9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:18:02 2023 -0400

    latest from NITRO

commit a681ebd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:08:14 2023 -0400

    latest from CODA-OSS

commit 7a363b4
Merge: 8cd5e77 80aec3a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Sep 12 14:07:29 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 8cd5e77
Merge: 4ee925c 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:44 2023 -0400

    Merge commit '369de34a1c027a68c3f7d35be60c091e828d6417' into develop/sync_externals

commit 369de34
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:41 2023 -0400

    Squashed 'externals/nitro/' changes from e488297c3..72cd86cbf

    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()

    git-subtree-dir: externals/nitro
    git-subtree-split: 72cd86cbf6abb1122350388c98ea448484d76d91

commit bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Squashed 'externals/coda-oss/' changes from 8dee6f7a6..00e2dd928

    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 00e2dd9286b44e32f8393165f20485b543d52170

commit 4ee925c
Merge: baeaa33 bb4f3dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Merge commit 'bb4f3dc0f7aeb187acf39d6cae5e96b711bb4dc8' into develop/sync_externals

commit baeaa33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:25:33 2023 -0400

    latest from CODA-OSS and NITRO

commit a4a755c
Merge: 6fbe8b8 8a9b1e9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 13:24:48 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Squashed 'externals/nitro/' changes from 72209535d..e488297c3

    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68

    git-subtree-dir: externals/nitro
    git-subtree-split: e488297c31fbf52dd2c1ae6ba94f95a6cdf9eb30

commit 6fbe8b8
Merge: 3441e80 a5d077e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Merge commit 'a5d077e25b3d48901ed9615ccec88e4aaebbfce3' into develop/sync_externals

commit 3441e80
Merge: 69b0fb4 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:44 2023 -0400

    Merge commit '8538e1d222d56604050582bd2b0f128dda51f925' into develop/sync_externals

commit 8538e1d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:34 2023 -0400

    Squashed 'externals/nitro/' changes from fc1f59799..72209535d

    72209535d toString() changes from CODA-OSS (#579)

    git-subtree-dir: externals/nitro
    git-subtree-split: 72209535d071d6a6f18c475413f948d086cd8787

commit d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Squashed 'externals/coda-oss/' changes from bf7ae4a71..8dee6f7a6

    8dee6f7a6 revert toString() changes (#728)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 8dee6f7a68d560f8bb3469f2d0375bb65e2f532f

commit 69b0fb4
Merge: c4dcdba d982f60
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Merge commit 'd982f60807e49f64d019eb973639ba555e9d7942' into develop/sync_externals

commit c4dcdba
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:43:57 2023 -0400

    toString() changes from CODA-OSS

commit 7de4dcf
Merge: 48895c9 69731d3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Aug 29 08:37:24 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 48895c9
Merge: cb1a2c9 a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:55 2023 -0400

    Merge commit 'a2de0b5279a6763f39f6f34536eb6f680e98d146' into develop/sync_externals

commit a2de0b5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:50 2023 -0400

    Squashed 'externals/nitro/' changes from e7ea728ec..fc1f59799

    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)

    git-subtree-dir: externals/nitro
    git-subtree-split: fc1f59799a3082a3c1605dd9a6c3dd12ce2412d3

commit 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Squashed 'externals/coda-oss/' changes from 22e050207..bf7ae4a71

    bf7ae4a71 use overloads rather than varargs for std::format() (#727)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: bf7ae4a718bd97a55ed37d2dd0a514deebc97776

commit cb1a2c9
Merge: bbc8367 6c23d5d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Merge commit '6c23d5de45eadac47028f968db108e4161666aa1' into develop/sync_externals

commit bbc8367
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 15:35:19 2023 -0400

    latest from CODA-OSS

commit 02e1917
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:09:36 2023 -0400

    str::format changes from CODA-OSS

commit e4b5c45
Merge: 0584296 80128f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 28 14:08:34 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Squashed 'externals/nitro/' changes from 547d0aa9f..e7ea728ec

    e7ea728ec reduce differences between cpp17 and main branches (#576)

    git-subtree-dir: externals/nitro
    git-subtree-split: e7ea728ec6c80eb3a7564f9c721563c49d744c51

commit 0584296
Merge: 8a996f2 2928617
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Merge commit '2928617bd4525f20316de415f07b6cf3d88e4878' into develop/sync_externals

commit 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Squashed 'externals/coda-oss/' changes from 168cbae01..22e050207

    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 22e05020768d791498db105c261439dc78981445

commit 8a996f2
Merge: e509306 9c6572a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Merge commit '9c6572a9e7ccc4d54e79a6f7ebc373b4414e7df9' into develop/sync_externals

commit e509306
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:31:21 2023 -0400

    latest from CODA-OSS and NITRO

commit 62fc405
Merge: 40827a7 49e28e2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Aug 25 13:30:22 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 40827a7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:23:42 2023 -0400

    CRLF

commit 209b4e3
Merge: 238a6fc 993d755
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:22:36 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 238a6fc
Merge: 1c1e440 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:15:00 2023 -0400

    Merge commit '83ec173c23943efe4e24689aad8d744aad69749c' into develop/sync_externals

commit 83ec173
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:53 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..547d0aa9f

    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 547d0aa9ffcf34ad94f9ea71aa415f39837b2e68

commit c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..168cbae01

    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @V3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 168cbae01bb1e5fc0a02c2d96e8b02619bf2831d

commit 1c1e440
Merge: 10eded0 c57aa26
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Merge commit 'c57aa2691a9635f55f5c604723d61ee495c59ed2' into develop/sync_externals

commit 10eded0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Aug 21 09:14:19 2023 -0400

    latest from CODA-OSS and NITRO

* FmtX() -> str::Format()

* use Context overload to reduce use of .str()

* reduce use of .str()

* reduce a bunch of duplicated code

* use Context overload to reduce use of .str()

* write() overloads to reduce use of .c_str()

* operator<<() for Parameter

* reduce use of str::toString() in favor of std::to_string()

* use str::eq() (case-insensitive ==) rather than str::upper() or str::lower()

* string tweaks from CODA-OSS

* use new str::upper() overloads from CODA-OSS

* get rid of class '...' needs to have dll-interface to be used by clients of struct '...'
JDanielSmith pushed a commit that referenced this pull request Jan 9, 2024
* more "noexcept" to give the compiler more opportunities for optimization

* build with GCC 4.9.4

* Squashed commit of the following:

commit e4ed163e282a55e68c5bef91ee9a6478e7f4492f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Feb 1 11:50:54 2022 -0500

    test more AMP8I_PHS8I conversion

commit aae247180bd846901f50fb4009a345e01c5d1b52
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Tue Feb 1 11:07:28 2022 -0500

    correct values for non-debug build

commit b4c292692f12d9e07ec10a28743bad3de7d503d6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Feb 1 10:53:13 2022 -0500

    check some AMP8I_PHS8I results

commit 58442ea8a5249f6689e848ed0e8095d602d3c4e2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Feb 1 09:41:27 2022 -0500

    no need for a std::unique_ptr<> to std::vector

commit 4fc61416ba01103281ec984a477bc8d7c01c9904
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Feb 1 08:49:42 2022 -0500

    a copy in std::make_unique<> doesn't seem to work with older compilers

commit b0dff2ec21379c18a81c8cc62019fc1e7639fec2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Feb 1 08:36:37 2022 -0500

    ComplexToAMP8IPHS8I_KDTree should have been deleted

commit 1697d9c8959b2290c974ccdf59eccd2b62c80002
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 17:29:04 2022 -0500

    no need to copy cached std::vector

commit 08f6114c456678952badfe3606a89c4acf96a961
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 17:18:22 2022 -0500

    a std::array<> is ALWAYS copied

commit acddc2b842f44c23e565c638b0c0a747ce427b17
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 16:51:39 2022 -0500

    swap between nearest-neighbor implementations at compile-time

commit 647a606ff92177ac203f8f776807965775bcfba0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 16:13:53 2022 -0500

    "hide" KDNode in details too

commit 51b3edf66850cbd7dd2ccd00d215b18a9a8fd433
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 15:58:02 2022 -0500

    put KDTree in "details" so no one else is tempted to use it

commit c59a111fa928f58b9e55ea544a01c5bebcd3fd8a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 15:54:53 2022 -0500

    prepare to make KDTree API look like ComplexToAMPIIPHS9I

commit 32eadd4bc9677213e6dd92881c13fe51440e4548
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 15:47:38 2022 -0500

    use a factory function to create ComplexToAMP8IPHS8I

commit ef418623ba7e9d2ad4bea3b29dfcb6a178fc0761
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 15:31:07 2022 -0500

    fewer changes on merge

commit 078be3468abd9840091af508b4eeca80ba2a3e1b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 15:17:10 2022 -0500

    put ComplexToAMP8IPHS8I in a "details" namespace so no one else is tempted to use it

commit 35cd365c79d8147ab16d8a79f2bcbbbb71f072f5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 14:48:39 2022 -0500

    Wrap the cxfloat->8AMP_PHSI conversion because we've got two different ways of doing it

commit 71387289dfa13cee1ebfd109dd581be7d2ac0084
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 14:22:45 2022 -0500

    wrap KDTree cxfloat->AMP_PHS

commit 2d4dc0903aa359b35412ed779d612d766c6295a7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 14:05:39 2022 -0500

    cache the magnitudes w/o an AmplitudeTable

commit ebc4a8a76981a852aa8f2189e29787e5d461483f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 13:35:55 2022 -0500

    references instead of pointers

commit 45034487a01b4a5eeeadaee90759c2bf34809b89
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 13:19:26 2022 -0500

    building in VS2022 (again)

commit 7b5377dbf9ee0aaacbf426b16f556c5069588b2b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 13:04:38 2022 -0500

    Revert "build in VS2022, remove compiler warnings"

    This reverts commit e4b6eb9c80c7e105c705ca2d6b816cb1894c34f1.

commit 3ec4b4a8b315d4bd8dbc8b5e07c38bcf678341d4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 12:58:20 2022 -0500

    Revert "references instead of pointers"

    This reverts commit 1324635655a8ed20cfdacec57e8fe54fce8b2a2a.

commit 1324635655a8ed20cfdacec57e8fe54fce8b2a2a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 11:38:57 2022 -0500

    references instead of pointers

commit e4b6eb9c80c7e105c705ca2d6b816cb1894c34f1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jan 31 11:32:10 2022 -0500

    build in VS2022, remove compiler warnings

commit df7fc435daec6ed9fe4d026f01d1f8fa6682e6bf
Author: Andrew Hardin <andrew.hardin5+git@gmail.com>
Date:   Mon Jan 31 07:06:59 2022 -0700

    Improve performance of std::complex -> 8-bit amplitude and phase. (#537)

    This change introduces a new acceleration structure that can efficiently
    map from std::complex -> 8-bit amplitude and phase. This is accomplished
    by exploiting the systematic distribution of the 8-bit amplitude and phase
    values in the original std::complex space.

* use KDTree in this branch

* add nearest_neighbor test

* fix unit tests

* slam in "main"

* remove transform_async() from coda-oss; std::async() is a bit half-baked

* Squashed 'externals/coda-oss/' changes from e87c32b4d..0b7d581fa

0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 0b7d581fa62a58ca730fbbf58d24c8ef8b32f764

* Squashed 'externals/nitro/' changes from c8ecbe9ae..90c6263e2

90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 90c6263e218e20f9d974520d955638ec35ac1085

* copy_externals

* use our own `struct` rather than std::pair<>

* from_AMP8I_PHS8I() is a goofy name

* overloads to avoid an `if`-check inside of a loop

* overload so it's no longer necessary to pass `nullptr`

* No need to make "nodes" just to iterate through the data again

* avoid checking pAmplitudeTable inside a loop

* force include pch.h

* utility to generate all 256 `uint8_t` values

* overloads for NULL (none) and non-NULL (reference) amplitude table

* merge develop/byteswap

* remove cutoff, it's not needed in C++17

* AmplitudeTable should be clone()'d, not copyied

* AmplitudeTable should be clone()'d, not copyied

* Put LUT and AmplitudeTable in their own .H file; Types.h is big

* use Amp8iPhs8iLookup_t type

* simplify code to create lookup table

* cache the lookup table on AmplitudeTable

* removed dead code

* use toComplex() and fromComplex() as AMP8I_PHS8I is a mouth-full

* Move AMP8I/PHS8I structures to SIDD for better code structure

* simplify creating a ComplexToAMP8IPHS8I instance

* reduce checking for a NULL AmplitudeTable*

* fix build error due to header file rearrangment

* simplify special routine for unit-testing

* don't need "static" utility routines anymore

* no reason not to allow move for ComplexToAMP8IPHS8I

* Squashed commit of the following:

commit 67d0bc78b1a93d02fc496ec755fc794060ab5bb5
Merge: 42f479813 a2cb168ce
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:57 2023 -0400

    Merge branch 'develop/complex_short' of github.com:ngageoint/six-library into develop/complex_short

commit 42f479813d7b2d431753028cab5ff5c4874bb62c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:43 2023 -0400

    Parameter::operator==() must a member function for existing SWIG bindings

commit a2cb168cebbf0b89348d106be8a878fb6746f155
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Fri Jun 16 10:32:22 2023 -0400

    renames from CODA-OSS

commit 68d184a89f899a709c6c7e54f858e4a8a4ed2955
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:15:28 2023 -0400

    figure out ComplexInteger in SIX rather than CODA-OSS

commit 802087c892ecc653c0cd0086ec888d622c9192f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:01:05 2023 -0400

    separate .H file for complex

commit 4d24ae394a290e21f074614ee95f46a182c43e33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:54:05 2023 -0400

    remove unneeded #include of types/Complex.h

commit e021d71c2d25641afbfe7d6741f60b2c745bd12d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:49:48 2023 -0400

    zinteger -> ComplexInteger

commit 91599f83e4a8d1e3e8fe77d54bca4cb6f85ea692
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:38:53 2023 -0400

    complex.h -> Complex.h from CODA-OSS

commit b3653cc75b07fb0415e2a18303058e57c31718b8
Merge: 786223e8c 6e34e8717
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:11:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 786223e8c0ebc05ca46e7c55eac8a26678ff2bff
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:04:31 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit f143d3a53c4cdce580958fae0ef5588bb12cbda5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:40 2023 -0400

    Squashed commit of the following:

    commit 011ba83af6202c4a5358c366ac0e88edcbfd6986
    Merge: 7390b8b19 4a21b2db5
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Jun 15 15:37:33 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 7390b8b19f4f9d21d0ffc34ae9906cea2227936d
    Merge: 7f79e6d6f b902f6c17
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Merge commit 'b902f6c1743778d8fceeee5b3209ebca2370312a' into develop/sync_externals

    commit b902f6c1743778d8fceeee5b3209ebca2370312a
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Squashed 'externals/coda-oss/' changes from f4d42005f..704d6867f

        704d6867f beef-up our complex type (#687)
        47c1c1cd6 check is_absolute() for URLs (#686)
        c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
        ad10286bc volatile is about "special" memory, not threading (#685)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: 704d6867f959f60e3e62c44681a3fb1f7abc99bf

    commit 7f79e6d6fb8972e5074e582aa4c3214e9a524459
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:06 2023 -0400

        latest from CODA-OSS

    commit 24678b33f4aab533af0d807d6706f8587bd1c103
    Merge: 9eb95e3aa 35b59b9a0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:20:30 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 9eb95e3aad1562b0d7915cf48db1b61a337a3878
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:55 2023 -0400

        latest from CODA-OSS and NITRO

    commit 1bd99042ef18b76df9da27d946b5616d9dd254b1
    Merge: ec161c5b3 c59d69c06
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:40 2023 -0400

        sync_externals

    commit c59d69c06eda40c7295ab607fdc8a5dad7d2c1b1
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:34 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

        3f01809fa latest from coda-oss (#557)
        471fb3fc1 Update test_j2k_loading++.cpp
        b12caf2fc latest from CODA-OSS (#556)
        0cd432624 use sys::make_span (#555)
        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

    commit 272cae451cbe3ad6820d1221aafe375d77b1ba04
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..f4d42005f

        f4d42005f fix build error in NITRO
        ff11a5557 keep using std::complex<short> for now (#682)
        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)
        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a3000 getDataType() unittest
        857ff0af3 HighFive utility routines (#661)
        1d687db57 writeDataSet() utility overload
        106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
        2641b60b2 Merge branch 'main' into feature/hdf5
        35c19e7e8 change actions to @v3 (#660)
        212bbd3a3 works on local machine, but not build server ... ?
        7125118b0 dump of 1D vector doesn't work :-(
        c704db435 sigh ... WAF build still failing :-(
        01aae4616 does dump() of a 1D vector work?
        76a53c813 comment-out H5 writing :-(
        0f0e19aff test_highfive_dump()
        cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
        6584a264a does test_highfive_create() work?
        cde6147ce tweak HighFive wrappers (#659)
        316566854 Revert "trying HighFive "write" unittests again"
        a9ec24ca4 trying HighFive "write" unittests again
        585ad49a5 tweak names of utility routines
        4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
        0217ffa26 readDataSet() now works for 1D data
        95e8973f2 trying to get hdf5::lite::load() working
        4d294611d "const" correctness
        5e6305c3f fix load_complex()
        4a134dc5f start work on utility routines to read complex data from HDF5
        9d76a7f41 Merge branch 'main' into feature/hdf5
        8f9667a24 whitepsace
        ebd3fc99e Merge branch 'main' into feature/hdf5
        40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
        935aa3459 be sure the dataset has real data
        114b9bf33 update release notes
        bd9c0b26c tweak HighFive utility routines
        acda1ef57 turn off diagnostics around expected failures
        22a748840 readDataSet() utility routine for HighFive
        bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
        6142f5b33 use HighFive routines to write a HDF5 file
        5bbf1abaf Use HiveFive routines to get info about the file
        84fbc8378 duplicate unittests with H5Easy
        f1f054c03 Merge branch 'main' into feature/hdf5
        9b63ca470 fix directory names
        f6f826689 fix directory names
        7aeb82c33 Merge branch 'main' into feature/hdf5
        d028baaeb hook up HighFive header-only library (#653)
        3083b0a31 Revert "HighFive 2.6.2"
        246985a7f Revert ""build" HighFive HDF5 library"
        a8b75a586 Revert "turn off HighFive Boost support"
        ec68d5f83 Revert "Add HighFive unittests"
        f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
        5ea634ee1 Revert "more work on getting HighFive unittests to build"
        ecc45433c more work on getting HighFive unittests to build
        bb194788a get test_high_five_base more-or-less compiling
        d42bde000 Add HighFive unittests
        ddc86bb32 turn off HighFive Boost support
        b255122d4 "build" HighFive HDF5 library
        396cc3ef2 HighFive 2.6.2
        5e5f9d9c0 Merge branch 'main' into feature/hdf5
        ee938b4a5 changes from SIX
        bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
        de2a24380 make derived classes 'final' if possible
        14e19bcd2 Change xml lite function to virtual (#645)
        8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
        18ad90645 hdf5Write unittest
        3462e1179 createFile() and writeFile() overloads
        ecee81d53 fix typos
        197eecfa6 sketch-out hdf5::lite::writeFile()
        bd2311795 use SpanRC for writeFile(), not yet implemented
        ea9af7510 simple SpanRC to hold a 2D-size and pointer
        027c19ee8 createFile() unittest
        1f9d07ecb hook up createFile()
        8c7e4473f start hooking up HDF5 writing
        146e0bea3 Merge branch 'main' into feature/hdf5
        88ca9fcb7 Merge branch 'main' into feature/hdf5
        42b604b46 Squashed commit of the following:
        10ee602c2 Merge branch 'main' into feature/hdf5
        67aa42b69 restore changes from "main"
        8bbfcbfbf unittests can be simplified to match fewer "view" classes
        126bb802e Merge branch 'main' into feature/hdf5
        3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
        24c2b489c Squashed commit of the following:
        2703c119d Squashed commit of the following:
        9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
        51bc931dc Merge branch 'main' into feature/hdf5
        a84f25816 Squashed commit of the following:
        c4d2ed696 add missing #include guards, fix type in existing #include guard
        d541525a0 use a single ComplexViewConstIterator for all views
        86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
        5d4b9c2cb only need an custom iterator for ComplexSpansView
        d9f0fb128 hook up iterators
        b9329e4db initial pass at a ComplexViewConstIterator
        635238873 remove compiler warning about unused "constexpr" variables
        b39f6096f use the casing from H5 to make copy/pasting code slightly easier
        0887b13eb Merge branch 'main' into feature/hdf5
        bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
        7acd30ee2 tweak hdf5.lite dependencies
        38ab914df Jupyter notebook for creating H5 files
        95a040e0b _small.h5 is now (correctly) FLOAT32
        107e7c487 make a simple values() member function to avoid template magic
        e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
        738333688 readDatasetT() now throws for the wrong buffer type
        6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        310f8fd3d can't get template magic right for copy_axis()
        86b306d59 stepping through copy ctors in the debugger is annoying
        f243e92d6 trying to make wrong type of buffer fail
        2b10d9652 read in new sample file
        a28e59d8c help the compiler with type deduction
        49bf5e9bc nested_complex_float_data_small.h5
        e029325fc utility routines to "deconstruct" and array of std::complex
        dede3bd39 Merge branch 'main' into feature/hdf5
        904b1ef5e tweak class names, make_() and copy() utility routines
        8237b9efb make it harder to pass the wrong types to ComplexViews
        4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
        f5e367dfa test std::span<const std::complex<float>>
        a4a2844f2 read in the nested "i" and "r" data
        115615265 sample file has subgroups
        8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        9f4232a1d update sample H5 file
        8c55db73a walk through HDF5 sub-groups
        7775ed9c4 Update 123_barfoo_catdog_cx.h5
        677975d7c Matlab code to create sample H5 file
        a0e7dfe07 Update test_hdf5info.cpp
        0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
        86a677321 skeleton for more sample data
        85f79b099 Merge branch 'main' into feature/hdf5
        18088e942 Merge branch 'main' into feature/hdf5
        3a1d17692 Merge branch 'main' into feature/hdf5
        1755c69d7 Merge branch 'main' into feature/hdf5
        9ad015432 No more "11" suffix on exception names
        c20d96251 Squashed commit of the following:
        c88cee999 other values to be filled-in
        bca4a4ecd incorporation NamedObject from HDF5 docs
        61fa68f72 groupInfo()
        460e7d766 datasetInfo()
        14eb9b764 start filling in DatasetInfo
        afe5f1c3a start to fill in DatasetInfo
        77a968c72 start filling in GroupInfo
        d81bcdfd9 openGroup() to open groups (loc)
        a0cd29469 comment-out "dataset" unittest for now
        86e006024 begin filling in FileInfo
        366dda6ab a return_type_of utility is needed to deduce the return type
        e21928263 explicitly pass return type to template
        4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
        b3b5ebde7 use new exception utility routines
        ea1c03ef0 put exception handling/conversion in a utility routine
        819a99d39 utility routine for exception handling
        6f34eea97 put utilities in a separate file for easier reuse
        fcbde4f24 break utility routines into smaller pieces for easier reuse
        52358ea8a WIN32 no longer automatically defined?
        5a4286472 Revert "build HDF5 with C89"
        680e599e9 build HDF5 with C89
        a87a07121 Merge branch 'main' into feature/hdf5
        8447c1a90 Revert "sym-links instead of copying files"
        db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
        fb60b5696 Merge branch 'main' into feature/hdf5
        5110a5cc8 Comments about _u and _q
        1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
        fa06f04d7 get ready for hdf5.lite enhancdements
        b040c7c43 sym-links instead of copying files
        aa431bb47 use _u for xml::lite::Uri
        3d0c6d58c fix case-sensitive #include filename
        93dcd0e52 operator() for getElementByName()
        75a93af85 more operator[] overloads to make attribute management easier
        4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
        f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
        ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        ffdd9beb0 simplify attribute creation
        9bf5414f5 simplify attribute creation
        82d7a4e95 SWIG gets confused about namespaces
        7a61d0741 fix bug on Element ctor uncovered by unittest
        fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
        a325b7053 operator+=() overload for addChild
        daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        b887d2b47 provide overloads for Element& rather than creating new "reference" types
        1fa6bba38 rename test_xmleasy.cpp
        7c8c9e0f1 += overload
        850da6f63 overload for std::string
        4547fc5a7 use UIT-8 strings for characterData
        4723462a3 convenient addChild() overloads
        e48720753 copy over ElementReference from xml.easy
        a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
        6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
        f7466a6d7 Revert "simple routines for single element"
        a5490230d Revert "make some operators simplier ways of calling functions"
        c9a25630a Revert "get document creation working"
        8af8710b0 Revert "free functions instead of member functions"
        16c3847cb Revert "ElementReference distinct from Element"
        7d68e156f Revert "ElementMutableReference"
        00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
        a42969c1f ElementMutableReference
        a20ae9355 ElementReference distinct from Element
        14eeeea0b free functions instead of member functions
        4aae014b3 get document creation working
        883569269 make some operators simplier ways of calling functions
        053bd1212 simple routines for single element
        8bf701a2e check-in of new xml.easy (to move code between computers)
        41f959051 unittests for creating XML documents from scratch
        9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
        1531d5709 by default, don't validate strings passed to Uri()
        46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
        39b547d32 remove more vestiges of Expat and LibXML
        ec8274d52 remove LibXML and Expat as they're no longer used/supported.
        20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
        95074b9b1 update for newer Intel compiler
        7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
        57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
        4b67561c3 remove validate() overload that nobody is using
        fa15f1e5d Squashed commit of the following:
        1484a9090 test the new validate() API
        470da70fb hookup StringStreamT routines
        2cddf2504 begin hooking up validate() overloads
        1b5d910f3 overload validate() for UTF-8 and Windows-1252
        03309b8c9 Squashed commit of the following:
        b72c6c5bf older compiler doesn't like our make_unique
        af8f00307 validate UTF-8 XML on Linux
        211188613 unit-test for LEGACY XML validation
        3c1169d2b Squashed commit of the following:
        3afff19ca std::filesystem::path for FileInputStreamOS
        908d452f8 WIP: validate all of our sample XML files
        00f9bb16b validate against a XML schema
        243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
        2815d707d fix to work with SWIG bindings. :-(
        460862132 trying (again) to remove vestiages of old code
        e3c83a858 Revert "new code should use UTF-8"
        811207c92 new code should use UTF-8
        0ffd835f9 Squashed commit of the following:
        1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
        c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
        850d3c811 str::strip() that can be easier to use than str::trim()
        580ba9c8c explicitly =delete move
        2b39831a8 Squashed commit of the following:
        39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
        9adf86cba force calling new UTF-8 write() routines
        ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
        8a34583fa overload to take schemaPaths as filesystem::path
        8671b442f parse XML embedded in a binary file
        ec4a902f1 updates from xerces.lite
        80dc4d963 updates from xerces.lite
        549766d6c Attributes::contains() no longer catches an exception
        8a645ceac need "sys/" when building in other environments
        36af08269 super-simple URI validation
        78ef28a3e SWIG bindings are a PITA! :-(
        e9cba8491 SWIG needs help with Uri
        8a8d8dc07 another routines used by pre-build SWIG bindings
        818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
        067cac5d8 old compiler gets confused on unadorned QName
        ba92c0ae7 more use of Uri and QName
        446c7d17a use QName in new code
        d6f8b0c83 more direct use of QName
        90fff1c73 use xml::lite::QName instead of tuple<string, string>
        646cbb5ed more direct use of QName and Uri
        ba589ea3b make QName more robust
        bab0ee8b5 createElement() -> addNewElement()
        e3a145747 grab changes from six-library
        32285e95c Merge branch 'master' into feature/xml.lite_tweaks
        9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
        a12bbc32c make it easier to create new Elements with a value
        fc9967f98 make it easy for callers to addChild() keep a reference to the Element
        4627766b7 be sure test_xmlparser works in "externals" of other projects
        bf2276396 "private" is part of the name-mangling
        fad92bcc8 making sure copy-ctor is implemented
        f90fdcead consolidate common XML test code
        9fc53f2d5 use str:: utility for casting
        6da6f794b still trying to find the right macro for SWIG
        0c1b86c56 still trying to fix SWIG
        fdc6fc9bd trying to fix SWIG build error
        7835e8c27 SWIG needs copy-ctor
        585695942 disable copy/assignment for Element, it's probably almost always wrong
        391fed613 fix double-delete caused by copying
        61790fe69 retry parsing XML with Windows-1252 if first parse() fails
        63cffac59 change string_encoding to match coda-oss style of PascalCase
        010479bbe read an XML file we know is wrongly encoded as Windows-1252
        9a0505062 more references instead of pointers
        2d44b6951 Reading Windows-1252 w/o "encoding" fails
        63dc7b076 read Windows-1252 too
        c9434c9cb test as UIT-8 too
        f310ccf0c get reading from UTF-8 XML working on Windows
        1fa39c2be get testReadUtf8XmlFile working on Linux
        1a83cd815 sys::Path is too much trouble right now
        ed60aa22c unit-test to read XML from a file
        a9336db7c Squashed commit of the following:
        0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
        c618489be Merge branch 'master' into feature/xml.lite_tweaks
        e8e4b8fe1 determine string_encoding based on platform
        1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
        961bef66b Merge branch 'master' into feature/xml.lite_tweaks
        e9798a5cb fix static_assert()
        6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
        b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
        1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
        53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
        60cf8ae80 "" doesn't work with decltype() in older C++
        97e72477a reduce getValue() overloads by making "key" a template argument
        5e6373e55 reduce code duplication
        f9e7cfeee provide castValue<T> instead of getValue(T&)
        cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
        87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
        10cc61223 make getElement*() consistent for zero or >1 results
        f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
        1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
        df8b746e1 allow clients to specify their own toType/toString routines
        66702726a Merge branch 'master' into feature/xml.lite_tweaks
        6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
        d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
        fbd106115 catch a BadCastException and return false from getValue()
        3a78377b5 use a template to reduce duplicated code
        0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
        a848aa3a2 get & set the characer data as a type
        f3ee1ee12 utility routines to set an attribute value
        595227683 templates to get an attribute value convert to a specific type
        06639227b miised a change in last commit
        1aa458ef8 add getValue() overloads that return true/false rather than throwing
        faa6d3075 added getElementByTagName() overloads as that's a very common use-case

        git-subtree-dir: externals/coda-oss
        git-subtree-split: f4d42005fa477ae59da193422aa2cb14b877cf0c

    commit ec161c5b334ea8133777a78ce94181807e591642
    Merge: d2d594b9f 272cae451
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Merge commit '272cae451cbe3ad6820d1221aafe375d77b1ba04' into develop/sync_externals

    commit d2d594b9ff50bc00c15a4228927ea1ec0449381b
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:25 2023 -0400

        latest from CODA-OSS and NITRO

commit 09ec30cc503ffd74daa401514ab9b674c6e4a3cf
Merge: 28a4b2bd1 4a21b2db5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 28a4b2bd17daabbb9ba94aae53a58986acd58a9b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:58:55 2023 -0400

    restore "old" CODA-OSS to minimize differences

commit f41c086967d2e5b05ee8988272ab8ca8c0014f85
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:40:31 2023 -0400

    keep using std::complex<> everywhere

commit bc1704c8cb985f1987a7d3ff2b37c2e48286a8fd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:22:47 2023 -0400

    latest from CODA-OSS

commit 4ec782e6c9409f1985628c36a88577b286af61e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:24 2023 -0400

    build against "old" CODA-OSS

commit bffd6a985d8dc8e08b42aed78bbe7a162ac45bf6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:08 2023 -0400

    restore CODA-OSS changes to minimize merge differences

commit d93e0e80c94013e1b957eb2c33ba112643c306c3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:39:37 2023 -0400

    more passing the entire complex type as a template parameter

commit 0872159268ff8f38e3c3d42788598725ce142616
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:25:14 2023 -0400

    no more types::complex

commit 379a89312f55c86f1de95f6ff14e7aeca72df32c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 12:36:06 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit 2b9b396c4d460233418f293d6ebdf157231b8757
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:58:00 2023 -0400

    latest from CODA-OSS

commit 5d19ea2946556ab9f7e2e1ec98e0d07fecf578e2
Merge: 0dab1a156 7e99024da
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:07:26 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit 7e99024da866660e7e4da621b75f4561e638044b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:06:20 2023 -0400

    unittest changes from develop/complex_short branch

commit e5c0f6d52e05bf50741a6bc086eae9ce53a89e9e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:00:34 2023 -0400

    more changes from CODA-OSS

commit ca7cb60f6b39a2f1a03dd1497bb20a4da5925c24
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:34:57 2023 -0400

    no more types::complex<T>

commit 6048da55638d0283cf789347740871aa2d07fba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:18:44 2023 -0400

    latest from CODA-OSS

commit 16c99ed82bb9b57edc1ea5e28d68f89b63519664
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 4d9d2a764319f3177b427b3a03ae95c99ef02494
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit 0dab1a15681e51a5464b363baa0f263e25521c4a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit e4c29f670785b3312dda1d6b6da30847fa798b89
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:14:37 2023 -0400

    Update PVPBlock.cpp

commit 7133f7f4b4752d0e049ef48241a4e1b707a5c4ec
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:09:11 2023 -0400

    restore types::z* overloads

commit 9a0c890090d5501bb2c563e0b36a787cfad70af6
Merge: a3a71ba35 fc8ba82bd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:01:31 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit fc8ba82bd5357454d02276c1605ddcd5973322d1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:59:58 2023 -0400

    findComplex() utility

commit 8b762374c282458c469ad6e4502aaee7aa695079
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:47:56 2023 -0400

    const& for Parameter arguments

commit a3a71ba351b9b790c20bb80e4fac861592758164
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:26:00 2023 -0400

    getComplex() overloads

commit 6fc1ee4b96b722b81042f79ed476c481af13aadd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 13e44351a9e912c91fd79ada8b09a544c482874a
Author: J. Daniel Smith <dan@jdanielsmith.me>
Date:   Wed Jun 14 21:47:37 2023 -0400

    more progress on types::complex

commit 5e72ecca7037861e87f311339c61bc2cf77305fe
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:43:52 2023 -0400

    use our own type for complex<short>

commit 9bfc4f9799df5261bbc0c7afb1ffa08abc060ba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:42:58 2023 -0400

    latest from CODA-OSS

commit 39153f274d56de88a28b526978dd4ad832e767f9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:45:05 2023 -0400

    fix Parameter::setValue() overloads

commit b8007fbad15e529eb503bbfd692c85ce6d34a0a6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:37:10 2023 -0400

    latest from coda-oss

commit 27f080ec628c4497709cfc85183f3a1ceaad11cb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:22:29 2023 -0400

    move is implicitly deleted because of =delete for copy

commit bd69591ff8c93d1aaa9f184346eac2aca83b3272
Merge: 71d519492 35b59b9a0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:09:16 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 71d519492046c4c61986f181f6ec7aa18cb4c0c6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:25:54 2023 -0400

    std::complex<float> -> six::zfloat

commit a3eee8257746732f61b959c9b31442511d81b590
Merge: d0bb8c181 e13c3da4f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:17:07 2023 -0400

    Merge branch 'main' into develop/complex_short

commit d0bb8c1819da2ade60c4ce3349ff40f32fe31301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:15:46 2023 -0400

    finish (almost) switching to types::complex for integers

commit bbe1320e33768a0a0f151feb138643c80a8bdfbd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:57:21 2023 -0400

    types::complex<T> is std::complex<T> for now

commit 00047f57ea462c610d249d25fcd2f0105a7c0f41
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:36:27 2023 -0400

    latest from coda-oss

commit ac376dcf72763892e9e9b9c03fb14bc34fd04630
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:13:42 2023 -0400

    Update test_dump_images.cpp

commit 2907efbcfdb33f154138944831a94a2c508b5a68
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:39:29 2023 -0400

    use types::complex for TInteger

commit 2580312337bf1b7ee20d5ba9eed83c8e65e06e6f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:26:16 2023 -0400

    CPHD aliaes for std::complex<TInteger>

commit d177963c782c08c137d14b9608207d40754db568
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:17:38 2023 -0400

    latest from coda-oss

commit e05937c9b568f52fa9f41b279e2c8ecfa63e5fc0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:41:34 2023 -0400

    use types::z* aliases for complex<T>

commit 2b61dcc4974b7326db762f6f6fd60dc263bb87e6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:05:41 2023 -0400

    begin switching to types::complex for integral T

commit b4e625673c3d270896eed26b4c83bc827befc538
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:59:30 2023 -0400

    turn off _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING

commit 9bd683bc8858d07378c390c3cd4fcaed4a490a21
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:54:22 2023 -0400

    std::complex<float> -> zfloat

commit 47aa0e8994af5b31602f63adaac3b3415cb769c2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:45:00 2023 -0400

    std::complex<float> -> zfloat

commit 3785ed2c8e0f812ae43e1e81971bce6777eb91a1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:38:18 2023 -0400

    aliases for std::complex<float> and std::complex<double>

commit d5db375ba08737551023d9b21455f3d5cd71faf0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:20:01 2023 -0400

    Squashed commit of the following:

    commit bb2bb5aaf944040ea5bc42168b846324287dcad8
    Merge: bbba5a210 4c146e7d0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Merge commit '4c146e7d01b14cf408b0e398cba96705df69090c' into develop/sync_externals

    commit 4c146e7d01b14cf408b0e398cba96705df69090c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Squashed 'externals/coda-oss/' changes from aeec0131c..c88b9c053

        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: c88b9c05325c802f88a85ddcebb498be4afacad0

    commit bbba5a210c0257f622781914e9d228eeca23341c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:06 2023 -0400

        latest from CODA-OSS

    commit 370dd8876136755230624ebc955bc67642b1482b
    Merge: 58ff5a537 ffe1caafd
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:03:25 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 58ff5a5371d9158910e99613f4ce6e6fc36e543e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 16:23:08 2023 -0400

        latest from CODA-OSS

    commit 3bfc33a40274fa7a073983d4e4ddd907e45730d2
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:45 2023 -0400

        latest from CODA-OSS and NITRO

    commit 389417a983778ba2a07af9c6dbfea80484324b97
    Merge: bce7ba0b1 4ad490fe4
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:28 2023 -0400

        latest from CODA-OSS and NITRO

    commit 4ad490fe4224df18ce4a437c40a257af0686140e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:22 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..05dae18a3

        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

    commit 86929db19a438630d531ca0c34bdcd8e8c527ae9
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:18 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..aeec0131c

        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a…
JDanielSmith pushed a commit that referenced this pull request Jan 16, 2024
* add nearest_neighbor test

* fix unit tests

* slam in "main"

* remove transform_async() from coda-oss; std::async() is a bit half-baked

* Squashed 'externals/coda-oss/' changes from e87c32b4d..0b7d581fa

0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 0b7d581fa62a58ca730fbbf58d24c8ef8b32f764

* Squashed 'externals/nitro/' changes from c8ecbe9ae..90c6263e2

90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 90c6263e218e20f9d974520d955638ec35ac1085

* copy_externals

* use our own `struct` rather than std::pair<>

* from_AMP8I_PHS8I() is a goofy name

* overloads to avoid an `if`-check inside of a loop

* overload so it's no longer necessary to pass `nullptr`

* No need to make "nodes" just to iterate through the data again

* avoid checking pAmplitudeTable inside a loop

* force include pch.h

* utility to generate all 256 `uint8_t` values

* overloads for NULL (none) and non-NULL (reference) amplitude table

* merge develop/byteswap

* remove cutoff, it's not needed in C++17

* AmplitudeTable should be clone()'d, not copyied

* AmplitudeTable should be clone()'d, not copyied

* Put LUT and AmplitudeTable in their own .H file; Types.h is big

* use Amp8iPhs8iLookup_t type

* simplify code to create lookup table

* cache the lookup table on AmplitudeTable

* removed dead code

* use toComplex() and fromComplex() as AMP8I_PHS8I is a mouth-full

* Move AMP8I/PHS8I structures to SIDD for better code structure

* simplify creating a ComplexToAMP8IPHS8I instance

* reduce checking for a NULL AmplitudeTable*

* fix build error due to header file rearrangment

* simplify special routine for unit-testing

* don't need "static" utility routines anymore

* no reason not to allow move for ComplexToAMP8IPHS8I

* Squashed commit of the following:

commit 67d0bc78b1a93d02fc496ec755fc794060ab5bb5
Merge: 42f479813 a2cb168ce
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:57 2023 -0400

    Merge branch 'develop/complex_short' of github.com:ngageoint/six-library into develop/complex_short

commit 42f479813d7b2d431753028cab5ff5c4874bb62c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:43 2023 -0400

    Parameter::operator==() must a member function for existing SWIG bindings

commit a2cb168cebbf0b89348d106be8a878fb6746f155
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Fri Jun 16 10:32:22 2023 -0400

    renames from CODA-OSS

commit 68d184a89f899a709c6c7e54f858e4a8a4ed2955
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:15:28 2023 -0400

    figure out ComplexInteger in SIX rather than CODA-OSS

commit 802087c892ecc653c0cd0086ec888d622c9192f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:01:05 2023 -0400

    separate .H file for complex

commit 4d24ae394a290e21f074614ee95f46a182c43e33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:54:05 2023 -0400

    remove unneeded #include of types/Complex.h

commit e021d71c2d25641afbfe7d6741f60b2c745bd12d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:49:48 2023 -0400

    zinteger -> ComplexInteger

commit 91599f83e4a8d1e3e8fe77d54bca4cb6f85ea692
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:38:53 2023 -0400

    complex.h -> Complex.h from CODA-OSS

commit b3653cc75b07fb0415e2a18303058e57c31718b8
Merge: 786223e8c 6e34e8717
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:11:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 786223e8c0ebc05ca46e7c55eac8a26678ff2bff
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:04:31 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit f143d3a53c4cdce580958fae0ef5588bb12cbda5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:40 2023 -0400

    Squashed commit of the following:

    commit 011ba83af6202c4a5358c366ac0e88edcbfd6986
    Merge: 7390b8b19 4a21b2db5
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Jun 15 15:37:33 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 7390b8b19f4f9d21d0ffc34ae9906cea2227936d
    Merge: 7f79e6d6f b902f6c17
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Merge commit 'b902f6c1743778d8fceeee5b3209ebca2370312a' into develop/sync_externals

    commit b902f6c1743778d8fceeee5b3209ebca2370312a
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Squashed 'externals/coda-oss/' changes from f4d42005f..704d6867f

        704d6867f beef-up our complex type (#687)
        47c1c1cd6 check is_absolute() for URLs (#686)
        c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
        ad10286bc volatile is about "special" memory, not threading (#685)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: 704d6867f959f60e3e62c44681a3fb1f7abc99bf

    commit 7f79e6d6fb8972e5074e582aa4c3214e9a524459
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:06 2023 -0400

        latest from CODA-OSS

    commit 24678b33f4aab533af0d807d6706f8587bd1c103
    Merge: 9eb95e3aa 35b59b9a0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:20:30 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 9eb95e3aad1562b0d7915cf48db1b61a337a3878
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:55 2023 -0400

        latest from CODA-OSS and NITRO

    commit 1bd99042ef18b76df9da27d946b5616d9dd254b1
    Merge: ec161c5b3 c59d69c06
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:40 2023 -0400

        sync_externals

    commit c59d69c06eda40c7295ab607fdc8a5dad7d2c1b1
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:34 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

        3f01809fa latest from coda-oss (#557)
        471fb3fc1 Update test_j2k_loading++.cpp
        b12caf2fc latest from CODA-OSS (#556)
        0cd432624 use sys::make_span (#555)
        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

    commit 272cae451cbe3ad6820d1221aafe375d77b1ba04
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..f4d42005f

        f4d42005f fix build error in NITRO
        ff11a5557 keep using std::complex<short> for now (#682)
        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)
        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a3000 getDataType() unittest
        857ff0af3 HighFive utility routines (#661)
        1d687db57 writeDataSet() utility overload
        106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
        2641b60b2 Merge branch 'main' into feature/hdf5
        35c19e7e8 change actions to @v3 (#660)
        212bbd3a3 works on local machine, but not build server ... ?
        7125118b0 dump of 1D vector doesn't work :-(
        c704db435 sigh ... WAF build still failing :-(
        01aae4616 does dump() of a 1D vector work?
        76a53c813 comment-out H5 writing :-(
        0f0e19aff test_highfive_dump()
        cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
        6584a264a does test_highfive_create() work?
        cde6147ce tweak HighFive wrappers (#659)
        316566854 Revert "trying HighFive "write" unittests again"
        a9ec24ca4 trying HighFive "write" unittests again
        585ad49a5 tweak names of utility routines
        4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
        0217ffa26 readDataSet() now works for 1D data
        95e8973f2 trying to get hdf5::lite::load() working
        4d294611d "const" correctness
        5e6305c3f fix load_complex()
        4a134dc5f start work on utility routines to read complex data from HDF5
        9d76a7f41 Merge branch 'main' into feature/hdf5
        8f9667a24 whitepsace
        ebd3fc99e Merge branch 'main' into feature/hdf5
        40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
        935aa3459 be sure the dataset has real data
        114b9bf33 update release notes
        bd9c0b26c tweak HighFive utility routines
        acda1ef57 turn off diagnostics around expected failures
        22a748840 readDataSet() utility routine for HighFive
        bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
        6142f5b33 use HighFive routines to write a HDF5 file
        5bbf1abaf Use HiveFive routines to get info about the file
        84fbc8378 duplicate unittests with H5Easy
        f1f054c03 Merge branch 'main' into feature/hdf5
        9b63ca470 fix directory names
        f6f826689 fix directory names
        7aeb82c33 Merge branch 'main' into feature/hdf5
        d028baaeb hook up HighFive header-only library (#653)
        3083b0a31 Revert "HighFive 2.6.2"
        246985a7f Revert ""build" HighFive HDF5 library"
        a8b75a586 Revert "turn off HighFive Boost support"
        ec68d5f83 Revert "Add HighFive unittests"
        f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
        5ea634ee1 Revert "more work on getting HighFive unittests to build"
        ecc45433c more work on getting HighFive unittests to build
        bb194788a get test_high_five_base more-or-less compiling
        d42bde000 Add HighFive unittests
        ddc86bb32 turn off HighFive Boost support
        b255122d4 "build" HighFive HDF5 library
        396cc3ef2 HighFive 2.6.2
        5e5f9d9c0 Merge branch 'main' into feature/hdf5
        ee938b4a5 changes from SIX
        bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
        de2a24380 make derived classes 'final' if possible
        14e19bcd2 Change xml lite function to virtual (#645)
        8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
        18ad90645 hdf5Write unittest
        3462e1179 createFile() and writeFile() overloads
        ecee81d53 fix typos
        197eecfa6 sketch-out hdf5::lite::writeFile()
        bd2311795 use SpanRC for writeFile(), not yet implemented
        ea9af7510 simple SpanRC to hold a 2D-size and pointer
        027c19ee8 createFile() unittest
        1f9d07ecb hook up createFile()
        8c7e4473f start hooking up HDF5 writing
        146e0bea3 Merge branch 'main' into feature/hdf5
        88ca9fcb7 Merge branch 'main' into feature/hdf5
        42b604b46 Squashed commit of the following:
        10ee602c2 Merge branch 'main' into feature/hdf5
        67aa42b69 restore changes from "main"
        8bbfcbfbf unittests can be simplified to match fewer "view" classes
        126bb802e Merge branch 'main' into feature/hdf5
        3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
        24c2b489c Squashed commit of the following:
        2703c119d Squashed commit of the following:
        9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
        51bc931dc Merge branch 'main' into feature/hdf5
        a84f25816 Squashed commit of the following:
        c4d2ed696 add missing #include guards, fix type in existing #include guard
        d541525a0 use a single ComplexViewConstIterator for all views
        86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
        5d4b9c2cb only need an custom iterator for ComplexSpansView
        d9f0fb128 hook up iterators
        b9329e4db initial pass at a ComplexViewConstIterator
        635238873 remove compiler warning about unused "constexpr" variables
        b39f6096f use the casing from H5 to make copy/pasting code slightly easier
        0887b13eb Merge branch 'main' into feature/hdf5
        bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
        7acd30ee2 tweak hdf5.lite dependencies
        38ab914df Jupyter notebook for creating H5 files
        95a040e0b _small.h5 is now (correctly) FLOAT32
        107e7c487 make a simple values() member function to avoid template magic
        e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
        738333688 readDatasetT() now throws for the wrong buffer type
        6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        310f8fd3d can't get template magic right for copy_axis()
        86b306d59 stepping through copy ctors in the debugger is annoying
        f243e92d6 trying to make wrong type of buffer fail
        2b10d9652 read in new sample file
        a28e59d8c help the compiler with type deduction
        49bf5e9bc nested_complex_float_data_small.h5
        e029325fc utility routines to "deconstruct" and array of std::complex
        dede3bd39 Merge branch 'main' into feature/hdf5
        904b1ef5e tweak class names, make_() and copy() utility routines
        8237b9efb make it harder to pass the wrong types to ComplexViews
        4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
        f5e367dfa test std::span<const std::complex<float>>
        a4a2844f2 read in the nested "i" and "r" data
        115615265 sample file has subgroups
        8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        9f4232a1d update sample H5 file
        8c55db73a walk through HDF5 sub-groups
        7775ed9c4 Update 123_barfoo_catdog_cx.h5
        677975d7c Matlab code to create sample H5 file
        a0e7dfe07 Update test_hdf5info.cpp
        0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
        86a677321 skeleton for more sample data
        85f79b099 Merge branch 'main' into feature/hdf5
        18088e942 Merge branch 'main' into feature/hdf5
        3a1d17692 Merge branch 'main' into feature/hdf5
        1755c69d7 Merge branch 'main' into feature/hdf5
        9ad015432 No more "11" suffix on exception names
        c20d96251 Squashed commit of the following:
        c88cee999 other values to be filled-in
        bca4a4ecd incorporation NamedObject from HDF5 docs
        61fa68f72 groupInfo()
        460e7d766 datasetInfo()
        14eb9b764 start filling in DatasetInfo
        afe5f1c3a start to fill in DatasetInfo
        77a968c72 start filling in GroupInfo
        d81bcdfd9 openGroup() to open groups (loc)
        a0cd29469 comment-out "dataset" unittest for now
        86e006024 begin filling in FileInfo
        366dda6ab a return_type_of utility is needed to deduce the return type
        e21928263 explicitly pass return type to template
        4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
        b3b5ebde7 use new exception utility routines
        ea1c03ef0 put exception handling/conversion in a utility routine
        819a99d39 utility routine for exception handling
        6f34eea97 put utilities in a separate file for easier reuse
        fcbde4f24 break utility routines into smaller pieces for easier reuse
        52358ea8a WIN32 no longer automatically defined?
        5a4286472 Revert "build HDF5 with C89"
        680e599e9 build HDF5 with C89
        a87a07121 Merge branch 'main' into feature/hdf5
        8447c1a90 Revert "sym-links instead of copying files"
        db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
        fb60b5696 Merge branch 'main' into feature/hdf5
        5110a5cc8 Comments about _u and _q
        1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
        fa06f04d7 get ready for hdf5.lite enhancdements
        b040c7c43 sym-links instead of copying files
        aa431bb47 use _u for xml::lite::Uri
        3d0c6d58c fix case-sensitive #include filename
        93dcd0e52 operator() for getElementByName()
        75a93af85 more operator[] overloads to make attribute management easier
        4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
        f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
        ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        ffdd9beb0 simplify attribute creation
        9bf5414f5 simplify attribute creation
        82d7a4e95 SWIG gets confused about namespaces
        7a61d0741 fix bug on Element ctor uncovered by unittest
        fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
        a325b7053 operator+=() overload for addChild
        daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        b887d2b47 provide overloads for Element& rather than creating new "reference" types
        1fa6bba38 rename test_xmleasy.cpp
        7c8c9e0f1 += overload
        850da6f63 overload for std::string
        4547fc5a7 use UIT-8 strings for characterData
        4723462a3 convenient addChild() overloads
        e48720753 copy over ElementReference from xml.easy
        a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
        6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
        f7466a6d7 Revert "simple routines for single element"
        a5490230d Revert "make some operators simplier ways of calling functions"
        c9a25630a Revert "get document creation working"
        8af8710b0 Revert "free functions instead of member functions"
        16c3847cb Revert "ElementReference distinct from Element"
        7d68e156f Revert "ElementMutableReference"
        00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
        a42969c1f ElementMutableReference
        a20ae9355 ElementReference distinct from Element
        14eeeea0b free functions instead of member functions
        4aae014b3 get document creation working
        883569269 make some operators simplier ways of calling functions
        053bd1212 simple routines for single element
        8bf701a2e check-in of new xml.easy (to move code between computers)
        41f959051 unittests for creating XML documents from scratch
        9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
        1531d5709 by default, don't validate strings passed to Uri()
        46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
        39b547d32 remove more vestiges of Expat and LibXML
        ec8274d52 remove LibXML and Expat as they're no longer used/supported.
        20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
        95074b9b1 update for newer Intel compiler
        7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
        57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
        4b67561c3 remove validate() overload that nobody is using
        fa15f1e5d Squashed commit of the following:
        1484a9090 test the new validate() API
        470da70fb hookup StringStreamT routines
        2cddf2504 begin hooking up validate() overloads
        1b5d910f3 overload validate() for UTF-8 and Windows-1252
        03309b8c9 Squashed commit of the following:
        b72c6c5bf older compiler doesn't like our make_unique
        af8f00307 validate UTF-8 XML on Linux
        211188613 unit-test for LEGACY XML validation
        3c1169d2b Squashed commit of the following:
        3afff19ca std::filesystem::path for FileInputStreamOS
        908d452f8 WIP: validate all of our sample XML files
        00f9bb16b validate against a XML schema
        243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
        2815d707d fix to work with SWIG bindings. :-(
        460862132 trying (again) to remove vestiages of old code
        e3c83a858 Revert "new code should use UTF-8"
        811207c92 new code should use UTF-8
        0ffd835f9 Squashed commit of the following:
        1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
        c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
        850d3c811 str::strip() that can be easier to use than str::trim()
        580ba9c8c explicitly =delete move
        2b39831a8 Squashed commit of the following:
        39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
        9adf86cba force calling new UTF-8 write() routines
        ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
        8a34583fa overload to take schemaPaths as filesystem::path
        8671b442f parse XML embedded in a binary file
        ec4a902f1 updates from xerces.lite
        80dc4d963 updates from xerces.lite
        549766d6c Attributes::contains() no longer catches an exception
        8a645ceac need "sys/" when building in other environments
        36af08269 super-simple URI validation
        78ef28a3e SWIG bindings are a PITA! :-(
        e9cba8491 SWIG needs help with Uri
        8a8d8dc07 another routines used by pre-build SWIG bindings
        818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
        067cac5d8 old compiler gets confused on unadorned QName
        ba92c0ae7 more use of Uri and QName
        446c7d17a use QName in new code
        d6f8b0c83 more direct use of QName
        90fff1c73 use xml::lite::QName instead of tuple<string, string>
        646cbb5ed more direct use of QName and Uri
        ba589ea3b make QName more robust
        bab0ee8b5 createElement() -> addNewElement()
        e3a145747 grab changes from six-library
        32285e95c Merge branch 'master' into feature/xml.lite_tweaks
        9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
        a12bbc32c make it easier to create new Elements with a value
        fc9967f98 make it easy for callers to addChild() keep a reference to the Element
        4627766b7 be sure test_xmlparser works in "externals" of other projects
        bf2276396 "private" is part of the name-mangling
        fad92bcc8 making sure copy-ctor is implemented
        f90fdcead consolidate common XML test code
        9fc53f2d5 use str:: utility for casting
        6da6f794b still trying to find the right macro for SWIG
        0c1b86c56 still trying to fix SWIG
        fdc6fc9bd trying to fix SWIG build error
        7835e8c27 SWIG needs copy-ctor
        585695942 disable copy/assignment for Element, it's probably almost always wrong
        391fed613 fix double-delete caused by copying
        61790fe69 retry parsing XML with Windows-1252 if first parse() fails
        63cffac59 change string_encoding to match coda-oss style of PascalCase
        010479bbe read an XML file we know is wrongly encoded as Windows-1252
        9a0505062 more references instead of pointers
        2d44b6951 Reading Windows-1252 w/o "encoding" fails
        63dc7b076 read Windows-1252 too
        c9434c9cb test as UIT-8 too
        f310ccf0c get reading from UTF-8 XML working on Windows
        1fa39c2be get testReadUtf8XmlFile working on Linux
        1a83cd815 sys::Path is too much trouble right now
        ed60aa22c unit-test to read XML from a file
        a9336db7c Squashed commit of the following:
        0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
        c618489be Merge branch 'master' into feature/xml.lite_tweaks
        e8e4b8fe1 determine string_encoding based on platform
        1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
        961bef66b Merge branch 'master' into feature/xml.lite_tweaks
        e9798a5cb fix static_assert()
        6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
        b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
        1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
        53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
        60cf8ae80 "" doesn't work with decltype() in older C++
        97e72477a reduce getValue() overloads by making "key" a template argument
        5e6373e55 reduce code duplication
        f9e7cfeee provide castValue<T> instead of getValue(T&)
        cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
        87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
        10cc61223 make getElement*() consistent for zero or >1 results
        f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
        1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
        df8b746e1 allow clients to specify their own toType/toString routines
        66702726a Merge branch 'master' into feature/xml.lite_tweaks
        6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
        d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
        fbd106115 catch a BadCastException and return false from getValue()
        3a78377b5 use a template to reduce duplicated code
        0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
        a848aa3a2 get & set the characer data as a type
        f3ee1ee12 utility routines to set an attribute value
        595227683 templates to get an attribute value convert to a specific type
        06639227b miised a change in last commit
        1aa458ef8 add getValue() overloads that return true/false rather than throwing
        faa6d3075 added getElementByTagName() overloads as that's a very common use-case

        git-subtree-dir: externals/coda-oss
        git-subtree-split: f4d42005fa477ae59da193422aa2cb14b877cf0c

    commit ec161c5b334ea8133777a78ce94181807e591642
    Merge: d2d594b9f 272cae451
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Merge commit '272cae451cbe3ad6820d1221aafe375d77b1ba04' into develop/sync_externals

    commit d2d594b9ff50bc00c15a4228927ea1ec0449381b
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:25 2023 -0400

        latest from CODA-OSS and NITRO

commit 09ec30cc503ffd74daa401514ab9b674c6e4a3cf
Merge: 28a4b2bd1 4a21b2db5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 28a4b2bd17daabbb9ba94aae53a58986acd58a9b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:58:55 2023 -0400

    restore "old" CODA-OSS to minimize differences

commit f41c086967d2e5b05ee8988272ab8ca8c0014f85
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:40:31 2023 -0400

    keep using std::complex<> everywhere

commit bc1704c8cb985f1987a7d3ff2b37c2e48286a8fd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:22:47 2023 -0400

    latest from CODA-OSS

commit 4ec782e6c9409f1985628c36a88577b286af61e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:24 2023 -0400

    build against "old" CODA-OSS

commit bffd6a985d8dc8e08b42aed78bbe7a162ac45bf6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:08 2023 -0400

    restore CODA-OSS changes to minimize merge differences

commit d93e0e80c94013e1b957eb2c33ba112643c306c3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:39:37 2023 -0400

    more passing the entire complex type as a template parameter

commit 0872159268ff8f38e3c3d42788598725ce142616
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:25:14 2023 -0400

    no more types::complex

commit 379a89312f55c86f1de95f6ff14e7aeca72df32c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 12:36:06 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit 2b9b396c4d460233418f293d6ebdf157231b8757
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:58:00 2023 -0400

    latest from CODA-OSS

commit 5d19ea2946556ab9f7e2e1ec98e0d07fecf578e2
Merge: 0dab1a156 7e99024da
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:07:26 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit 7e99024da866660e7e4da621b75f4561e638044b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:06:20 2023 -0400

    unittest changes from develop/complex_short branch

commit e5c0f6d52e05bf50741a6bc086eae9ce53a89e9e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:00:34 2023 -0400

    more changes from CODA-OSS

commit ca7cb60f6b39a2f1a03dd1497bb20a4da5925c24
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:34:57 2023 -0400

    no more types::complex<T>

commit 6048da55638d0283cf789347740871aa2d07fba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:18:44 2023 -0400

    latest from CODA-OSS

commit 16c99ed82bb9b57edc1ea5e28d68f89b63519664
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 4d9d2a764319f3177b427b3a03ae95c99ef02494
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit 0dab1a15681e51a5464b363baa0f263e25521c4a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit e4c29f670785b3312dda1d6b6da30847fa798b89
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:14:37 2023 -0400

    Update PVPBlock.cpp

commit 7133f7f4b4752d0e049ef48241a4e1b707a5c4ec
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:09:11 2023 -0400

    restore types::z* overloads

commit 9a0c890090d5501bb2c563e0b36a787cfad70af6
Merge: a3a71ba35 fc8ba82bd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:01:31 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit fc8ba82bd5357454d02276c1605ddcd5973322d1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:59:58 2023 -0400

    findComplex() utility

commit 8b762374c282458c469ad6e4502aaee7aa695079
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:47:56 2023 -0400

    const& for Parameter arguments

commit a3a71ba351b9b790c20bb80e4fac861592758164
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:26:00 2023 -0400

    getComplex() overloads

commit 6fc1ee4b96b722b81042f79ed476c481af13aadd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 13e44351a9e912c91fd79ada8b09a544c482874a
Author: J. Daniel Smith <dan@jdanielsmith.me>
Date:   Wed Jun 14 21:47:37 2023 -0400

    more progress on types::complex

commit 5e72ecca7037861e87f311339c61bc2cf77305fe
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:43:52 2023 -0400

    use our own type for complex<short>

commit 9bfc4f9799df5261bbc0c7afb1ffa08abc060ba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:42:58 2023 -0400

    latest from CODA-OSS

commit 39153f274d56de88a28b526978dd4ad832e767f9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:45:05 2023 -0400

    fix Parameter::setValue() overloads

commit b8007fbad15e529eb503bbfd692c85ce6d34a0a6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:37:10 2023 -0400

    latest from coda-oss

commit 27f080ec628c4497709cfc85183f3a1ceaad11cb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:22:29 2023 -0400

    move is implicitly deleted because of =delete for copy

commit bd69591ff8c93d1aaa9f184346eac2aca83b3272
Merge: 71d519492 35b59b9a0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:09:16 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 71d519492046c4c61986f181f6ec7aa18cb4c0c6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:25:54 2023 -0400

    std::complex<float> -> six::zfloat

commit a3eee8257746732f61b959c9b31442511d81b590
Merge: d0bb8c181 e13c3da4f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:17:07 2023 -0400

    Merge branch 'main' into develop/complex_short

commit d0bb8c1819da2ade60c4ce3349ff40f32fe31301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:15:46 2023 -0400

    finish (almost) switching to types::complex for integers

commit bbe1320e33768a0a0f151feb138643c80a8bdfbd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:57:21 2023 -0400

    types::complex<T> is std::complex<T> for now

commit 00047f57ea462c610d249d25fcd2f0105a7c0f41
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:36:27 2023 -0400

    latest from coda-oss

commit ac376dcf72763892e9e9b9c03fb14bc34fd04630
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:13:42 2023 -0400

    Update test_dump_images.cpp

commit 2907efbcfdb33f154138944831a94a2c508b5a68
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:39:29 2023 -0400

    use types::complex for TInteger

commit 2580312337bf1b7ee20d5ba9eed83c8e65e06e6f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:26:16 2023 -0400

    CPHD aliaes for std::complex<TInteger>

commit d177963c782c08c137d14b9608207d40754db568
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:17:38 2023 -0400

    latest from coda-oss

commit e05937c9b568f52fa9f41b279e2c8ecfa63e5fc0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:41:34 2023 -0400

    use types::z* aliases for complex<T>

commit 2b61dcc4974b7326db762f6f6fd60dc263bb87e6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:05:41 2023 -0400

    begin switching to types::complex for integral T

commit b4e625673c3d270896eed26b4c83bc827befc538
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:59:30 2023 -0400

    turn off _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING

commit 9bd683bc8858d07378c390c3cd4fcaed4a490a21
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:54:22 2023 -0400

    std::complex<float> -> zfloat

commit 47aa0e8994af5b31602f63adaac3b3415cb769c2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:45:00 2023 -0400

    std::complex<float> -> zfloat

commit 3785ed2c8e0f812ae43e1e81971bce6777eb91a1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:38:18 2023 -0400

    aliases for std::complex<float> and std::complex<double>

commit d5db375ba08737551023d9b21455f3d5cd71faf0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:20:01 2023 -0400

    Squashed commit of the following:

    commit bb2bb5aaf944040ea5bc42168b846324287dcad8
    Merge: bbba5a210 4c146e7d0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Merge commit '4c146e7d01b14cf408b0e398cba96705df69090c' into develop/sync_externals

    commit 4c146e7d01b14cf408b0e398cba96705df69090c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Squashed 'externals/coda-oss/' changes from aeec0131c..c88b9c053

        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: c88b9c05325c802f88a85ddcebb498be4afacad0

    commit bbba5a210c0257f622781914e9d228eeca23341c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:06 2023 -0400

        latest from CODA-OSS

    commit 370dd8876136755230624ebc955bc67642b1482b
    Merge: 58ff5a537 ffe1caafd
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:03:25 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 58ff5a5371d9158910e99613f4ce6e6fc36e543e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 16:23:08 2023 -0400

        latest from CODA-OSS

    commit 3bfc33a40274fa7a073983d4e4ddd907e45730d2
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:45 2023 -0400

        latest from CODA-OSS and NITRO

    commit 389417a983778ba2a07af9c6dbfea80484324b97
    Merge: bce7ba0b1 4ad490fe4
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:28 2023 -0400

        latest from CODA-OSS and NITRO

    commit 4ad490fe4224df18ce4a437c40a257af0686140e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:22 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..05dae18a3

        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

    commit 86929db19a438630d531ca0c34bdcd8e8c527ae9
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:18 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..aeec0131c

        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a3000 getDataType() unittest
        857ff0af3 HighFive utility routines (#661)
        1d687db57 writeDataSet() utility overload
        106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
        2641b60b2 Merge branch 'main' into feature/hdf5
        35c19e7e8 change actions to @v3 (#660)
        212bbd3a3 works on local machine, but not build server ... ?
        7125118b0 dump of 1D vector doesn't work :-(
        c704db435 sigh ... WAF build still failing :-(
        01aae4616 does dump() of a 1D vector work?
        76a53c813 comment-out H5 writing :-(
        0f0e19aff test_highfive_dump()
        cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
        6584a264a does test_highfive_create() work?
        cde6147ce tweak HighFive wrappers (#659)
        316566854 Revert "trying HighFive "write" unittests again"
        a9ec24ca4 trying HighFive "write" unittests again
        585ad49a5 tweak names of utility routines
        4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
        0217ffa26 readDataSet() now works for 1D data
        95e8973f2 trying to get hdf5::lite::load() working
        4d294611d "const" correctness
        5e6305c3f fix load_complex()
        4a134dc5f start work on utility routines to read complex data from HDF5
        9d76a7f41 Merge branch 'main' into feature/hdf5
        8f9667a24 whitepsace
        ebd3fc99e Merge branch 'main' into feature/hdf5
        40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
        935aa3459 be sure the dataset has real data
        114b9bf33 update release notes
        bd9c0b26c tweak HighFive utility routines
        acda1ef57 turn off diagnostics around expected failures
        22a748840 readDataSet() utility routine for HighFive
        bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
        6142f5b33 use HighFive routines to write a HDF5 file
        5bbf1abaf Use HiveFive routines to get info about the file
        84fbc8378 duplicate unittests with H5Easy
        f1f054c03 Merge branch 'main' into feature/hdf5
        9b63ca470 fix directory names
        f6f826689 fix directory names
        7aeb82c33 Merge branch 'main' into feature/hdf5
        d028baaeb hook up HighFive header-only library (#653)
        3083b0a31 Revert "HighFive 2.6.2"
        246985a7f Revert ""build" HighFive HDF5 library"
        a8b75a586 Revert "turn off HighFive Boost support"
        ec68d5f83 Revert "Add HighFive unittests"
        f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
        5ea634ee1 Revert "more work on getting HighFive unittests to build"
        ecc45433c more work on getting HighFive unittests to build
        bb194788a get test_high_five_base more-or-less compiling
        d42bde000 Add HighFive unittests
        ddc86bb32 turn off HighFive Boost support
        b255122d4 "build" HighFive HDF5 library
        396cc3ef2 HighFive 2.6.2
        5e5f9d9c0 Merge branch 'main' into feature/hdf5
        ee938b4a5 changes from SIX
        bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
        de2a24380 make derived classes 'final' if possible
        14e19bcd2 Change xml lite function to virtual (#645)
        8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
        18ad90645 hdf5Write unittest
        3462e1179 createFile() and writeFile() overloads
        ecee81d53 fix typos
        197eecfa6 sketch-out hdf5::lite::writeFile()
        bd2311795 use SpanRC for writeFile(), not yet implemented
        ea9af7510 simple SpanRC to hold a 2D-size and pointer
        027c19ee8 createFile() unittest
        1f9d07ecb hook up createFile()
        8c7e4473f start hooking up HDF5 writing
        146e0bea3 Merge branch 'main' into feature/hdf5
        88ca9fcb7 Merge branch 'main' into feature/hdf5
        42b604b46 Squashed commit of the following:
        10ee602c2 Merge branch 'main' into feature/hdf5
        67aa42b69 restore changes from "main"
        8bbfcbfbf unittests can be simplified to match fewer "view" classes
        126bb802e Merge branch 'main' into feature/hdf5
        3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
        24c2b489c Squashed commit of the following:
        2703c119d Squashed commit of the following:
        9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
        51bc931dc Merge branch 'main' into feature/hdf5
        a84f25816 Squashed commit of the following:
        c4d2ed696 add missing #include guards, fix type in existing #include guard
        d541525a0 use a single ComplexViewConstIterator for all views
        86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
        5d4b9c2cb only need an custom iterator for ComplexSpansView
        d9f0fb128 hook up iterators
        b9329e4db initial pass at a ComplexViewConstIterator
        635238873 remove compiler warning about unused "constexpr" variables
        b39f6096f use the casing from H5 to make copy/pasting code slightly easier
        0887b13eb Merge branch 'main' into feature/hdf5
        bd07df1ca…
JDanielSmith pushed a commit that referenced this pull request Jan 22, 2024
3118941cc update various actions to latest versions (#608)
f39321c67 latest from CODA-OSS
60952fb78 preload the remaining TREs (#607)
847101014 latest from CODA-OSS (#606)
09f2f458f use $(SolutionDir) to get to externals
3de4c5059 latest from CODA-OSS (#605)
dc3a8ecf0 export more symbols (#604)
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf
de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type
a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)
55a407b04 Squashed 'externals/coda-oss/' changes from ab45464820..e87c32b4de
c8ecbe9ae Merge commit '55a407b04834573e5d6a1a1fb43d8c6a77608c06'
4fa700ed2 merge 'master'
6b9d2bac1 Merge branch 'master'
9ae5fec7d update to 'main'
342f55276 NITRO 2.10.13 (#542)
f0cc26bdd latest from coda-oss (#540)
7d77233db latest from coda-oss (#536)
437978da8 latest from coda-oss (#535)
eea09a38d latest from coda-oss (#534)
e2f038e45 adjust compiler flags for clean CMake builds (#533)
b871d2b9c latest from coda-oss (#532)
e8ff6b444 apps: fix display of TREs from file extended header section (#529)
463c9e418 latest from coda-oss (#531)
24ff32863 -j 6 seems to work for SIX, how about NITRO?
713ee8538 -j 6 seems to work for SIX, how about NITRO?
4ccdf5b37 latest from coda-oss (#527)
c71acc492 latest from coda-oss (#526)
08cbb96f9 build with older C++14 compilers (#524)
e1a64da1f fix compiler warning
a153ad562 latest from coda-oss (#523)
bd741e4f1 latest from coda-oss (#522)
76047c7d3 merge develop/sync_externals
46c6702f8 NITRO-2.11.2 (#521)
cd053bd7f coda-oss 2022-12-14 (#520)
28b65f4dc get unittests working in other projects (#518)
9182384db latest from coda-oss (#517)
ab88a99f5 Merge branch 'master'
b39ccc4c0 Fix conan build issues (#516)
abbf7e318 remove .git directory right away
5be12fc35 merge develop/sync_externals
7306ac86a Merge commit 'cca64cca8a1061a11757abe3713c6ca25da31e45'
cca64cca8 Squashed 'externals/coda-oss/' changes from 67d6362bcf..ab45464820
ffcce1e30 latest from coda-oss (#515)
52fe00059 latest from coda-oss (#514)
1d29e4d86 remove std::auto_ptr (#513)
29125a347 latest from coda-oss (#512)
c37e01d87 update sync_externals.csh to pull from coda-oss:main
fadf1b6a1 NITRO-2.11.1 (#511)
51c60eca3 coda-oss release 2022-11-04 (#510)
120e53b79 remove throw(something), deprecated in C++11 (#509)
103dd73ee latest from coda-oss (#508)
14eb5ec05 build unittests in other projects (#507)
4e02c8011 latest from coda-oss (#506)
e12e6456b Adding tarfile member sanitization to extractall() (#505)
f71128d6f Adding tarfile member sanitization to extractall() (#505)
89c954941 find known plugins (#503)
6f889c760 run unittests in other projects (#502)
1457afec3 latest from coda-oss (#501)
0c6f81732 fix some incorrect field sizes in the CSEXRB TRE (#500)
370221354 latest from coda-oss (#499)
8cda7dc49 HDF5 source code
72447c8d6 YML for "main", not "master"
0192c297d NITRO-2.11.0 (#498)
c589cc8ca coda-oss 2022-08-30_cpp14 (#497)
b902f29e1 fix merge conflict
eba80ce74 Merge branch 'master'
61dafd407 NITRO-2.10.12 (#496)
06993176d run unittests in SIX (#495)
f0d801e95 coda-oss release 2022-08-30 (#494)
8477e4729 Build jpeg decompression as a plugin. (#487)
c0abba06a Merge branch 'master'
59978233a latest from coda-oss (#493)
54340035e Merge branch 'master'
53bbc6679 latest from coda-oss (#492)
179223ed8 Revert "-std=c11 for Linux?"
708179860 -std=c11 for Linux?
3a2ff608e main is now C++14, not C++20
489441b8c Update CMakeLists.txt
25f8fd749 use GCC-10
9a9ac37a3 restore changes lost in merge
2425e9910 Merge branch 'master'
77a1114eb NITRO 2.10.11 (#491)
b5fb2d2a9 another round of removing compiler warnings (#489)
2342edbef coda-oss 2022-08-02 (#490)
46ea890b2 Merge branch 'master'
7e1fe6a68 NITRO-2.10.10 (#486)
263a98cfc coda-oss 2022-06-29 (#485)
67e80024d latest from coda-oss:main
54ba70a09 Merge branch 'master'
a3bb3a032 nitf::byte is too much trouble right now (#484)
53a75a456 nitf::byte is more trouble than it's worth right now
a1fbcbde7 Merge branch 'master'
8d28243d2 update CodeQL to @v2 (#483)
7091d36a6 Update coda-oss (#482)
f40179473 return std::optional<> from "enum" utilities (#480)
3972dba9e update coda-oss (#479)
96a93af52 get CODA_OSS_API from "master"
7d7a31b9a Merge branch 'master'
3e38c39a0 latest from coda-oss (#477)
f27a3894e Do not add convenience test targets if given the libs_only flag.
eb6e6a0b9 latest from coda-oss:main
c32542292 Merge branch 'master'
ed0d1899b NITRO-2.10.9 (#476)
f4eacccaf coda-oss release 2022-05-03 (#475)
4baedca72 turn off "warnings as errors" for now
1938e8b2a C++17 has non-const std::string::data()
8743b133e Squashed commit of the following:
a0cf3e90e Merge branch 'master'
758ac88e1 latest from feature/j2k branch (#474)
55eeba9fc build with C++20
4c93d6d3f Merge branch 'master'
b8a3f5076 tweaks to allow NITRO modules to be built as DLLs (#473)
af745281c latest from feature/j2k branch (#471)
a7da2fc74 build more C code as C++ (#469)
5dbd0d9cd latest from coda-oss (#468)
e9b611e23 build cleanly in VS2022
06ccfd635 "warning as error" from master
b60d152db Merge branch 'master'
3e9387973 add lossy compression options (#464)
da6969ae0 latest from coda-oss (#465)
bd8ce8116 build most C with C++ (in Visual Studio ONLY) for better error-checking (#466)
dfeb3fe44 remove docs directory (#463)
2d52cf3f6 remove archive directory (#462)
d9f75ef70 Merge branch 'master'
5b11fe82c copy j2k code from coda (#460)
f02c70645 merge develop/update_coda-oss
8907b9fc3 latest from coda-oss (#461)
1124c00f9 switch VS unit-test projects to VS-test (#459)
8968e3fc8 build in "main"
04b0ef4a0 delete files in "out" directory
c12cf79c8 Update NITFException.hpp
47adca89f latest from coda-oss:main
dcf564587 Merge branch 'master'
c6e7a6e40 Merge branch 'master' of github.com:mdaus/nitro
ed828aaf6 fix CodeQL diagnostic
762b2a2ce NITRO version 2.10.8 (#456)
466534fd8 begin work in C++ wrappers for 'j2k' C API.
3b72561d2 update to coda-oss release 2022-02-22 (#455)
c0c8d4f71 latest from coda-oss:main
d22382c6e Squashed commit of the following:
ba35e18cd Merge branch 'master'
3f70bc3c3 latest from coda-oss (#454)
7746990ab latest from coda-oss:main
4e556856b Squashed commit of the following:
b252f8334 Squashed commit of the following:
ba1586d87 Merge branch 'master'
8a8ea90b0 build with older C++ compilers, compile C as C++ (#453)
96ef07b45 Merge branch 'master'
9690f9076 update coda-oss (#451)
ee85f16b2 make our C and C++ versions "requried"
e5fb00b73 Merge branch 'master'
1d307d9aa latest from coda-oss (#449)
2bd17b15d Merge branch 'master'
6861d915a std include files got messed up
c71dc6d85 latest from coda-oss (#448)
ff26970eb be sure variable is referenced
ba7cf4db1 Squashed commit of the following:
73f9426aa latest from coda-oss:main
c6e6efbfd Squashed commit of the following:
f8b70cfd6 Merge branch 'master'
db9f1d2a5 account for missing std::is_trivially_copyable<>  (#446)
7581fe17d latest from coda-oss (#445)
d991a0494 infrastructure to support "reflection" over C structs (#444)
e04238a27 Merge branch 'master'
edaf47f81 show how to use strongly-type TRE fields (#440)
8af36f6ed latest from coda-oss (#441)
fe89ce317 Re-add show_nitf++ app (#439)
2433d8c5f Squashed commit of the following:
b3d0e3993 Merge branch 'master'
9ea44741d nitro 2.10.7 (#436)
458055cfc coda-oss release 2021-12-13 (#435)
d4ad4b8a5 allow NITF_PLUGIN_PATH warning to be turned off (#434)
5bc7a39f0 Merge branch 'master'
7c96994a9 allow NITF_PLUGIN_PATH warning to be turned off (#432)
1b22d00a6 latest from coda-oss (#431)
a26f5b104 Squashed commit of the following:
6d375adea try again with Exception11
3528797b3 Revert "try again to use Exception11 as base class"
1940761ae try again to use Exception11 as base class
494c66e5b Squashed commit of the following:
aec5ac588 Squashed commit of the following:
85115cf26 Squashed commit of the following:
10e82f255 more work needed to use Exception11 as base class
832c08190 can't get rid of the Throwable overload
aafa78ac9 Squashed commit of the following:
4538afe97 Squashed commit of the following:
454389ab4 use Exception11 as base class
63c6c7aab Merge branch 'master'
489f10d70 tweaks from develop/jdsmith (#426)
c8b635070 Merge branch 'master'
9461c626c latest from coda-oss (#425)
13755f97e Squashed commit of the following:
f24599625 Squashed commit of the following:
3cd04a52e Squashed commit of the following:
37a3d372f Merge branch 'master'
2e8d7cfae tweaks for new compiler on Windows (#424)
d3df338e9 Merge branch 'master'
e868e3747 build with VS2022 (#423)
88135e2c2 Squashed commit of the following:
8716407f1 Merge branch 'master'
65b4df02d Build with Visual Studio 2022 (#422)
75cd78027 C17 and C++20
cd35ce559 Squashed commit of the following:
741570885 build with Visual Studio 2022
5aca0a352 use G++-10
051cba7c4 compile with C++20
4df16ef7c latest from coda-oss:main (C++20)
9cd6642fc build with C++20
09294e4a6 Squashed commit of the following:
b551da471 C++17 changes from coda-oss
029245e92 Merge branch 'master'
64dc4e118 -j 2 to prevent G++ crash
64ec3748c try -j 2 for faster build
c4e122edf include all of coda-oss (#421)
adc119faf spaces, not tabs
d8de25452 trying to fix broken cmake build
9dbe61e7e Merge branch 'master'
888ae9293 update version numbers before cutting a new release (#420)
28d95160e Tweaks from SIX's 8AMPI_PHSI branch (#418)
a0dd912a9 latest from coda-oss (#419)
b782ea5e1 remove #pragma once from CPP file
0bcd29d66 fix std/bit for C++20
dfba5e291 fix CodeQL failure (#417)
77b3b6e4a Merge branch 'master'
3c7653c3e make building as a DLL easier (#416)
42f309c76 try C++20 for CMake
a184c5643 Merge branch 'master'
e17d918d4 read in 8-bit sample files using NITRO (#415)
b78673982 use strongly-typed enums rather than overload strings (#414)
ffd0cb43a build with C++17
d7fec1ee6 C++17
ba356b0aa Squashed commit of the following:
dfde87258 slam in "master"
479166465 Squashed commit of the following:
89559fa88 want C++17 in "main"
9c318935c Squashed commit of the following:
6fe42fbc8 Merge branch 'master'
30fc68feb latest from coda-oss (#413)
a4a1fc4f8 add a NITF version number (#412)
eef3c6ec8 update coda-oss (#411)
f5f1f8ce1 "nitro" changes from SIX (#410)
1a19b6b60 latest from coda-oss (#409)
0db498f1e make the TRE API more robust (#406)
404a857ca Bugfix/engrda (#405)
1c73a5284 latest from coda-oss (#404)
9388d5cf2 latest from coda-oss (#402)
9578bcf83 Handle amp-phase data (#403)
81278527b remove compiler warnings that were clobbered by a previous merge (#401)
3ebffd877 update coda-oss (#400)
c8186387f tweak C++ API (#399)
dc000a516 latest from coda-oss (#398)
7af555d63 latest from coda-oss (#396)
cb37a8cff remove compiler warnings (#395)
1b6cfe099 latest from coda-oss (#388)
2229fbde0 forgot to add "units" to CMakeFiles.txt
e1a1bcefa latest from coda-oss (#387)
835da56f5 Bugfix/nitropy import error (#381)
508ee3e75 Fix invalid const cast error (#380)
fb293c1a2 build with something more recent than C89
10712fc6b got copy-paste wrong
859010c9f back to C++17 for now
b21178125 Merge branch 'master' into main
7bb82996c update coda-oss (#378)
98e6bcf5d remove more code-analysis diagnostics (#377)
eaf109eb4 C++17 fix from coda-oss
0d97539b9 almost build w/C++20
8eb0ef76b build with (almost) C++20
bea6db32f Merge branch 'master' into main
c3dc82205 update coda-oss (#376)
7acaf38ed match "master"
172714e33 #pragma warning is _MSC_VER only
ffd5aa858 Revert "do a Debug build on Windows"
5d84be10c do a Debug build on Windows
b1683ea11 Merge branch 'main' of github.com:mdaus/nitro into main
9b928303a build cleanly in VS2019
2940ec159 refresh from "master"
62e3bdce7 Merge branch 'master' into main
e6cfbfab8 make parts of the C++ API a bit more python-like (#375)
9194eb0d3 Merge branch 'master' into main
75caf49ec remove compiler warnings/code-analysis diagnostics (#374)
a6cec9dfe update coda-oss (#373)
f4b80a31d reduce compiler warnings (#371)
ac4141ddc Merge branch 'master' into main
4ddaf23d8 remove compiler warnings (#370)
2a57741c2 update coda-oss (#369)
d36c562f3 Merge branch 'master' into main
d3fab714a update coda-oss (#368)
8806960a8 tweak to force rebuild of "master" on github
9aee934ea remove compiler warnings (#367)
7be6c13b1 set an "invalid" string result for invalid inputs (#366)
d4f244ee8 remove more compiler warnings/code-analysis diagnostics (#364)
d01179540 latest from coda-oss (#363)
a16f72b0c make it easier to build nitf-c++ as a shared library (#362)
35c5f4ade reduce compiler and code-analysis warnings (#361)
273c39e86 latest from coda-oss  (#360)
b6b38054d Merge branch 'master' into main
298536f40 remove unused coda-oss modules to fix? broken build (#351)
edb9317db Update README.md
152b1d66a Java and MATLAB bindings are no longer built.
2748224ba unittests work from clean build in VS2019 (#347)
296750e1d Delete codacy-analysis.yml
2121cda37 Delete checkmarx-analysis.yml
393b6cd55 Create codacy-analysis.yml
a01fa4d6f Create checkmarx-analysis.yml
effd34006 fix more CodeQL diagnostics (#346)
e145375a7 Merge branch 'master' into main
a2b3a12d9 Fixed bug in python interface, and enabled a few features in the c library to be accessible from python (#342)
1e171cdfc remove code-analysis diagnostics (#345)
fa4048001 Merge branch 'master' into main
c68cd17dd latest from coda-oss (#344)
4ff3782d4 latest from coda-oss:main
f455459a3 Merge branch 'develop/update_coda-oss' into main
daf11b09b latest from coda-oss
b2ee4c0cc Merge branch 'master' into develop/update_coda-oss
6dc6856db Merge branch 'master' into main
bb0634924 update coda-oss (#343)
d46965774 latest from coda-oss
875900215 Merge branch 'master' into develop/update_coda-oss
c83d97832 #pragma-away warning from <complex>
b7d7a7fa8 this branch builds with C++17
f015b5c98 Merge branch 'master' into main
fa20f42ee use new coda-oss header for easier access to "std::" (#341)
eae673f69 tweak std:: handling from coda-oss
fe3129e92 std:: changes from coda-oss
c8b1b7f9b and still more coda-oss updates
e4b655cea another update from coda-oss
32e14a957 latest from coda-oss
d64174882 Merge branch 'master' into develop/update_coda-oss
c80e163ee Build w/older compilers; remove some code-analysis diagnostics (#340)
dfad79efc Delete ossar-analysis.yml
007ced759 archive matlab and java (#293)
0e201d8b0 Create ossar-analysis.yml
c4eae8e4c Create codeql-analysis.yml
ea1946b4a Delete codeql-analysis.yml
e40a0b3f6 add ENABLE_ASAN to turn on address sanitizer (#336)
2d9a968f2 fixed a bug where an uninitialized pointer caused a crash (#335)
7c5dbed7f `nullptr_t` should be `std::nullptr_t`
e38e05bb2 Merge branch 'master' into develop/update_coda-oss
612a55889 remove version number from externals/coda-oss (#333)
4eb99576b missing "build" and "cmake" directories
f99a8e343 rename "coda-oss"
c36f316d0 restore coda-oss
3a94197a8 do rename (again)
2b1c237d2 Merge branch 'master' into develop/update_coda-oss
c14639765 nitro doesn't need "re" module (#332)
03ff84a4b missing "build" and "cmake" files
25eb45608 get red of the version number (for now); we've been w/o for a very long time
14517c04f put a version on externals/coda-oss (#331)
d6b87a252 add back .cmake files
0827cf5a5 Merge branch 'develop/update_coda-oss' of github.com:mdaus/nitro into develop/update_coda-oss
f62735eb5 add back build directory
daaf0f7e0 Merge branch 'master' into develop/update_coda-oss
8705bbb63 C iterator routines can be "const" (#330)
f26f1f916 externals/coda-oss is now a junction or sym-link
4a3200ade rename "coda-oss" to include version #
ee54fff15 Merge branch 'master' into develop/update_coda-oss
f77a3820d Merge branch 'master' into main
62ec49119 update coda-oss (#326)
4d4c9b252 latest from coda-oss
c93726279 Merge branch 'master' into develop/update_coda-oss
b7f04aecb fix broken unit-test; implement missing overload (#325)
bebfbab20 Merge branch 'master' into develop/update_coda-oss
f810f8f6e Fix length calculation for moveTRE and unmergeTREs (#324)
ad0f83a6f Null init Image writers (#323)
e77ddad8f CMake: Build c libraries, in Windows, as DLLs (#321)
bdf37cc45 Merge branch 'master' into main
7a8dcf296 update coda-oss (#322)
d100a7d28 latest from coda-oss to build with older compilers
82afef8fd Merge branch 'master' into develop/update_coda-oss
333b82189 Merge branch 'master' into main
f0a45b36d latest from coda-oss (#320)
d277cb432 revert c99 changes (#319)
f1a76a95a latest from coda-oss
a8692278d Merge branch 'master' into develop/update_coda-oss
ae5aefa1a Merge branch 'master' into main
1b6ae6adb hide template<template> from C++11 (#318)
e510f3d7b Merge branch 'master' into main
ee89c7d34 Bug fixes, new TREs, and cython interface (#314)
af9135656 Merge branch 'master' into main
f925204cb revert c99 changes (#317)
2f0d13fed Merge branch 'master' into main
dc2bfc2f6 Merge branch 'master' into develop/update_coda-oss
1615ce17b update coda-oss (#316)
ad0136140 don't need .github in "externals"
31e42bbae latest from coda-oss
1cd6b1e22 Merge branch 'master' into develop/update_coda-oss
bbe02cde3 build with C++17 in this branch
905abbff8 Merge branch 'master' into main
0fbebcbdc update coda-oss (#313)
88cd12dc4 latest from coda-oss
6bc7a365c Merge branch 'develop/update_coda-oss' of github.com:mdaus/nitro into develop/update_coda-oss
8b51116b8 Merge branch 'master' into develop/update_coda-oss
91cb40798 std::filesystem::path doesn't implicitly convert to std::string
287ad87bd latest from coda-oss
9ab0959a6 try harder to compile with C++17
6fb07547f can't figure out how to install later version of g++
37738180f trying to install a more recent version of g++
5c7bafa59 spaces instead of tabs
cce8fa221 install the latest g++
5e8545d65 Merge branch 'master' into main
280141628 fix errors/warnings from code-diagnostic tools (#312)
f419dc538 Update .gitignore for CMakeSettings.json
bc379d3f7 build with C++17 in this branch
9bee8c38f Merge branch 'master' into main
2d73f0ee1 latest from coda-oss (#311)
d01c82540 latest from coda-oss
1a3e65cb3 Merge branch 'master' into develop/update_coda-oss
4a51148c7 build "main" with C++17
979b11ff3 Merge branch 'master' into main
0d6988eb1 latest from coda-oss (#310)
a7849538b don't need to change coda-oss drop
33cf616e4 gsl::span -> std::span
b229bead9 latest from coda-oss:master
29a88056b get coda-oss #includes via coda-oss.hpp to augment "std" (#309)
5e60c0959 Merge branch 'master' into main
5be4b7e63 "noexcept" is a breaking change ... be more careful with it. (#307)
63ee18c41 Merge branch 'master' into main
92b19f9c5 remove nitf::byte (#306)
657d5a1da Merge branch 'master' into main
9045a98d9 slam in "master" (again) to minimize merge conflicts
08dd5441f restore modules/java and modules/mex and remove archive to minimize changes to "main" and "master"
554f1c1b5 manaully update "main" with changes from "master" to minimize merge conflicts
c1ef1e933 bring over non-breaking changes from "main" (#303)
cf559b109 update coda oss (#301)
1d91f312e latest from coda-oss (#300)
e6448b1dd tweaks so that six builds with nitro updates (#299)
d27779eb7 std::byte -> nitf::byte until we can use C++17 everywhere (#298)
413fadf3a Update .gitignore
5c6a2ef68 update coda-oss (#297)
8bb4d248c build with Visual Studio 2019 (#295)
698841c86 get unittest changes from main (#294)
9a29ce5f9 latest from coda-oss:master (#291)
67d325690 reduce compiler warnings and the like from C code (#292)
38295eda4 latest from develop/jdsmith (#290)
adc0e73fe latest from develop/jdsmith (#289)
918ec5182 update coda-oss (#288)
9946049f4 use GSL from coda-oss (#287)
75ccefa3d latest from coda-oss (#286)
b6f883fc1 latest from coda-oss (#285)
16289ae3b update coda-oss (#284)
bce3916ac one more change from develop/jdsmith (#283)
09eaf7266 latest from develop/jdsmith (#282)
ff3ca9dcb update coda-oss (#281)
2b0e059f3 increase use of range "for" (#280)
8bde69680 latest updates from develop/jdsmith (#279)
b545a6101 latest from develop/jdsmith (#276)
aa13b3a62 Feature/update coda oss (#277)
bed0e2526 int64_t instead of sys::Off_T (#275)
07f8d9a62 latest from develop/jdsmith (#274)
8a97faadd ... still one more "common" use-case.
e5b270a9a ... and one more overload for a common use-case
30b249258 restore SegmentMemorySource() overload to avoid breaking too much existing code
a7b77e86a more use of std::byte (#273)
f1b67ffaf use std::shared_ptr and filesystem instead of mem:: and sys:: routines (#272)
da88a43a6 move real GSL code to a place where it will be copied by existing scripts (#270)
19ed66f86 Feature/remove compiler warnings (#271)
d8f1f8c5c build show_nitf++ in VS2019 (#269)
57f5aa5c8 remove compiler warnings (#268)
c6407b8b6 remove compiler warnings (#267)
09c201636 GetEnvironmentVariable() and getenv() aren't quite the same
be7174a70 use top-level WAF install directory rather than externals (#266)
f07461b69 remove compiler warnings (#265)
00a0a7819 remove dozens of compiler warnings (#264)
3d65ba13d tweak wrap-around results (#263)
c7601b742 fix wrap-around values (#262)
f5c557412 remove compiler warnings (#261)
a1022e1c8 latest coda-oss from "main" (#260)
35254eb83 get unittest working with WAF on Linux
7e371459c fix unit-test for WAF on Windows
70755443a latest from coda-oss (#259)
d141017fb remove coda-oss modules not needed by nitro (#258)
3ea4b8313 latest from coda-oss (#257)
a9bf63fb9 update coda-oss (#256)
c5f2e5e0e latest from develop/jdsmith (#254)
e1ff1e8aa move "mex" and "java" to an archive folder (#255)
045718acb Feature/update coda oss (#251)
0be5b5cc4 update coda oss (#250)
8ffdeaf11 wlhen building SWIG code, C-style enums are used
fe4f6c9ef need C-style enum with SWIG & build XML_DATA_CONTENT (#249)
621bba7df latest from coda-oss to remove code-analysis warnings (#248)
bacedbba3 fix Field to be compatible with existing code
572531c18 build new TREs w/CMake (#246)
c126d5d39 Add four TREs defined in MIL-PRF-89034. (#192)
5c8c30b1c build new TREs w/CMake (#246)
4efc97eaf Add four TREs defined in MIL-PRF-89034. (#192)
839b51f63 remove compiler warnings (#245)
42e35f33e tre: add MATESA support (#244)
e13921039 tre: add MATESA support (#244)
fa37bc21c Create codeql-analysis.yml
7e9b93f71 Create codeql-analysis.yml
505dea66a update coda-oss (#242)
79bc5e06f java: update to supported version (#241)
eaafd58a1 java: update to supported version (#241)
d5df4ba25 display TREs from other parts of the file (#239)
aa8d3aa57 Fix bug with myResidual calculation (#204)
59afdc92e Fix bug with myResidual calculation (#204)
2fb1833dd build with Visual Studio 2019 (#237)
8251e9a23 get some more "const" correctness changes (#238)
4b3ac6de3 make many more "getters" const (#235)
f99755a37 write out the TREs to XML (#234)
b8c0cdf7a make a bunch of "getters" const (#233)
ee745cb88 Revert "Merge branch 'master' into main"
e49019378 Merge branch 'master' into main
050fcbc96 Fix assorted compiler warnings (#232)
6d77fb41e Fix assorted compiler warnings (#232)
11704d375 update "documentation" (#231)
cad5c02f9 update "documentation" (#231)
ae2c21c9b use our own str*_s() routines  (#230)
bb814d464 can't figure out how to use C11 (for strcpy_s()) on all platforms (#226)
0fb160719 Revert "merge "main" into "master" (#224)"
1c7aa6653 Merge branch 'main' of github.com:mdaus/nitro into main
0faaa0165 merge "main" into "master" (#224)
3031b6507 trying to fix compiler crash
9183dcb88 grab a few tweaks from develop/jdsmith (#223)
cc9956b2d develop/master -> main (#221)
1437badef Develop/main (#220)
c13a2e0d2 Merge branch 'master' into main
5579e74e8 update "master" with several changes from "develop" (#219)
5988bb529 don't build "macos"
ed0063048 coda-oss doesn't build "macos" so we don't either (#218)
903686414 update "main" with latest "develop" changes (#208)
c1ddf4cde Feature/update coda oss (#217)
d77737f5d update coda-oss (#216)
c5c602dd0 update coda-oss (#214)
033220f92 latest coda-oss from master-C++17 (#212)
7caacb941 copy some documentation from the old website; work-in-progress (#211)
0f0d05404 Feature/remove compiler warnings (#210)
9a609577c Feature/use standard c types (#209)
c83348fd3 ignore more build artifacts
3bb1ef02e Merge pull request #205 from mdaus/bugfix/Security-vulnerability-in-nitro
9757b5af5 fix a bunch of code-analysis warnings about using NULL pointers (mostly …
6b72b7c37 fix a bunch of code-analysis warnings about using NULL pointers (mostly benign as pointer won't actually be NULL)
22716b796 be sure local variables are initialized for all code paths
c0b7b38b9 no .vcxproj in this branch
40d66294a fix some build warnings
362b5492e build with VS2019 CMake support
496bfba71 Merge pull request #200 from mdaus/DisableComponents
8b375e6ae Make some parts of the nitro build optional for CMake
038069b2e Merge pull request #199 from mdaus/cmake-integration2
83efec019 Fix another Github Action runner issue.
c1624a252 Fix CMake issues for Github action runners.
9de7b7826 Clean up and document CMake build changes
8947c15b4 Merge branch 'master' into cmake-integration2
d05822e9c Merge pull request #198 from mdaus/sync-externals
34b538e15 Merge commit '1262718741583c73dbf27057a7c322ea1fac0fae' into sync-externals
126271874 Squashed 'externals/coda-oss/' changes from 312e46dc..67d6362b
6a1b1946c Remove some unneeded coda-oss files
86598e258 Disable some unused parts of coda-oss
a181098c5 Update Github Actions workflows for recent CMake changes.
48e620397 Update and refactor CMake and Conan build configurations
06be9b568 Fix Conan issues on Windows
b7a62f5f0 Refactor Conan configuration and add test_package.
9a7688da6 Add preliminary Conan support.
dfe87215d Refactor CMake build.
6732f92a0 Integrate with coda-oss CMake build.
800953f46 Merge commit 'df7acfb8e80f33d2f04d0ec8c4efbd8b2317826f'
df7acfb8e Squashed 'externals/coda-oss/' changes from e26a32d6..312e46dc
9a8f5fe13 Merge pull request #197 from mdaus/bug/badly_configured_windows_path
793555754 Escape backslahes in Windows path
445c1e260 Merge pull request #195 from mdaus/bug/des_memory_leak
2906a6384 Check in Python3 bindings
4293cc465 Formatting
aa3455aac Merge pull request #190 from mdaus/bug/failing_ctors
8c7b5c7fa Better error checking
c545a423f Merge pull request #191 from mdaus/missing_field_error_message
aead30a84 Include TRE field name in error message
32e8e23be Formatting
627c183d2 typo
cabca936d Simplify error handling
2d0bb8ab7 Formatting
7f8794c37 Merge pull request #187 from mdaus/bug/tre_numeric_overflow
251bde556 Merge pull request #183 from mdaus/tre_memory_leak
d1ab7ec53 Merge pull request #185 from mdaus/bug/set_binary_tre_field
67b50288e Handle too many decimals when setting float value for TRE field
d4776de1c Use error member
86528d669 Uncomment test
a4d1acc34 Allow setField to work with binary TRE fields
0e0b0dac0 Fix memory leak
d172d74a7 Merge pull request #181 from mdaus/sync_externals
7036b6307 Merge pull request #179 from mdaus/bug/silent_tre_error
0bb051ceb Squashed 'externals/coda-oss/' changes from 16bdc9c..e26a32d
d04dd53f9 Merge commit '0bb051ceb0c16e00bd766320676689c0437829e7' into sync_externals
9ef937b46 Throw if setting TRE field fails
8c0dca54e Formatting
5ed533018 Merge pull request #178 from mdaus/update_version
07ad946f5 Regenate python bindings
1a695a1db Remove useless setup.py
8875dc6d9 Update NITRO version
d2bf2fc26 Merge pull request #177 from mdaus/better_path_for_binary_release
e28ad0e28 strcpy -> strncpy
66ffd0ac8 Merge branch 'better_path_for_binary_release' of github.com:mdaus/nitro into better_path_for_binary_release
32376376e Formatting
202fb6562 Formatting
7aad17fec Formatting
88769f7cf Update README
1f026c23e Compiled-in NITF_PLUGIN_PATH will not help users of binary release. Remind them to set NITF_PLUGIN_PATH if they need to
83f8e8807 Merge pull request #176 from mdaus/fix_jenkins
365f859c6 Remove useless pp-macro wrappers
bb3746577 Check-in generated code from waf build to keep Jenkins happy until waf goes away
227dc9d07 Merge pull request #175 from mdaus/cmake_build
30c24d151 Get correct type for version
7baf850b7 Simplify handling of xml module
d95e1ef75 Pass waf install target in single command
dfed19154 Merge branch 'master' into cmake_build
a1db4f295 Update README with state of CMake build
215dc9112 Merge pull request #174 from mdaus/prevent_fd_leak
c6519629c Merge branch 'cmake_build' of https://github.com/mdaus/nitro into cmake_build
4c79a3ab0 Fix Windows build
23128ab89 Fix install command for MATLAB
57da17d65 Fix resource leak
a3294b993 Formatting
d7f40ddd0 Fix SWIG flags
465c4bef4 Formatting
d4cc2ac2e Fix building TREs
197ce0599 Resolve merge conflict
546e6226b Merge branch 'master' into cmake_build
5cd3dc82f Merge pull request #172 from mdaus/sync_externals
8aab47cfd Merge pull request #171 from mdaus/rsmida_tre_field
4a9ef40f6 Merge branch 'cmake_build' of https://github.com/mdaus/nitro into cmake_build
b89884a99 Squashed 'externals/coda-oss/' changes from 8995cd2c..16bdc9c5
7d7e05ce0 Merge commit 'b89884a99db23d0a69c465fbb2dd17d7dd173eb5' into sync_externals
5d81a5f40 Allow separate CODA home
c3caae773 Handle case where CMake can't find Python interpreter
ea3ebe3d4 Fix checking for Java
16362b5e3 Fix cgm-c target name
ae14a8d03 More consistent module names
83b06a79d Fix field name for Illum Azimuth Angle in RSMIDA
5e5cd7e8d Clean up handling coda modules and common logic
af5941558 Recurse into all directories
28841aa44 Add MATLAB layer
4678a5244 Add Java layer
c49b41c2b Add CMake for Python layer
16bf5ea98 Merge pull request #168 from mdaus/remove_uncovered_warning
ef75df708 Merge pull request #167 from mdaus/github_actions
0cdbfdf89 Add extension
ffc5d12f3 Add mac runner
b89e9584b Unused variable warning
01f3172ed Add job for every push
1e9c27035 Only archive for master
4ff35c18b Merge pull request #166 from mdaus/sync_externals
92f75549c Better name
6af9dbb76 Don't need ls
570071a23 Upload Windows install
77f6da166 Fix paths
232e3e441 Grab files from build dir
1f487b214 See why we can't tar the install dir
bca53e41d Fix CMake invocation
01e796e39 tar up release on linux
598b1d658 Parallelize build
784b96533 Add Linux build step
55ee37d8a Directory diagnostics
aae07e9e8 powershell doesn't like &&
38591d0cb Try CMake build
fa452e924 Merge branch 'sync_externals' into github_actions
6bda0a951 Try running on windows
1aaa96e33 Squashed 'externals/coda-oss/' changes from e3e70cf..8995cd2
d66c86041 Merge commit '1aaa96e33f5f20199e137b10fa3d6c6b763c3729' into sync_externals
77b70a102 Try just running on ubuntu
44dfe5b92 Typo
4a0738a47 Merge pull request #165 from mdaus/cmake_build
a0644de76 Add sample cpp workflow
6aac84c16 Merge branch 'cmake_build' of https://github.com/mdaus/nitro into cmake_build
f4766e959 Fix building TREs on Windows
735dd2f62 Update README
2ac410581 Make sure compiler actually supports C++11
ab3747fd2 Force building CODA-OSS before NRT so we can use the config header
7778989cc Just reuse the coda-oss config to avoid symbol redefinition
81f06cc51 NITF_DEFAULT_PLUGIN_PATH should be public
da784ab72 Dont generate config files in source tree
17ed9355f Fix Windows build
c7a30575f CMake build for c/c++ modules
5523c44cc Fix some warnings
583e7c9e5 Merge pull request #164 from mdaus/sync_externals
d2d1dadb4 Merge commit 'd2cdf6d3d6384b12df6b00bb13160b459fb65433' into sync_externals
d2cdf6d3d Squashed 'externals/coda-oss/' changes from d5dafc3..e3e70cf
89e4f43e9 Merge pull request #163 from mdaus/default_nitf_plugin_path
e8ffab774 Use compiled-in NITF_PLUGIN_PATH if environment variable not set
77a2c2b66 Format PluginRegistry.c
c0d9939a8 Merge pull request #162 from mdaus/jenkins_script
9f91a90b9 style
c4cae2f3d More comments; remove debugging code
c99cbc8fa Merge pull request #161 from mdaus/fix_subheader_length_checks
0be2452eb Add dbugging
f0b8a3070 Compare against regression files
1ba3d7914 Add script for Jenkins regression test
9b1cd6e3a Exclude DE segment from SE subheader size calculation
3bce1fb8f Merge pull request #160 from mdaus/revert_copy_constructor
ba2d1b655 Revert "Merge pull request #159 from mdaus/band_info_copy"
f2ee1678c Merge pull request #159 from mdaus/band_info_copy
9b57e5884 Don't need to adhere to archaic C90 rules in C++ layer
8215881b7 Proper copy semantics for C++ BandInfo
3f51d12e5 Merge pull request #157 from mdaus/size_checks
a34f45fae More consistent naming
f1fe28a4b Add sanity checks against garbage length values when reading
29fe312c9 Merge pull request #156 from mdaus/sync_externals
5a0b89344 Update checked-in Python bindings to use Python3
21b1bae09 Update CODA-OSS
94a0dd68c Merge pull request #155 from mdaus/check_nitf_from_stream
07cf5f7ab Add overload to get NITF version from an IOInterface
8e598b29c Merge pull request #152 from mdaus/sync_externals
db2bd216f Replace header
5049aeb61 Squashed 'externals/coda-oss/' changes from 0efc30c..d5dafc3
8c2393060 Merge commit '5049aeb61891a8297c756b27841e2f227fe961f7' into sync_externals
690346165 Merge pull request #151 from mdaus/sync_externals
91e7d1ae2 Squashed 'externals/coda-oss/' changes from 4995c9e..0efc30c
7360c647c Merge commit '91e7d1ae2034a182b88c3700fe83a1e4e6cf1f7d' into sync_externals
abe6ee5fe Merge pull request #150 from mdaus/remove_test_warnings
c7d92fa82 Remove warnings
64fa9722e Merge pull request #149 from mdaus/shared_build_fix
e8abef5d2 Merge pull request #148 from mdaus/sync_externals
8575413be Build CGM
f266587bf Cleanup
d248ef3be Add VS dirs to gitignore
75022cb9b Cleanup
a6f5d69c6 Cleanup
d30fb8af0 Fix indentation
346236c8d Merge commit '24048fe232bca15801857cf5a2de1f703155cf77' into sync_externals
24048fe23 Squashed 'externals/coda-oss/' changes from eee482d..4995c9e
8e05b6456 Add jpeg shared library
7c87020d1 Build DLL for j2k
ff1462a14 Merge pull request #147 from mdaus/sync_externals
373cbaf9b Squashed 'externals/coda-oss/' changes from 7e0a53e..eee482d
218e8773f Merge commit '373cbaf9b839f6d7c1bcda12c299bfbbf8e400c0' into sync_externals
a863cf0eb Merge pull request #146 from mdaus/fix_multiband_nitfs
09da5615c Clean up tests
bee1c810e Fix copy/paste bug; add test for 16bpp data
04afc7df0 Merge pull request #145 from mdaus/fix_multiband_nitfs
de2a8b2ba Strip trailing whitespace
e4d655e2f Cleanup
1f646f6e1 Enforce band order
c9d7b873e Old C limitations
ffdf6eda7 More failing test cases
7d3839796 Make fewer assumptions about bandlist order
bbaadc5b8 Finish fixing Multiband P read
d19069f9b Quick workaround for testing
cb7091ec4 Fix test; add failing test for buggy case
614c607de Fix formatting and tests
eab11faeb Merge branch 'fix_multiband_nitfs' of https://github.com/mdaus/nitro into fix_multiband_nitfs
263824f39 Draft failing test and regression test
c4f861d5a Misc cleanups
69aab7b3e Merge pull request #143 from mdaus/fix_multiband_nitfs
9eff3a157 Regenerate Python bindings; rename test with name conflict
5382800b7 Disallow direct block write for multiband images
bbd316f44 Handle unexpected block size
4d1560543 Merge pull request #142 from mdaus/sync_externals
b9fb90dca Squashed 'externals/coda-oss/' changes from dbabd95d..7e0a53e4
253b03601 Merge commit 'b9fb90dcae51d25cd6cb0b3ec7f9cf514d09da8f' into sync_externals
a9a86b199 Merge pull request #138 from mdaus/sync_externals
18fc2b814 Squashed 'externals/coda-oss/' changes from 163168f..dbabd95
50a541f79 Merge commit '18fc2b8147553d0fbf899faa79739242132bde4d' into sync_externals
251690808 Merge pull request #137 from mdaus/faster_field_modification
ee142aaaa Fix formatting
4de6cd570 Fix copyright date
46177d3ef Only populate fields as needed
319380a4a Merge pull request #136 from mdaus/ExceptionSpecRemoval
76f4c1c98 Remove exception specifications.
7ddc27bfb Merge pull request #135 from mdaus/buffer_adapter_bug
7c4f902e7 Fix BufferAdapter_getSize
c4d72a594 Merge pull request #134 from mdaus/buffer_adapter_bug
d655f07cb Don't cast memcpy args
4749d2cd7 Fail reading past EOF
05096c1e7 Add copyright banner
3d2ea8064 Remove trailing newlines
1d46c77b5 Add test for writing
b1b58fc06 Update BufferAdapter to seek past EOF like Unix and Windows interface
d914c9a79 Merge pull request #133 from mdaus/ImageIO_memory_issues
9cb48e8f4 Remove memset
728f9755b initialize bPixelOpen buffer to NULL
4044c3d9b Fix style issues
dd98d39cd Fix memory issues in ImageIO.c
ba7e95e21 Merge pull request #131 from mdaus/sync_externals
e6909024b Merge commit 'c5f38cf8bca8283e43da93f723ad8c33e3bc8b0b' into sync_externals
c5f38cf8b Squashed 'externals/coda-oss/' changes from c5cf45e..163168f
9bb244b06 Merge pull request #129 from mdaus/mstgta_typo
7646a64bf Fix typo is MSTGTA.C
be04d0db8 Merge pull request #126 from mdaus/msvc_upper_bound_bug
b045be4e1 Remove incorrect version check
122e14685 Merge pull request #125 from gpotts/master
d699d5738 Changed Int32 to Uint32 and also removed the double memset to '\0'
b5657f70e The totalBlocksWriten was placed in the wrong structure and the tests were just by chance passing.  Moved to the segment so it is global for the segment and then updated the tests to do a worst possible case.
d0b991a5d Merge branch 'master' of https://github.com/mdaus/nitro
72f381baf Merge pull request #124 from mdaus/sync_externals
89e012e7a Merge commit '0cf0612477125a58a3859035edc23067a2ad5e31' into sync_externals
0cf061247 Squashed 'externals/coda-oss/' changes from 02edcc6..c5cf45e
738e51dc0 Merge pull request #123 from mdaus/sync_externals
b0797dcf9 Squashed 'externals/coda-oss/' changes from f7c6d83..02edcc6
adc277a15 Merge commit 'b0797dcf9767c5289083ca273e1b3f6f21816fd5' into sync_externals
413bd833e Merge branch 'master' of github.com:mdaus/nitro
245b41e58 Merge pull request #120 from gpotts/master
a8d75ee15 Merge branch 'master' of github.com:mdaus/nitro
25a46b2f7 Merge pull request #121 from mdaus/add_test_runner
27d6c961c Merge branch 'master' of github.com:mdaus/nitro
a92b350f7 Moved * to the type
b54b7ef01 Fixed another type
c984218e8 All references pushed to left.   Also removed unused code and coments
00490096f Merge branch 'master' into add_test_runner
788fbbff8 Remove externals changes
859a4edbb Removed unused variable
7b8009b81 Merge pull request #122 from mdaus/sync_externals
8a6ffba80 Added a close for the input_io
02a323810 Added c++ implementation also removed the auto from the loop and used the iterator directly
94b3fd92d Making code review fixes.  Added constant where needed and made variable types consistant, ... etc
45bcee146 Squashed 'externals/coda-oss/' changes from e570202..f7c6d83
86e1be23e Merge commit '45bcee146d2eadb146c69620b65431c79a99f1b5' into sync_externals
78dcaedc4 Made code review modifications
476fecad1 Initial commit of unit test
f3366e080 Add test runner
0e8c6135d Added a check to see if we are on the last block and see if any block is written.  If not we need to handle the empty segment where all blocks are blank.
ac7b839ce Merge pull request #119 from mdaus/move_version_up
e34890282 Move version up a level to fix how it works with other libraries
8bbd8a370 Merge pull request #117 from mdaus/msvc_version_upper_bound
0d1ec3e6b Add upper bound for compiler bug version check
e48d85a80 Merge pull request #116 from mdaus/installer
84027eb85 Update installer script
bf9fc4d88 Merge pull request #115 from mdaus/updateVersionScript
b9a606060 Update updateVersion script
6d837fcee Merge pull request #114 from mdaus/updateVersion
b17c1d51a update nitf/shared/wscript
3d0139a4b Update version to 2.8
d564f0198 Merge pull request #111 from mdaus/msvc_better_workaround
c4f0514aa Disable buggy optimizations
6f6e3dea0 Revert "Work around MSVC bug"
9731f1c57 Revert "Cleanup"
5d965f323 Merge pull request #110 from mdaus/j2k_static_link
414368458 Enabling J2K compressor/decompressor plugins to be linked statically
09001cb51 Adding macros for decompression
48eb848f8 Merge pull request #109 from mdaus/skip_empty_buffer
f02cf8056 No reason to add an empty buffer
3b9abd24e Merge pull request #108 from mdaus/infer_max_num_rows_per_segment
aad7aa285 Setting maxRowsPerSegment is problematic - should be inferring it
61ebb74a5 Squashed 'externals/coda-oss/' changes from a78b22c..e570202
943be4b68 Merge commit '61ebb74a5ff3a591dccd0ac6d002bd628509e84c'
dbb158aa6 Merge pull request #106 from mdaus/fix_get_size_impl
eb4b52109 Reverting change to length calculation... the old way was correct.  There was a bug in IOStreamReader::getSizeImpl()
d21a837c5 Fixed bug in how IOStreamReader reports its size
e03d21f1a Merge pull request #105 from mdaus/byte_provider_update
9f7dbbaa4 Merge pull request #104 from mdaus/add_blocking_overloading
ddc98729e A single buffer can be added
edee5c2d7 Removing unused function
c194e5307 Adding static block() method that performs a single block operation
eb4390829 Merge pull request #103 from mdaus/fix_openjpeg_reader
caaa58f4b Fixed bug in J2K reader that was subtracting off an offset resulting in OpenJPEG thinking the last tile was incomplete
d14c1a1a0 Merge pull request #102 from mdaus/msvc_bug
062968843 Cleanup
5db2e51fd Work around MSVC bug
047aea308 Merge pull request #101 from mdaus/bugfix/multiple-des-buffers-in-bytestream
eb0497031 ByteProvider interface already supports writing multiple DES buffers. Unfortunately, the subheader length is not correct because the ByteStream it uses to tally buffer size continues to increment.
ed27b4652 Merge pull request #100 from mdaus/fieldErrorMessage
f1d41f065 Make message more useful for common error scenario
93e9d1a57 Merge pull request #97 from mdaus/larger_type
5a85881bb Include proper headers
312e676f8 Better overflow handling
7d1044511 Python should be able to read NITF with size_t bytes
c7fb89f58 Merge pull request #95 from mdaus/add_helper_method
2bbbbcb43 Adding convenience method
55aa2595a Merge pull request #94 from mdaus/sync_externals
945288d7a Squashed 'externals/coda-oss/' changes from 0630826..a78b22c
cc658b9e6 Merge commit '945288d7ade1b4b8666efaa3056e0bb1c18e89e4' into sync_externals
365ccc712 Merge pull request #93 from mdaus/sync_externals
124a3c4d8 Squashed 'externals/coda-oss/' changes from 8499ef8..0630826
e52808265 Merge commit '124a3c4d82e5950f37837802633ae26304319345' into sync_externals
39ff4cf55 Merge pull request #92 from mdaus/sync_externals
a4c22ea64 Squashed 'externals/coda-oss/' changes from 026c665..8499ef8
910785d38 Merge commit 'a4c22ea646a2234bd26c8a97b5f3b8ff4326aba0' into sync_externals
8d40e3f10 Merge pull request #91 from mdaus/nitf-segment-block-size
4cc661019 Adding comments
73305edc7 Make nitf image segments force to a block size number of rows
3b4e96d51 Merge pull request #90 from mdaus/compressedDEScheck
f83748478 Correct check for DES addition
23fe60baf Merge pull request #88 from mdaus/byte_provider_bugs
830b39e73 Add method for finding segment from block
069672706 Remove commented code
5b1cb1849 Add const
68fee31cb Add pad rows back in
345fe2b75 Merge pull request #89 from mdaus/fixWscript
2923a4299 Fix bug in wscript
0314391e7 Fix bugs in ByteProvider and j2k wscript
351dfdec4 Merge pull request #87 from mdaus/fix_blocker_check
d778aa255 Add check for no rows
6b1d67d30 Merge pull request #85 from mdaus/addCompressedByteProvider
11be6c242 Update comments and metadata
f22f89b33 Fix comments and test
ac66cbac8 Add writing test sample
4f9f9d7e6 Copy over unittests
c7620ca58 Add compressedByteProvider
5d0f61da1 Merge pull request #84 from mdaus/sync_externals
21cb254e4 Merge CODA-OSS, get J2K to build, update SWIG
6bd6adee7 Squashed 'externals/coda-oss/' changes from 9063b5f..026c665
85eb614d8 Merge commit '6bd6adee79a3ba9f847e5f41b27a0061df1273db' into sync_externals
0cefba6d7 Merge pull request #82 from mdaus/sync_externals
ed35c27b5 Squashed 'externals/coda-oss/' changes from 43cd38f..9063b5f
52b9b9c9b Merge commit 'ed35c27b56a86965cb71fd65779d11102b197937' into sync_externals
5f2ef1a2b Merge pull request #81 from mdaus/sync_externals
37ffb4e86 Merge commit 'b3b00587ddd09fc6a9749b2029661e46e9f4f0de' into sync_externals
b3b00587d Squashed 'externals/coda-oss/' changes from 3ac2993..43cd38f
d6f0d0c33 Merge pull request #80 from mdaus/sync_externals
ba346af35 Squashed 'externals/coda-oss/' changes from 3a5d8bb..3ac2993
cfdfac1ee Merge commit 'ba346af3524663e15ee93fa1437aa5570747ced3' into sync_externals
43bcaad3d Merge pull request #79 from mdaus/added-include-guard
d6f16d006 Added include guard
148851bd1 Merge pull request #78 from mdaus/merge-2018-03-21
f8cc2f231 Squashed 'externals/coda-oss/' changes from ced15b8..3a5d8bb
7f44a614e Merge commit 'f8cc2f231f7e647bceeb04513b2b3dde294ad5ca'
b7e2273b5 Merge pull request #77 from mdaus/memoryIssues
1a8a3f673 Fix comments
01281e8b3 Fix some memory errors that happen during cleanup
bb4d71ff7 Merge pull request #76 from mdaus/generalize_byte_provider
59ad6167d Adding generalized ByteProvider
bf6124306 Merge pull request #75 from mdaus/checkCompressionHandler
e138c3bfe Fix comments
7f70a6d7f Add check for compression/decompression handlers
8413ff689 Merge pull request #74 from mdaus/byte_provider
c51ab40c6 Moving functionality from SIX into NITRO to support getting raw bytes easily
827cb146b Merge pull request #73 from mdaus/addCompressionHandler
5de11795b Fix error message
568eec942 Doxygen
51a40144f Add handler for static compression plugin
8f8268a30 Merge pull request #69 from mdaus/add_image_blocker
411f697f4 Removing todo
a1c6e28ed Adding ImageBlocker
0180a0b90 Merge pull request #68 from mdaus/jpegDecompressorFix
823f2b3cc modules/c/jpeg/source/LibjpegDecompress.c
7dcc7d7f6 Properly initialize JPEG decompression control
6075d27a8 Merge commit 'e09d081bb9b01ffb38d607bcd1895ccf66cb47b1'
e09d081bb Squashed 'externals/coda-oss/' changes from ead59a7..ced15b8
46608ad54 Merge commit 'e190ac7911d7cf799d62da15cb8aeb560de9de0c'
e190ac791 Squashed 'externals/coda-oss/' changes from c323a80..ead59a7
534641317 Merge commit 'f9a2697551fefedd798700a644d296ebcbdb4eef'
f9a269755 Squashed 'externals/coda-oss/' changes from cab618a..c323a80
5f5a8a199 Merge pull request #63 from mdaus/sync_1128
d670637fb Updating with InputStream API changes and fixing warnings
c0fe5b683 Squashed 'externals/coda-oss/' changes from a4c9552..cab618a
3d8b3fabd Merge commit 'c0fe5b683f341c60f153881ee4c0d0792ceec069' into sync_1128
05df4678c Merge pull request #61 from s-martin/master
3307d790e fixed missing toString
09a1be208 Correctly declare variables
9e212fead Merge pull request #60 from mdaus/nrt-datetime-declarations
b02f2adcc place variable declarations at top of scope
590776bae Merge pull request #58 from mdaus/doxygenFix
d687d88c3 Fix params in BandSource Doxygen
c398336c1 Merge pull request #57 from mdaus/nrtUtilsBugs
fe5e8dafc Test more edges
c9cbb7f6d Fix bugs in utilities for manipulating coordinates
d833ee31b Merge pull request #56 from mdaus/nrtUtilsMessage
7c8653823 Add more detail to exception message
dc487c4b0 Fix error message for invalid direction
85aa0655e Removing old copying files since we have a LICENSE file now
8a6fc23e5 Create LICENSE
cf7a3492c Merge pull request #53 from mdaus/datetime-dayofyear-parsing
0b631a998 simplify setMonthInfoFromDayOfYear logic
3879a4ec1 use NRT_TRUE and NRT_FALSE instead of 0 and 1
71e6e384f missing word
dbcab7245 clean up
dfea090ad clean up
253039ccb Use NRT_BOOL instead of int
c0298e17a remove tm based offsets in setMonthInfoFromDayOfYear
1c31e6ac5 clean up
6e4ce06c6 add ability to parse day of year and infer month and day of month to DateTime
af0dc0425 Merge pull request #52 from mdaus/segmentation_logic
ad9c3ff60 Moving image segment logic from SIX into NITRO
228db3389 Merge pull request #51 from mdaus/fix_offset
f7e97e50a Fixed bug in bufferSize calculation due to misplacing a parenthesis
4a7a8bfe6 Merge pull request #50 from mdaus/fix_buffered_reader
b10751992 Using the sys::File enum values
c3ce72967 Fixed a bug in bookkeeping on buffer size - need to keep track of both a max and a current value.  Also optimized seekImpl() to not do another read if the spot we want to seek to is already in memory.
1293652c1 Merge pull request #49 from mdaus/updateSwig
b5b8c1df7 Update SWIG-generated code to 3.0.12
9a47ed2e3 Merge pull request #48 from mdaus/const_iterator_fix
fc5476255 Make const_reverse_iterator work on Solaris
8eb8bcea5 Merge pull request #47 from mdaus/stripUtility
f215229c5 Fix typo; better type
2a30b3aae Update to use new addWriteHandlers() method
443a0d286 cout -> cerr where appropriate
40102c821 Add program to strip out segments that aren't displayed
6d1e1b3e1 Merge pull request #46 from mdaus/showNitfFormatting
68e1d4fb8 Insert a space between the number of bytes and the word 'bytes'
36172d3bb Merge pull request #45 from mdaus/geoUtilsFix
26996f6c6 Update doxygen
3ba90d8e4 Style fixes
89b1c81d5 Check for failed malloc
e2c521335 More documentation for parseDecimalString
e956109f3 Add const to char* where applicable
860916a22 Fix documentation and logic for decimalToGeographic
4daa833e8 Update documentation and change char* to const char*
b69de1646 Change DMS convention to make first nonzero value be sign
863ae2acc Fix unused parameters
25f359508 Simply handling W/S DMS; fix bug with 0 degrees
a5150d1eb Merge pull request #43 from mdaus/add_output_stream_adapter
5fb719303 Fixing line endings
8705d673b Adding convenience method to set the complexity level in the Record
fa01d24e7 Fixed some typos
502e65ca4 Adding OutputStream adapter class
b9ac25fa5 Merge pull request #41 from bradh/ccinfa
458a0d671 Initial commit for CCINFA TRE.
2eea35c64 Merge pull request #38 from mdaus/template_field_operator
8631fa1b8 Adding size_t cast tests too
e53072f34 Explicit specializations need to be at namespace scope
fb72c8957 Rather than having overloadings for the cast operator, implement this as a templated type.  This should let picky compilers perform some additional casts automatically for us now too (like uint64_t vs. size_t... for some compilers, this is the same type, but for others it's not)
ee16abbba Added conversions for 1 byte integers
c9dfbada5 Merge pull request #37 from mdaus/windows_gcc
afeba21be Merge branch 'master' into windows_gcc
73f5b0b89 Squashed 'externals/coda-oss/' changes from 2645b4f..a4c9552
eb245cf73 Merge commit '73f5b0b894776e45900d6f83af0fbcd45e69c329'
021e1e0a9 The keyword 'interface' is reserved on Windows... for some reason VS doesn't mind but gcc on Windows does
c8eef0f86 Need the GNU NRT_INT64 macro when we're building with gcc on Windows
3fc1b27eb Merge commit '53c3e977d5476ac9cb10f5bd3d0c7e29f7c29ad6' into windows_gcc
53c3e977d Squashed 'externals/coda-oss/' changes from 2645b4f..a4c9552
c73ffd6ff Merge pull request #35 from mdaus/fix_uint64_offset_bug
83ab81888 Added const to fix a compiler warning
bdf0dc1b6 Fixed subtle bug in handling of 64-bit offsets... previously, if we tried to read in with an initila offset > 4 GB into an image segment, this did not work properly because it was treated as a 32-bit number in one of the calculations.  Also added a few compiler warnings.
77fbcc1f1 Squashed 'externals/coda-oss/' changes from ba5cb1d..2645b4f
60c8b6758 Merge commit '77fbcc1f15a1f039e8d9b5b668d0e93816524c0b'
82884746d Merge pull request #34 from mdaus/inlineFix
47e6932b6 Make switch apply only to inline
0d9f454fe Add clarifying comment
c6fd10bbd Use __inline instead of inline on Windows to deal with how VS deals with C code
439c03423 Don't need PCRE for NITRO
e6f977946 Merge commit 'abbf6bb6a623d4ba5f5145c45e5166ab5953fd52'
abbf6bb6a Squashed 'externals/coda-oss/' changes from 821312e..ba5cb1d
5413fb99c Merge pull request #28 from mdaus/typoSwap
e71613a51 Inline swap function
e730c6e40 Merge pull request #31 from mdaus/solarisFix
1fa194127 Fix line endings
9742f0e5d Merge pull request #30 from mdaus/investigateCompression
96839ad66 Merge in master
ee5ded5e0 Style fixes
41194e6b5 Handle 8-byte case; add helper function
85901def5 Merge pull request #29 from mdaus/whitespace
e4e4cf8e4 Do not do anything with blocking when compressing images with blocking mode P
815e28d57 Add byteSwap method
26dd44521 Revert change from different issue.
0b9ba0705 Remove more trailing whitespace
9964db2c4 Mass removal of trailing whitespace
dae3a0a43 Unpack padCodeLength in correct order
cd918392a Revert "Unpack padCodeLength in correct order"
fb949d433 Unpack padCodeLength in correct order
fce5fe447 Fix typos and attempt test
541d50a3b Merge pull request #27 from mdaus/fixBigEndianByteSwap
c6aed55c9 Remove bad byte swap and fix comment typos
2cbf08790 Merge pull request #26 from mdaus/io-stream-reader
0b388861e Added IOStreamReader to imports
ff553601a Added IO stream reader
bee4d4cb1 Merge pull request #25 from mdaus/addNumpyCheck
f898f7eb7 Remove unused import
cd9363953 Fix how wscript looks for numpy
b1821d4b5 Disable Python bindings if numpy is not loaded
fe5317e5e Merge pull request #24 from mdaus/adding-banners
3191a5967 Added banners
84a6deab3 Merge pull request #23 from tclarke/master
73b2ff159 Changed C cast to C++ static_cast
00876524b Fix ambiguous cast on clang.
143b5a7b1 Merge pull request #21 from mdaus/windowsFix
932587659 Add cast
bf5dd53c3 Fix placement of preprocessor statements
f415279a4 Fix types for Windows HANDLE
1069ab16a Fix space
eae3d8c3a Remove extra file
7a394738a Fix tests on Windows
b55ce7d46 More playing with typemaps
9c8cf4390 Try an in typemap
f671dbbc7 Try an out typemap
957852668 Add typemap
00e010173 More wscript tweaking
a6cbbe95e Add numpyutiles to non-swig wscript poriton
7af77d569 Try generated c files
2acdb5660 Merge pull request #19 from mdaus/dualCompatability
579137b62 Remove commented code
6e1fa7b13 Achieve basic Python3 compatabiliy
8920a0b3b Merge pull request #18 from mdaus/support_seeking_write
5540183e6 Exposing C functions for writing out pieces of a NITF in the C++ layer
2a7ce275c Exposing some of the previously private functions for a Writer in the header so someone could write out parts of a NITF directly themselves
f3e5260c5 Make python bindings compile with C++
a7e67867d Merge branch 'master' into dualCompatability to get new numpyutils
d63e4b2db Make importing numpyutils work
494d5c0f9 Merge pull request #17 from mdaus/fix_swig_bindings
9a93bab32 Updating Swig bindings with Swig 3.x
12b2656cd Merge pull request #16 from tclarke/python_fixes
7466daabc Add raw field access and setField to python TRE interface
386914ba0 Merge pull request #14 from mdaus/remove_includes
cadb29006 Need to remove adding include directory to TRE targets... otherwise waf msvs gets confused (the directories that build.py automatically adds on don't exist
86838355b Merge pull request #13 from mdaus/support_static_tres
1634d7a06 Added treHandlerExists()
517c14c4a Added nitf_PluginRegistry_TREHandlerExists() function to test if a TRE handler exists.  Various cleanup on debug logging support.
9ddcd493b Minor style stuff - catch exception by const ref, catch ..., put macro in unnamed namespace
ae376973d Building test_static_plugin.cpp when static TRE support is turned on
697def4b8 Resurrecting support for static TRE linkage.  Now adding a configure option for this so it doesn't happen by default.  Also, each TRE is compiled into its own library with its own target rather than there being one library that has all of them
ff008dd2b Sending options() and configure() down a level.  Removing now unneeded convenience targets for the tests.  test_static_plugin.c doesn't actually exist so removing from TEST_FILTER
7fadf94f0 Updating maintainer email address
eee8c88c2 Commenting out variable name to avoid Windows warnings about unused variable
00838ee07 Updating static TRE macro based on TRE API change
e30e59b4a Merge commit 'c2cfdfa1e051f75857d7d9014f99d2e7cd098116'
c2cfdfa1e Squashed 'externals/coda-oss/' changes from da6141c..821312e
225ead1e1 Merge commit 'eca06504e370f2542b63d9b187cec7d97d261423'
eca06504e Squashed 'externals/coda-oss/' changes from 070dda5..da6141c
50750b906 Merge pull request #12 from mdaus/segmentErrorHandling
cffabde62 Catch segfault if SegmentWriter does not have a SegmentSource attached
bdd5f1546 Merge pull request #10 from mdaus/replace_company_name
e3a487d8d Replacing GD copyright with MDA
b2b133315 Update tests to Python3
d4f03a24f Update print and raise statements in __init__.py
238b84317 Squashed 'externals/coda-oss/' changes from 0f8115c..070dda5
779c1e87b Merge commit '238b8431779b4e0aa256e4378e05cacc42064c07'
56acaa4aa Merge commit '3bacfb5de4860f9fa5655a5eeac3f39ece31b0b3'
3bacfb5de Squashed 'externals/coda-oss/' changes from b6d55dd..0f8115c
410f053f6 Merge pull request #8 from mdaus/copyright
bb6903876 Remove debugging line
df6dbbaa1 Update copyright header to MDA info
1fd475fd3 Merge pull request #7 from mdaus/nitropyFixes
57a090dd8 Remove useless, cryptic error message
2b55bde0d Fix IOHandle.write() in nitropy. Write more tests
c7c4c8e87 Fix constructor and destructor of MemorySegmentSource
392e7994a Remove debug print statement
f5c74e910 Write to file with numpy array instead of string
2d862acbe Fix bandcounting in nitro.i
4a9b58844 Fix discrepancy in band count
104e75213 Prevent segfault when nbpp changes
712577697 Merge pull request #6 from mdaus/bandsource-variable-order
4d85ad137 Moved the variable declarations to the top of functions
022f0bac0 Merge pull request #5 from mdaus/fix_j2k_header_install
8266f6160 j2k_config.h was getting installed via copyfile rather than the clean way to do it by making it its own target... this meant it just straight up tried to copy itself to the installation directory, even during the build step.  Not cool.
9448119fc Squashed 'externals/coda-oss/' changes from 446809f..b6d55dd
f9d46f3f7 Merge commit '9448119fc0e79948966731e6ccc39459ad2aa666'
c6a7f5a13 Merge pull request #4 from mdaus/warnings
86025e984 Fixed whitespace
826f5153e Fix indentation.
33e47d9a5 Fix compilation errors
d1b40551b BandSource.c: Fix indentation, variable names
5d60469d9 Remove formal parameter warnings from BandSource.c
a8fee3662 Squashed 'externals/coda-oss/' changes from 93b6be6..446809f
83ad28c87 Merge commit 'a8fee36621cdf8a9b435f49961951957ead41e4b'
3f9dc2a14 Squashed 'externals/coda-oss/' changes from 6577104..93b6be6
a5225294a Merge commit '3f9dc2a14529a1d0bb3ba73158d01bddbc3bec29'
cb7da3b61 Squashed 'externals/coda-oss/' changes from 47c416f..6577104
357e9ed84 Merge commit 'cb7da3b61a0dd00e87c87abe4cd35634fb9b4b2c'
606e5f086 Correcting sprinf()-style formatting for unsigned integer in error messages... was leading to garbage being printed previously
eddf8b596 Merge commit '12be28aa5b0fef668e189bc1ae3b23ecc3393a88'
12be28aa5 Squashed 'externals/coda-oss/' changes from fb34fe8..47c416f
d79e28f43 Merge commit '39d16bac68a64e9b2fafce11fca86d4e1a034355'
39d16bac6 Squashed 'externals/coda-oss/' changes from 66a39a7..fb34fe8
1cd19826c Merge commit '7f334d286e91d82043b68e5fa95bcf6040fbad53'
7f334d286 Squashed 'externals/coda-oss/' changes from 1335087..66a39a7
f1f1ecc5a Merge commit '0548865e39c60e6faed01be7c9992ca4580f895c'
0548865e3 Squashed 'externals/coda-oss/' changes from 00439a0..1335087
0e33f967e Merge pull request #3 from mdaus/warningFix
34fb875f6 Added a space to a file to prevent a warning when compiled with c++ 11
b45222832 Merge commit '0638f7b7e498502a10ac408496de8137fe9e16bf'
0638f7b7e Squashed 'externals/coda-oss/' changes from a12bbff..00439a0
105bbff87 Using launch_dir() to just add in all the targets rather than needing to list them all
e5e8c357a Generating Python bindings with latest Swig
d2f6ab84e Squashed 'externals/coda-oss/' changes from be445dd..a12bbff
034e03adf Merge commit 'd2f6ab84e350377eec7eef2076c952eabb61f6d8'
9817e3aeb Merge pull request #2 from porglezomp/master
072e4dd0b Add gitignore
330834cd4 Squashed 'externals/coda-oss/' changes from d372600..be445dd
1f5e7d5be Merge commit '330834cd411203237c5ae81e863efa0c81ec08c8'
92a7f3ce1 Adding some more info about dealing with conflicts
52cbdfa97 Merge commit 'b99e2d58eb87d6e890caa3060c0439ee8fc42dfa'
b99e2d58e Squashed 'externals/coda-oss/' changes from 24ac763..d372600
906a355e7 Recurse down whichever directories are present
33d61b0c5 Temporarily renaming directory so waf list works.  Need to fix this to actually build this target anyway.
d73131e7c Should have a HAVE_MATLAB check around everything in order for waf list to work properly... otherwise it'll fail trying to find the Matlab targets when we don't have Matlab
9a3283483 Updating wscripts to add various convenience targets for the tests.  Then updating top-level wscript to only build the targets that are needed
38b6103c1 Updating script with how to remove unwanted externals.  Getting rid of old unneeded Makefiles
ecfdcb26a Removing unneeded externals via 'git rm -r'
543683bec Reorganizing directory structure to make it easier to use in other repos
be02d6b6b Syncing up with coda-oss reorganization
f4f5356e7 Squashed 'externals/coda-oss/' changes from 48c8888..24ac763
66454ce46 Merge commit 'f4f5356e7085353eb85ef648f7b67cc4a139b7d7'
6c5dabadb Fixed coda-oss location
d083ece96 Squashed 'externals/coda-oss/' changes from 67630c6..48c8888
b21d8af45 Merge commit 'd083ece96e66c9ebc4d652f7e95124eb42418c65'
040e969da Added script for syncing externals
46a9abdef Fixing wscripts with new externals structure
2153a485b Using subtree merge to pull in CODA-OSS
dd6a26c96 Squashed 'externals/coda-oss/' content from commit 67630c6
bf8076897 Merge commit 'dd6a26c969dd6580cb0200bfa7697d39250a6e8e' as 'externals/coda-oss'
39d5856da Qt is lame and uses a foreach macro which conflicts with the HashTable::foreach() method, so renaming to forEach() to sidestep it
08eda08bb Fixed a bug introduced when NUMPRJ was updated to NUM_PRJ... the NITF_LOOP needs to also use NUM_PRJ to take this field into account.
404ef684c Moved some functionality to build.py.  #447
8d5c555cc Cleaned up warnings in BufferedReader.
6cc2386a2 Added a BufferedReader similar to BufferedWriter.
08c52905a Adding comments for various getter/setter methods.  Adding constructor that allows direct construction from specified year, month, and day.
a2fe6cceb Added comments describing date format
05d96d0f7 Updating copyright banner to MDA
668a19a00 Previously Java binding for nitf_Extensions_getTREsByName() crashed when the TRE was not found as it didn't check if the returned list was NULL.  Added in this check and marked the method as potentially throwing an exception.
3484657bc Removing unused variables
97d234594 Fixed a shortcoming in how NRT_MAX_PATH was defined that could result in mismatches and seg faults if someone included sys/param.h before nrt/Types.h due to MAXPATHLEN being defined by sys/param.h.  #405.
8abe1f8ac Removed define OPJ_STATIC from j2k wscript to stop redefinition…
JDanielSmith pushed a commit that referenced this pull request Jan 22, 2024
* fix build error due to header file rearrangment

* simplify special routine for unit-testing

* don't need "static" utility routines anymore

* no reason not to allow move for ComplexToAMP8IPHS8I

* Squashed commit of the following:

commit 67d0bc78b1a93d02fc496ec755fc794060ab5bb5
Merge: 42f479813 a2cb168ce
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:57 2023 -0400

    Merge branch 'develop/complex_short' of github.com:ngageoint/six-library into develop/complex_short

commit 42f479813d7b2d431753028cab5ff5c4874bb62c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:37:43 2023 -0400

    Parameter::operator==() must a member function for existing SWIG bindings

commit a2cb168cebbf0b89348d106be8a878fb6746f155
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Fri Jun 16 10:32:22 2023 -0400

    renames from CODA-OSS

commit 68d184a89f899a709c6c7e54f858e4a8a4ed2955
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:15:28 2023 -0400

    figure out ComplexInteger in SIX rather than CODA-OSS

commit 802087c892ecc653c0cd0086ec888d622c9192f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 10:01:05 2023 -0400

    separate .H file for complex

commit 4d24ae394a290e21f074614ee95f46a182c43e33
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:54:05 2023 -0400

    remove unneeded #include of types/Complex.h

commit e021d71c2d25641afbfe7d6741f60b2c745bd12d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:49:48 2023 -0400

    zinteger -> ComplexInteger

commit 91599f83e4a8d1e3e8fe77d54bca4cb6f85ea692
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Jun 16 09:38:53 2023 -0400

    complex.h -> Complex.h from CODA-OSS

commit b3653cc75b07fb0415e2a18303058e57c31718b8
Merge: 786223e8c 6e34e8717
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:11:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 786223e8c0ebc05ca46e7c55eac8a26678ff2bff
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 16:04:31 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit f143d3a53c4cdce580958fae0ef5588bb12cbda5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:40 2023 -0400

    Squashed commit of the following:

    commit 011ba83af6202c4a5358c366ac0e88edcbfd6986
    Merge: 7390b8b19 4a21b2db5
    Author: Dan Smith <dan.smith@maxar.com>
    Date:   Thu Jun 15 15:37:33 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 7390b8b19f4f9d21d0ffc34ae9906cea2227936d
    Merge: 7f79e6d6f b902f6c17
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Merge commit 'b902f6c1743778d8fceeee5b3209ebca2370312a' into develop/sync_externals

    commit b902f6c1743778d8fceeee5b3209ebca2370312a
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Squashed 'externals/coda-oss/' changes from f4d42005f..704d6867f

        704d6867f beef-up our complex type (#687)
        47c1c1cd6 check is_absolute() for URLs (#686)
        c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
        ad10286bc volatile is about "special" memory, not threading (#685)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: 704d6867f959f60e3e62c44681a3fb1f7abc99bf

    commit 7f79e6d6fb8972e5074e582aa4c3214e9a524459
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:21:06 2023 -0400

        latest from CODA-OSS

    commit 24678b33f4aab533af0d807d6706f8587bd1c103
    Merge: 9eb95e3aa 35b59b9a0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 15 14:20:30 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 9eb95e3aad1562b0d7915cf48db1b61a337a3878
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:55 2023 -0400

        latest from CODA-OSS and NITRO

    commit 1bd99042ef18b76df9da27d946b5616d9dd254b1
    Merge: ec161c5b3 c59d69c06
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:40 2023 -0400

        sync_externals

    commit c59d69c06eda40c7295ab607fdc8a5dad7d2c1b1
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:34 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

        3f01809fa latest from coda-oss (#557)
        471fb3fc1 Update test_j2k_loading++.cpp
        b12caf2fc latest from CODA-OSS (#556)
        0cd432624 use sys::make_span (#555)
        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

    commit 272cae451cbe3ad6820d1221aafe375d77b1ba04
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..f4d42005f

        f4d42005f fix build error in NITRO
        ff11a5557 keep using std::complex<short> for now (#682)
        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)
        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a3000 getDataType() unittest
        857ff0af3 HighFive utility routines (#661)
        1d687db57 writeDataSet() utility overload
        106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
        2641b60b2 Merge branch 'main' into feature/hdf5
        35c19e7e8 change actions to @v3 (#660)
        212bbd3a3 works on local machine, but not build server ... ?
        7125118b0 dump of 1D vector doesn't work :-(
        c704db435 sigh ... WAF build still failing :-(
        01aae4616 does dump() of a 1D vector work?
        76a53c813 comment-out H5 writing :-(
        0f0e19aff test_highfive_dump()
        cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
        6584a264a does test_highfive_create() work?
        cde6147ce tweak HighFive wrappers (#659)
        316566854 Revert "trying HighFive "write" unittests again"
        a9ec24ca4 trying HighFive "write" unittests again
        585ad49a5 tweak names of utility routines
        4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
        0217ffa26 readDataSet() now works for 1D data
        95e8973f2 trying to get hdf5::lite::load() working
        4d294611d "const" correctness
        5e6305c3f fix load_complex()
        4a134dc5f start work on utility routines to read complex data from HDF5
        9d76a7f41 Merge branch 'main' into feature/hdf5
        8f9667a24 whitepsace
        ebd3fc99e Merge branch 'main' into feature/hdf5
        40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
        935aa3459 be sure the dataset has real data
        114b9bf33 update release notes
        bd9c0b26c tweak HighFive utility routines
        acda1ef57 turn off diagnostics around expected failures
        22a748840 readDataSet() utility routine for HighFive
        bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
        6142f5b33 use HighFive routines to write a HDF5 file
        5bbf1abaf Use HiveFive routines to get info about the file
        84fbc8378 duplicate unittests with H5Easy
        f1f054c03 Merge branch 'main' into feature/hdf5
        9b63ca470 fix directory names
        f6f826689 fix directory names
        7aeb82c33 Merge branch 'main' into feature/hdf5
        d028baaeb hook up HighFive header-only library (#653)
        3083b0a31 Revert "HighFive 2.6.2"
        246985a7f Revert ""build" HighFive HDF5 library"
        a8b75a586 Revert "turn off HighFive Boost support"
        ec68d5f83 Revert "Add HighFive unittests"
        f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
        5ea634ee1 Revert "more work on getting HighFive unittests to build"
        ecc45433c more work on getting HighFive unittests to build
        bb194788a get test_high_five_base more-or-less compiling
        d42bde000 Add HighFive unittests
        ddc86bb32 turn off HighFive Boost support
        b255122d4 "build" HighFive HDF5 library
        396cc3ef2 HighFive 2.6.2
        5e5f9d9c0 Merge branch 'main' into feature/hdf5
        ee938b4a5 changes from SIX
        bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
        de2a24380 make derived classes 'final' if possible
        14e19bcd2 Change xml lite function to virtual (#645)
        8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
        18ad90645 hdf5Write unittest
        3462e1179 createFile() and writeFile() overloads
        ecee81d53 fix typos
        197eecfa6 sketch-out hdf5::lite::writeFile()
        bd2311795 use SpanRC for writeFile(), not yet implemented
        ea9af7510 simple SpanRC to hold a 2D-size and pointer
        027c19ee8 createFile() unittest
        1f9d07ecb hook up createFile()
        8c7e4473f start hooking up HDF5 writing
        146e0bea3 Merge branch 'main' into feature/hdf5
        88ca9fcb7 Merge branch 'main' into feature/hdf5
        42b604b46 Squashed commit of the following:
        10ee602c2 Merge branch 'main' into feature/hdf5
        67aa42b69 restore changes from "main"
        8bbfcbfbf unittests can be simplified to match fewer "view" classes
        126bb802e Merge branch 'main' into feature/hdf5
        3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
        24c2b489c Squashed commit of the following:
        2703c119d Squashed commit of the following:
        9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
        51bc931dc Merge branch 'main' into feature/hdf5
        a84f25816 Squashed commit of the following:
        c4d2ed696 add missing #include guards, fix type in existing #include guard
        d541525a0 use a single ComplexViewConstIterator for all views
        86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
        5d4b9c2cb only need an custom iterator for ComplexSpansView
        d9f0fb128 hook up iterators
        b9329e4db initial pass at a ComplexViewConstIterator
        635238873 remove compiler warning about unused "constexpr" variables
        b39f6096f use the casing from H5 to make copy/pasting code slightly easier
        0887b13eb Merge branch 'main' into feature/hdf5
        bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
        7acd30ee2 tweak hdf5.lite dependencies
        38ab914df Jupyter notebook for creating H5 files
        95a040e0b _small.h5 is now (correctly) FLOAT32
        107e7c487 make a simple values() member function to avoid template magic
        e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
        738333688 readDatasetT() now throws for the wrong buffer type
        6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        310f8fd3d can't get template magic right for copy_axis()
        86b306d59 stepping through copy ctors in the debugger is annoying
        f243e92d6 trying to make wrong type of buffer fail
        2b10d9652 read in new sample file
        a28e59d8c help the compiler with type deduction
        49bf5e9bc nested_complex_float_data_small.h5
        e029325fc utility routines to "deconstruct" and array of std::complex
        dede3bd39 Merge branch 'main' into feature/hdf5
        904b1ef5e tweak class names, make_() and copy() utility routines
        8237b9efb make it harder to pass the wrong types to ComplexViews
        4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
        f5e367dfa test std::span<const std::complex<float>>
        a4a2844f2 read in the nested "i" and "r" data
        115615265 sample file has subgroups
        8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        9f4232a1d update sample H5 file
        8c55db73a walk through HDF5 sub-groups
        7775ed9c4 Update 123_barfoo_catdog_cx.h5
        677975d7c Matlab code to create sample H5 file
        a0e7dfe07 Update test_hdf5info.cpp
        0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
        86a677321 skeleton for more sample data
        85f79b099 Merge branch 'main' into feature/hdf5
        18088e942 Merge branch 'main' into feature/hdf5
        3a1d17692 Merge branch 'main' into feature/hdf5
        1755c69d7 Merge branch 'main' into feature/hdf5
        9ad015432 No more "11" suffix on exception names
        c20d96251 Squashed commit of the following:
        c88cee999 other values to be filled-in
        bca4a4ecd incorporation NamedObject from HDF5 docs
        61fa68f72 groupInfo()
        460e7d766 datasetInfo()
        14eb9b764 start filling in DatasetInfo
        afe5f1c3a start to fill in DatasetInfo
        77a968c72 start filling in GroupInfo
        d81bcdfd9 openGroup() to open groups (loc)
        a0cd29469 comment-out "dataset" unittest for now
        86e006024 begin filling in FileInfo
        366dda6ab a return_type_of utility is needed to deduce the return type
        e21928263 explicitly pass return type to template
        4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
        b3b5ebde7 use new exception utility routines
        ea1c03ef0 put exception handling/conversion in a utility routine
        819a99d39 utility routine for exception handling
        6f34eea97 put utilities in a separate file for easier reuse
        fcbde4f24 break utility routines into smaller pieces for easier reuse
        52358ea8a WIN32 no longer automatically defined?
        5a4286472 Revert "build HDF5 with C89"
        680e599e9 build HDF5 with C89
        a87a07121 Merge branch 'main' into feature/hdf5
        8447c1a90 Revert "sym-links instead of copying files"
        db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
        fb60b5696 Merge branch 'main' into feature/hdf5
        5110a5cc8 Comments about _u and _q
        1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
        fa06f04d7 get ready for hdf5.lite enhancdements
        b040c7c43 sym-links instead of copying files
        aa431bb47 use _u for xml::lite::Uri
        3d0c6d58c fix case-sensitive #include filename
        93dcd0e52 operator() for getElementByName()
        75a93af85 more operator[] overloads to make attribute management easier
        4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
        f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
        ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        ffdd9beb0 simplify attribute creation
        9bf5414f5 simplify attribute creation
        82d7a4e95 SWIG gets confused about namespaces
        7a61d0741 fix bug on Element ctor uncovered by unittest
        fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
        a325b7053 operator+=() overload for addChild
        daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        b887d2b47 provide overloads for Element& rather than creating new "reference" types
        1fa6bba38 rename test_xmleasy.cpp
        7c8c9e0f1 += overload
        850da6f63 overload for std::string
        4547fc5a7 use UIT-8 strings for characterData
        4723462a3 convenient addChild() overloads
        e48720753 copy over ElementReference from xml.easy
        a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
        6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
        f7466a6d7 Revert "simple routines for single element"
        a5490230d Revert "make some operators simplier ways of calling functions"
        c9a25630a Revert "get document creation working"
        8af8710b0 Revert "free functions instead of member functions"
        16c3847cb Revert "ElementReference distinct from Element"
        7d68e156f Revert "ElementMutableReference"
        00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
        a42969c1f ElementMutableReference
        a20ae9355 ElementReference distinct from Element
        14eeeea0b free functions instead of member functions
        4aae014b3 get document creation working
        883569269 make some operators simplier ways of calling functions
        053bd1212 simple routines for single element
        8bf701a2e check-in of new xml.easy (to move code between computers)
        41f959051 unittests for creating XML documents from scratch
        9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
        1531d5709 by default, don't validate strings passed to Uri()
        46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
        39b547d32 remove more vestiges of Expat and LibXML
        ec8274d52 remove LibXML and Expat as they're no longer used/supported.
        20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
        95074b9b1 update for newer Intel compiler
        7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
        57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
        4b67561c3 remove validate() overload that nobody is using
        fa15f1e5d Squashed commit of the following:
        1484a9090 test the new validate() API
        470da70fb hookup StringStreamT routines
        2cddf2504 begin hooking up validate() overloads
        1b5d910f3 overload validate() for UTF-8 and Windows-1252
        03309b8c9 Squashed commit of the following:
        b72c6c5bf older compiler doesn't like our make_unique
        af8f00307 validate UTF-8 XML on Linux
        211188613 unit-test for LEGACY XML validation
        3c1169d2b Squashed commit of the following:
        3afff19ca std::filesystem::path for FileInputStreamOS
        908d452f8 WIP: validate all of our sample XML files
        00f9bb16b validate against a XML schema
        243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
        2815d707d fix to work with SWIG bindings. :-(
        460862132 trying (again) to remove vestiages of old code
        e3c83a858 Revert "new code should use UTF-8"
        811207c92 new code should use UTF-8
        0ffd835f9 Squashed commit of the following:
        1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
        c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
        850d3c811 str::strip() that can be easier to use than str::trim()
        580ba9c8c explicitly =delete move
        2b39831a8 Squashed commit of the following:
        39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
        9adf86cba force calling new UTF-8 write() routines
        ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
        8a34583fa overload to take schemaPaths as filesystem::path
        8671b442f parse XML embedded in a binary file
        ec4a902f1 updates from xerces.lite
        80dc4d963 updates from xerces.lite
        549766d6c Attributes::contains() no longer catches an exception
        8a645ceac need "sys/" when building in other environments
        36af08269 super-simple URI validation
        78ef28a3e SWIG bindings are a PITA! :-(
        e9cba8491 SWIG needs help with Uri
        8a8d8dc07 another routines used by pre-build SWIG bindings
        818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
        067cac5d8 old compiler gets confused on unadorned QName
        ba92c0ae7 more use of Uri and QName
        446c7d17a use QName in new code
        d6f8b0c83 more direct use of QName
        90fff1c73 use xml::lite::QName instead of tuple<string, string>
        646cbb5ed more direct use of QName and Uri
        ba589ea3b make QName more robust
        bab0ee8b5 createElement() -> addNewElement()
        e3a145747 grab changes from six-library
        32285e95c Merge branch 'master' into feature/xml.lite_tweaks
        9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
        a12bbc32c make it easier to create new Elements with a value
        fc9967f98 make it easy for callers to addChild() keep a reference to the Element
        4627766b7 be sure test_xmlparser works in "externals" of other projects
        bf2276396 "private" is part of the name-mangling
        fad92bcc8 making sure copy-ctor is implemented
        f90fdcead consolidate common XML test code
        9fc53f2d5 use str:: utility for casting
        6da6f794b still trying to find the right macro for SWIG
        0c1b86c56 still trying to fix SWIG
        fdc6fc9bd trying to fix SWIG build error
        7835e8c27 SWIG needs copy-ctor
        585695942 disable copy/assignment for Element, it's probably almost always wrong
        391fed613 fix double-delete caused by copying
        61790fe69 retry parsing XML with Windows-1252 if first parse() fails
        63cffac59 change string_encoding to match coda-oss style of PascalCase
        010479bbe read an XML file we know is wrongly encoded as Windows-1252
        9a0505062 more references instead of pointers
        2d44b6951 Reading Windows-1252 w/o "encoding" fails
        63dc7b076 read Windows-1252 too
        c9434c9cb test as UIT-8 too
        f310ccf0c get reading from UTF-8 XML working on Windows
        1fa39c2be get testReadUtf8XmlFile working on Linux
        1a83cd815 sys::Path is too much trouble right now
        ed60aa22c unit-test to read XML from a file
        a9336db7c Squashed commit of the following:
        0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
        c618489be Merge branch 'master' into feature/xml.lite_tweaks
        e8e4b8fe1 determine string_encoding based on platform
        1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
        961bef66b Merge branch 'master' into feature/xml.lite_tweaks
        e9798a5cb fix static_assert()
        6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
        b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
        1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
        53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
        60cf8ae80 "" doesn't work with decltype() in older C++
        97e72477a reduce getValue() overloads by making "key" a template argument
        5e6373e55 reduce code duplication
        f9e7cfeee provide castValue<T> instead of getValue(T&)
        cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
        87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
        10cc61223 make getElement*() consistent for zero or >1 results
        f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
        1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
        df8b746e1 allow clients to specify their own toType/toString routines
        66702726a Merge branch 'master' into feature/xml.lite_tweaks
        6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
        d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
        fbd106115 catch a BadCastException and return false from getValue()
        3a78377b5 use a template to reduce duplicated code
        0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
        a848aa3a2 get & set the characer data as a type
        f3ee1ee12 utility routines to set an attribute value
        595227683 templates to get an attribute value convert to a specific type
        06639227b miised a change in last commit
        1aa458ef8 add getValue() overloads that return true/false rather than throwing
        faa6d3075 added getElementByTagName() overloads as that's a very common use-case

        git-subtree-dir: externals/coda-oss
        git-subtree-split: f4d42005fa477ae59da193422aa2cb14b877cf0c

    commit ec161c5b334ea8133777a78ce94181807e591642
    Merge: d2d594b9f 272cae451
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Merge commit '272cae451cbe3ad6820d1221aafe375d77b1ba04' into develop/sync_externals

    commit d2d594b9ff50bc00c15a4228927ea1ec0449381b
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Tue Jun 13 17:51:25 2023 -0400

        latest from CODA-OSS and NITRO

commit 09ec30cc503ffd74daa401514ab9b674c6e4a3cf
Merge: 28a4b2bd1 4a21b2db5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 15:54:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 28a4b2bd17daabbb9ba94aae53a58986acd58a9b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:58:55 2023 -0400

    restore "old" CODA-OSS to minimize differences

commit f41c086967d2e5b05ee8988272ab8ca8c0014f85
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:40:31 2023 -0400

    keep using std::complex<> everywhere

commit bc1704c8cb985f1987a7d3ff2b37c2e48286a8fd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 14:22:47 2023 -0400

    latest from CODA-OSS

commit 4ec782e6c9409f1985628c36a88577b286af61e7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:24 2023 -0400

    build against "old" CODA-OSS

commit bffd6a985d8dc8e08b42aed78bbe7a162ac45bf6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:56:08 2023 -0400

    restore CODA-OSS changes to minimize merge differences

commit d93e0e80c94013e1b957eb2c33ba112643c306c3
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:39:37 2023 -0400

    more passing the entire complex type as a template parameter

commit 0872159268ff8f38e3c3d42788598725ce142616
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 13:25:14 2023 -0400

    no more types::complex

commit 379a89312f55c86f1de95f6ff14e7aeca72df32c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 12:36:06 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit 2b9b396c4d460233418f293d6ebdf157231b8757
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:58:00 2023 -0400

    latest from CODA-OSS

commit 5d19ea2946556ab9f7e2e1ec98e0d07fecf578e2
Merge: 0dab1a156 7e99024da
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:07:26 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit 7e99024da866660e7e4da621b75f4561e638044b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:06:20 2023 -0400

    unittest changes from develop/complex_short branch

commit e5c0f6d52e05bf50741a6bc086eae9ce53a89e9e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 11:00:34 2023 -0400

    more changes from CODA-OSS

commit ca7cb60f6b39a2f1a03dd1497bb20a4da5925c24
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:34:57 2023 -0400

    no more types::complex<T>

commit 6048da55638d0283cf789347740871aa2d07fba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 10:18:44 2023 -0400

    latest from CODA-OSS

commit 16c99ed82bb9b57edc1ea5e28d68f89b63519664
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 4d9d2a764319f3177b427b3a03ae95c99ef02494
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit 0dab1a15681e51a5464b363baa0f263e25521c4a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit e4c29f670785b3312dda1d6b6da30847fa798b89
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:14:37 2023 -0400

    Update PVPBlock.cpp

commit 7133f7f4b4752d0e049ef48241a4e1b707a5c4ec
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:09:11 2023 -0400

    restore types::z* overloads

commit 9a0c890090d5501bb2c563e0b36a787cfad70af6
Merge: a3a71ba35 fc8ba82bd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 09:01:31 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit fc8ba82bd5357454d02276c1605ddcd5973322d1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:59:58 2023 -0400

    findComplex() utility

commit 8b762374c282458c469ad6e4502aaee7aa695079
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:47:56 2023 -0400

    const& for Parameter arguments

commit a3a71ba351b9b790c20bb80e4fac861592758164
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:26:00 2023 -0400

    getComplex() overloads

commit 6fc1ee4b96b722b81042f79ed476c481af13aadd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 13e44351a9e912c91fd79ada8b09a544c482874a
Author: J. Daniel Smith <dan@jdanielsmith.me>
Date:   Wed Jun 14 21:47:37 2023 -0400

    more progress on types::complex

commit 5e72ecca7037861e87f311339c61bc2cf77305fe
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:43:52 2023 -0400

    use our own type for complex<short>

commit 9bfc4f9799df5261bbc0c7afb1ffa08abc060ba1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 17:42:58 2023 -0400

    latest from CODA-OSS

commit 39153f274d56de88a28b526978dd4ad832e767f9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:45:05 2023 -0400

    fix Parameter::setValue() overloads

commit b8007fbad15e529eb503bbfd692c85ce6d34a0a6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:37:10 2023 -0400

    latest from coda-oss

commit 27f080ec628c4497709cfc85183f3a1ceaad11cb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:22:29 2023 -0400

    move is implicitly deleted because of =delete for copy

commit bd69591ff8c93d1aaa9f184346eac2aca83b3272
Merge: 71d519492 35b59b9a0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Jun 14 16:09:16 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 71d519492046c4c61986f181f6ec7aa18cb4c0c6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:25:54 2023 -0400

    std::complex<float> -> six::zfloat

commit a3eee8257746732f61b959c9b31442511d81b590
Merge: d0bb8c181 e13c3da4f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:17:07 2023 -0400

    Merge branch 'main' into develop/complex_short

commit d0bb8c1819da2ade60c4ce3349ff40f32fe31301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 15:15:46 2023 -0400

    finish (almost) switching to types::complex for integers

commit bbe1320e33768a0a0f151feb138643c80a8bdfbd
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:57:21 2023 -0400

    types::complex<T> is std::complex<T> for now

commit 00047f57ea462c610d249d25fcd2f0105a7c0f41
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:36:27 2023 -0400

    latest from coda-oss

commit ac376dcf72763892e9e9b9c03fb14bc34fd04630
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Jun 13 14:13:42 2023 -0400

    Update test_dump_images.cpp

commit 2907efbcfdb33f154138944831a94a2c508b5a68
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:39:29 2023 -0400

    use types::complex for TInteger

commit 2580312337bf1b7ee20d5ba9eed83c8e65e06e6f
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:26:16 2023 -0400

    CPHD aliaes for std::complex<TInteger>

commit d177963c782c08c137d14b9608207d40754db568
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 16:17:38 2023 -0400

    latest from coda-oss

commit e05937c9b568f52fa9f41b279e2c8ecfa63e5fc0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:41:34 2023 -0400

    use types::z* aliases for complex<T>

commit 2b61dcc4974b7326db762f6f6fd60dc263bb87e6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 15:05:41 2023 -0400

    begin switching to types::complex for integral T

commit b4e625673c3d270896eed26b4c83bc827befc538
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:59:30 2023 -0400

    turn off _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING

commit 9bd683bc8858d07378c390c3cd4fcaed4a490a21
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:54:22 2023 -0400

    std::complex<float> -> zfloat

commit 47aa0e8994af5b31602f63adaac3b3415cb769c2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:45:00 2023 -0400

    std::complex<float> -> zfloat

commit 3785ed2c8e0f812ae43e1e81971bce6777eb91a1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:38:18 2023 -0400

    aliases for std::complex<float> and std::complex<double>

commit d5db375ba08737551023d9b21455f3d5cd71faf0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Jun 12 14:20:01 2023 -0400

    Squashed commit of the following:

    commit bb2bb5aaf944040ea5bc42168b846324287dcad8
    Merge: bbba5a210 4c146e7d0
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Merge commit '4c146e7d01b14cf408b0e398cba96705df69090c' into develop/sync_externals

    commit 4c146e7d01b14cf408b0e398cba96705df69090c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Squashed 'externals/coda-oss/' changes from aeec0131c..c88b9c053

        c88b9c053 types::complex<T> (#681)
        d1244a080 don't need our own make_unique in C++14 (#680)

        git-subtree-dir: externals/coda-oss
        git-subtree-split: c88b9c05325c802f88a85ddcebb498be4afacad0

    commit bbba5a210c0257f622781914e9d228eeca23341c
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:04:06 2023 -0400

        latest from CODA-OSS

    commit 370dd8876136755230624ebc955bc67642b1482b
    Merge: 58ff5a537 ffe1caafd
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Mon Jun 12 13:03:25 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 58ff5a5371d9158910e99613f4ce6e6fc36e543e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 16:23:08 2023 -0400

        latest from CODA-OSS

    commit 3bfc33a40274fa7a073983d4e4ddd907e45730d2
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:45 2023 -0400

        latest from CODA-OSS and NITRO

    commit 389417a983778ba2a07af9c6dbfea80484324b97
    Merge: bce7ba0b1 4ad490fe4
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:28 2023 -0400

        latest from CODA-OSS and NITRO

    commit 4ad490fe4224df18ce4a437c40a257af0686140e
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:22 2023 -0400

        Squashed 'externals/nitro/' changes from c8ecbe9ae..05dae18a3

        05dae18a3 patch to build other projects
        8f974e995 NITRO-2.11.3 (#554)
        870aa6afd update to coda-oss 2023-06-05 (#553)
        2fd7a0bfa latest from coda-oss (#552)
        0eecce004 invoke() utility to reduce code duplication (#550)
        59fb02fe9 latest from coda-oss (#551)
        9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
        089ba0b5b latest from coda-oss
        3b52f0025 latest from coda-oss (#547)
        90c6263e2 latest from coda-oss (#544)
        90d513ac5 latest from coda-oss (#543)

        git-subtree-dir: externals/nitro
        git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

    commit 86929db19a438630d531ca0c34bdcd8e8c527ae9
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:18 2023 -0400

        Squashed 'externals/coda-oss/' changes from e87c32b4d..aeec0131c

        aeec0131c assert()s for mem::CopyablePtr (#679)
        72b0ebd60 add types::complex_short (#678)
        932130a58 patch to build other projects
        c00c1f203 coda-oss release 2023-06-06 (#677)
        ef54bbcd5 remove more compiler warnings (#676)
        dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
        90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
        eb9960772 stronger type-checking for byteSwap() (#673)
        ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
        b1de8c0e5 std::byte should be a unique type (#671)
        c05bf9a02 allow enums to be byte-swapped too
        1f9fd88d6 remove spurious
        47684c45b byteSwap now uses byte buffers (#670)
        cbc659db2 add swapBytes() utility from SIX (#669)
        891481b64 simplify byte-swapping (#668)
        540ae763e more byteSwap() tweaks
        0774c03c4 threaded byteSwap() (#667)
        d156370d3 swapping a single-byte value makes no sense
        c120e3255 be sure parameter is used to avoid compiler warning
        e85ec9331 --output-on-failure for CTest (#666)
        e80376197 turn off "there is no warning number" warning
        c5f0a5d15 A C-string may not be NULL-terminated (#665)
        0c5eb29ae use platform-specific routines for byteSwap() (#664)
        0b7d581fa remove transform_async() (#663)
        f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
        836c426a2 use function-pointers so that isConsoleOutput is only checked once
        56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
        ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
        69cc0e506 use the more rigorous create_and_check_datatype()
        9efb87558 Merge branch 'main' into feature/hdf5
        4d2f2f417 more HighFive unittests (#662)
        14191a844 HighFive::create_datatype() goes from C++ to HighFive
        98583473f utility routines to read string attributes
        1fa75ce81 use the C API to read a string attribute
        71e7b69f5 still can't figure out how to read a string attribute :-(
        e96f37a69 test reading the file attributes
        a25244519 getAttribute() unittest
        8f12a3000 getDataType() unittest
        857ff0af3 HighFive utility routines (#661)
        1d687db57 writeDataSet() utility overload
        106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
        2641b60b2 Merge branch 'main' into feature/hdf5
        35c19e7e8 change actions to @v3 (#660)
        212bbd3a3 works on local machine, but not build server ... ?
        7125118b0 dump of 1D vector doesn't work :-(
        c704db435 sigh ... WAF build still failing :-(
        01aae4616 does dump() of a 1D vector work?
        76a53c813 comment-out H5 writing :-(
        0f0e19aff test_highfive_dump()
        cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
        6584a264a does test_highfive_create() work?
        cde6147ce tweak HighFive wrappers (#659)
        316566854 Revert "trying HighFive "write" unittests again"
        a9ec24ca4 trying HighFive "write" unittests again
        585ad49a5 tweak names of utility routines
        4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
        0217ffa26 readDataSet() now works for 1D data
        95e8973f2 trying to get hdf5::lite::load() working
        4d294611d "const" correctness
        5e6305c3f fix load_complex()
        4a134dc5f start work on utility routines to read complex data from HDF5
        9d76a7f41 Merge branch 'main' into feature/hdf5
        8f9667a24 whitepsace
        ebd3fc99e Merge branch 'main' into feature/hdf5
        40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
        935aa3459 be sure the dataset has real data
        114b9bf33 update release notes
        bd9c0b26c tweak HighFive utility routines
        acda1ef57 turn off diagnostics around expected failures
        22a748840 readDataSet() utility routine for HighFive
        bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
        6142f5b33 use HighFive routines to write a HDF5 file
        5bbf1abaf Use HiveFive routines to get info about the file
        84fbc8378 duplicate unittests with H5Easy
        f1f054c03 Merge branch 'main' into feature/hdf5
        9b63ca470 fix directory names
        f6f826689 fix directory names
        7aeb82c33 Merge branch 'main' into feature/hdf5
        d028baaeb hook up HighFive header-only library (#653)
        3083b0a31 Revert "HighFive 2.6.2"
        246985a7f Revert ""build" HighFive HDF5 library"
        a8b75a586 Revert "turn off HighFive Boost support"
        ec68d5f83 Revert "Add HighFive unittests"
        f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
        5ea634ee1 Revert "more work on getting HighFive unittests to build"
        ecc45433c more work on getting HighFive unittests to build
        bb194788a get test_high_five_base more-or-less compiling
        d42bde000 Add HighFive unittests
        ddc86bb32 turn off HighFive Boost support
        b255122d4 "build" HighFive HDF5 library
        396cc3ef2 HighFive 2.6.2
        5e5f9d9c0 Merge branch 'main' into feature/hdf5
        ee938b4a5 changes from SIX
        bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
        de2a24380 make derived classes 'final' if possible
        14e19bcd2 Change xml lite function to virtual (#645)
        8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
        18ad90645 hdf5Write unittest
        3462e1179 createFile() and writeFile() overloads
        ecee81d53 fix typos
        197eecfa6 sketch-out hdf5::lite::writeFile()
        bd2311795 use SpanRC for writeFile(), not yet implemented
        ea9af7510 simple SpanRC to hold a 2D-size and pointer
        027c19ee8 createFile() unittest
        1f9d07ecb hook up createFile()
        8c7e4473f start hooking up HDF5 writing
        146e0bea3 Merge branch 'main' into feature/hdf5
        88ca9fcb7 Merge branch 'main' into feature/hdf5
        42b604b46 Squashed commit of the following:
        10ee602c2 Merge branch 'main' into feature/hdf5
        67aa42b69 restore changes from "main"
        8bbfcbfbf unittests can be simplified to match fewer "view" classes
        126bb802e Merge branch 'main' into feature/hdf5
        3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
        24c2b489c Squashed commit of the following:
        2703c119d Squashed commit of the following:
        9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
        51bc931dc Merge branch 'main' into feature/hdf5
        a84f25816 Squashed commit of the following:
        c4d2ed696 add missing #include guards, fix type in existing #include guard
        d541525a0 use a single ComplexViewConstIterator for all views
        86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
        5d4b9c2cb only need an custom iterator for ComplexSpansView
        d9f0fb128 hook up iterators
        b9329e4db initial pass at a ComplexViewConstIterator
        635238873 remove compiler warning about unused "constexpr" variables
        b39f6096f use the casing from H5 to make copy/pasting code slightly easier
        0887b13eb Merge branch 'main' into feature/hdf5
        bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
        7acd30ee2 tweak hdf5.lite dependencies
        38ab914df Jupyter notebook for creating H5 files
        95a040e0b _small.h5 is now (correctly) FLOAT32
        107e7c487 make a simple values() member function to avoid template magic
        e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
        738333688 readDatasetT() now throws for the wrong buffer type
        6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        310f8fd3d can't get template magic right for copy_axis()
        86b306d59 stepping through copy ctors in the debugger is annoying
        f243e92d6 trying to make wrong type of buffer fail
        2b10d9652 read in new sample file
        a28e59d8c help the compiler with type deduction
        49bf5e9bc nested_complex_float_data_small.h5
        e029325fc utility routines to "deconstruct" and array of std::complex
        dede3bd39 Merge branch 'main' into feature/hdf5
        904b1ef5e tweak class names, make_() and copy() utility routines
        8237b9efb make it harder to pass the wrong types to ComplexViews
        4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
        f5e367dfa test std::span<const std::complex<float>>
        a4a2844f2 read in the nested "i" and "r" data
        115615265 sample file has subgroups
        8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
        9f4232a1d update sample H5 file
        8c55db73a walk through HDF5 sub-groups
        7775ed9c4 Update 123_barfoo_catdog_cx.h5
        677975d7c Matlab code to create sample H5 file
        a0e7dfe07 Update test_hdf5info.cpp
        0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
        86a677321 skeleton for more sample data
        85f79b099 Merge branch 'main' into feature/hdf5
        18088e942 Merge branch 'main' into feature/hdf5
        3a1d17692 Merge branch 'main' into feature/hdf5
        1755c69d7 Merge branch 'main' into feature/hdf5
        9ad015432 No more "11" suffix on exception names
        c20d96251 Squashed commit of the following:
        c88cee999 other values to be filled-in
        bca4a4ecd incorporation NamedObject from HDF5 docs
        61fa68f72 groupInfo()
        460e7d766 datasetInfo()
        14eb9b764 start filling in DatasetInfo
        afe5f1c3a start to fill in DatasetInfo
        77a968c72 start filling in GroupInfo
        d81bcdfd9 openGroup() to open groups (loc)
        a0cd29469 comment-out "dataset" unittest for now
        86e006024 begin filling in FileInfo
        366dda6ab a return_type_of utility is needed to deduce the return type
        e21928263 explicitly pass return type to template
        4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
        b3b5ebde7 use new exception utility routines
        ea1c03ef0 put exception handling/conversion in a utility routine
        819a99d39 utility routine for exception handling
        6f34eea97 put utilities in a separate file for easier reuse
        fcbde4f24 break utility routines into smaller pieces for easier reuse
        52358ea8a WIN32 no longer automatically defined?
        5a4286472 Revert "build HDF5 with C89"
        680e599e9 build HDF5 with C89
        a87a07121 Merge branch 'main' into feature/hdf5
        8447c1a90 Revert "sym-links instead of copying files"
        db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
        fb60b5696 Merge branch 'main' into feature/hdf5
        5110a5cc8 Comments about _u and _q
        1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
        fa06f04d7 get ready for hdf5.lite enhancdements
        b040c7c43 sym-links instead of copying files
        aa431bb47 use _u for xml::lite::Uri
        3d0c6d58c fix case-sensitive #include filename
        93dcd0e52 operator() for getElementByName()
        75a93af85 more operator[] overloads to make attribute management easier
        4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
        f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
        ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        ffdd9beb0 simplify attribute creation
        9bf5414f5 simplify attribute creation
        82d7a4e95 SWIG gets confused about namespaces
        7a61d0741 fix bug on Element ctor uncovered by unittest
        fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
        a325b7053 operator+=() overload for addChild
        daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
        b887d2b47 provide overloads for Element& rather than creating new "reference" types
        1fa6bba38 rename test_xmleasy.cpp
        7c8c9e0f1 += overload
        850da6f63 overload for std::string
        4547fc5a7 use UIT-8 strings for characterData
        4723462a3 convenient addChild() overloads
        e48720753 copy over ElementReference from xml.easy
        a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
        6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
        f7466a6d7 Revert "simple routines for single element"
        a5490230d Revert "make some operators simplier ways of calling functions"
        c9a25630a Revert "get document creation working"
        8af8710b0 Revert "free functions instead of member functions"
        16c3847cb Revert "ElementReference distinct from Element"
        7d68e156f Revert "ElementMutableReference"
        00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
        a42969c1f ElementMutableReference
        a20ae9355 ElementReference distinct from Element
        14eeeea0b free functions instead of member functions
        4aae014b3 get document creation working
        883569269 make some operators simplier ways of calling functions
        053bd1212 simple routines for single element
        8bf701a2e check-in of new xml.easy (to move code between computers)
        41f959051 unittests for creating XML documents from scratch
        9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
        1531d5709 by default, don't validate strings passed to Uri()
        46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
        39b547d32 remove more vestiges of Expat and LibXML
        ec8274d52 remove LibXML and Expat as they're no longer used/supported.
        20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
        95074b9b1 update for newer Intel compiler
        7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
        57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
        4b67561c3 remove validate() overload that nobody is using
        fa15f1e5d Squashed commit of the following:
        1484a9090 test the new validate() API
        470da70fb hookup StringStreamT routines
        2cddf2504 begin hooking up validate() overloads
        1b5d910f3 overload validate() for UTF-8 and Windows-1252
        03309b8c9 Squashed commit of the following:
        b72c6c5bf older compiler doesn't like our make_unique
        af8f00307 validate UTF-8 XML on Linux
        211188613 unit-test for LEGACY XML validation
        3c1169d2b Squashed commit of the following:
        3afff19ca std::filesystem::path for FileInputStreamOS
        908d452f8 WIP: validate all of our sample XML files
        00f9bb16b validate against a XML schema
        243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
        2815d707d fix to work with SWIG bindings. :-(
        460862132 trying (again) to remove vestiages of old code
        e3c83a858 Revert "new code should use UTF-8"
        811207c92 new code should use UTF-8
        0ffd835f9 Squashed commit of the following:
        1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
        c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
        850d3c811 str::strip() that can be easier to use than str::trim()
        580ba9c8c explicitly =delete move
        2b39831a8 Squashed commit of the following:
        39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
        9adf86cba force calling new UTF-8 write() routines
        ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
        8a34583fa overload to take schemaPaths as filesystem::path
        8671b442f parse XML embedded in a binary file
        ec4a902f1 updates from xerces.lite
        80dc4d963 updates from xerces.lite
        549766d6c Attributes::contains() no longer catches an exception
        8a645ceac need "sys/" when building in other environments
        36af08269 super-simple URI validation
        78ef28a3e SWIG bindings are a PITA! :-(
        e9cba8491 SWIG needs help with Uri
        8a8d8dc07 another routines used by pre-build SWIG bindings
        818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
        067cac5d8 old compiler gets confused on unadorned QName
        ba92c0ae7 more use of Uri and QName
        446c7d17a use QName in new code
        d6f8b0c83 more direct use of QName
        90fff1c73 use xml::lite::QName instead of tuple<string, string>
        646cbb5ed more direct use of QName and Uri
        ba589ea3b make QName more robust
        bab0ee8b5 createElement() -> addNewElement()
        e3a145747 grab changes from six-library
        32285e95c Merge branch 'master' into feature/xml.lite_tweaks
        9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
        a12bbc32c make it easier to create new Elements with a value
        fc9967f98 make it easy for callers to addChild() keep a reference to the Element
        4627766b7 be sure test_xmlparser works in "externals" of other projects
        bf2276396 "private" is part of the name-mangling
        fad92bcc8 making sure copy-ctor is implemented
        f90fdcead consolidate common XML test code
        9fc53f2d5 use str:: utility for casting
        6da6f794b still trying to find the right macro for SWIG
        0c1b86c56 still trying to fix SWIG
        fdc6fc9bd trying to fix SWIG build error
        7835e8c27 SWIG needs copy-ctor
        585695942 disable copy/assignment for Element, it's probably almost always wrong
        391fed613 fix double-delete caused by copying
        61790fe69 retry parsing XML with Windows-1252 if first parse() fails
        63cffac59 change string_encoding to match coda-oss style of PascalCase
        010479bbe read an XML file we know is wrongly encoded as Windows-1252
        9a0505062 more references instead of pointers
        2d44b6951 Reading Windows-1252 w/o "encoding" fails
        63dc7b076 read Windows-1252 too
        c9434c9cb test as UIT-8 too
        f310ccf0c get reading from UTF-8 XML working on Windows
        1fa39c2be get testReadUtf8XmlFile working on Linux
        1a83cd815 sys::Path is too much trouble right now
        ed60aa22c unit-test to read XML from a file
        a9336db7c Squashed commit of the following:
        0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
        c618489be Merge branch 'master' into feature/xml.lite_tweaks
        e8e4b8fe1 determine string_encoding based on platform
        1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
        961bef66b Merge branch 'master' into feature/xml.lite_tweaks
        e9798a5cb fix static_assert()
        6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
        b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
        1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
        53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
        60cf8ae80 "" doesn't work with decltype() in older C++
        97e72477a reduce getValue() overloads by making "key" a template argument
        5e6373e55 reduce code duplication
        f9e7cfeee provide castValue<T> instead of getValue(T&)
        cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
        87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
        10cc61223 make getElement*() consistent for zero or >1 results
        f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
        1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
        df8b746e1 allow clients to specify their own toType/toString routines
        66702726a Merge branch 'master' into feature/xml.lite_tweaks
        6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
        d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
        fbd106115 catch a BadCastException and return false from getValue()
        3a78377b5 use a template to reduce duplicated code
        0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
        a848aa3a2 get & set the characer data as a type
        f3ee1ee12 utility routines to set an attribute value
        595227683 templates to get an attribute value convert to a specific type
        06639227b miised a change in last commit
        1aa458ef8 add getValue() overloads that return true/false rather than throwing
        faa6d3075 added getElementByTagName() overloads as that's a very common use-case

        git-subtree-dir: externals/coda-oss
        git-subtree-split: aeec0131c51497c5d448a39be0d2df608d93bc15

    commit bce7ba0b1ae40e9ddcb4f24610e7e4d702272d54
    Merge: 646b70e8d 86929db19
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:18 2023 -0400

        Merge commit '86929db19a438630d531ca0c34bdcd8e8c527ae9' into develop/sync_externals

    commit 646b70e8d47438211451493837e6b2d76db4e896
    Author: Dan Smith <Dan.Smith@maxar.com>
    Date:   Thu Jun 8 14:34:13 2023 -0400

        latest from CODA-OSS and NITRO

* use parallel version of std::transform with C++17

* nearest_neighbors() so that the loop is closer to the actual code

* Squashed commit of the following:

commit c747f326b60ba8a82b3c33e91aabe2651d6bb13d
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:50 2023 -0400

    latest from CODA-OSS and NITRO

commit b142ec4fcb2a8007e35e3d68e0ae752f4b2828d0
Merge: 2829f93c9 3d4e554aa
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:15 2023 -0400

    sync_externals

commit 3d4e554aa3934c7157bf9c2e57e2482662938b10
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:07 2023 -0400

    Squashed 'externals/nitro/' changes from 3f01809fa..cee9feb42

    cee9feb42 latest from CODA-OSS (#558)

    git-subtree-dir: externals/nitro
    git-subtree-split: cee9feb424b0f9c1f11f37f67a1795b3cc5e8dd1

commit 2829f93c9de0e8787dbe6cb319d6f32143dcdd8e
Merge: e47ccf30e 12995e63a
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:29:10 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit e47ccf30e059e0cd32b42dc90a45f4b8a8512caf
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:19:10 2023 -0400

    latest from CODA-OSS

commit 04090c4a13b921f33257662950e46bfc2e58cabb
Merge: cc6009422 ac1ccde84
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:41 2023 -0400

    sync_externals

commit ac1ccde84b2be856ac947b2670dd8228c9980889
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:34 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

commit cc6009422ec41dd6e48ade90c37bdbfd97a1bc35
Merge: fec3755e0 1ceb8e3ff
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Merge commit '1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04' into develop/sync_externals

commit 1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..54033e70e

    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning numb…
JDanielSmith pushed a commit that referenced this pull request Jan 23, 2024
* use parallel version of std::transform with C++17

* nearest_neighbors() so that the loop is closer to the actual code

* Squashed commit of the following:

commit c747f326b60ba8a82b3c33e91aabe2651d6bb13d
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:50 2023 -0400

    latest from CODA-OSS and NITRO

commit b142ec4fcb2a8007e35e3d68e0ae752f4b2828d0
Merge: 2829f93c9 3d4e554aa
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:15 2023 -0400

    sync_externals

commit 3d4e554aa3934c7157bf9c2e57e2482662938b10
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:30:07 2023 -0400

    Squashed 'externals/nitro/' changes from 3f01809fa..cee9feb42

    cee9feb42 latest from CODA-OSS (#558)

    git-subtree-dir: externals/nitro
    git-subtree-split: cee9feb424b0f9c1f11f37f67a1795b3cc5e8dd1

commit 2829f93c9de0e8787dbe6cb319d6f32143dcdd8e
Merge: e47ccf30e 12995e63a
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:29:10 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit e47ccf30e059e0cd32b42dc90a45f4b8a8512caf
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:19:10 2023 -0400

    latest from CODA-OSS

commit 04090c4a13b921f33257662950e46bfc2e58cabb
Merge: cc6009422 ac1ccde84
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:41 2023 -0400

    sync_externals

commit ac1ccde84b2be856ac947b2670dd8228c9980889
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:34 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..3f01809fa

    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 3f01809fae7d471aa0f1594fc5eec1e3111cd710

commit cc6009422ec41dd6e48ade90c37bdbfd97a1bc35
Merge: fec3755e0 1ceb8e3ff
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Merge commit '1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04' into develop/sync_externals

commit 1ceb8e3ffb55a240085250cfde3f4d1ab7ef0b04
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:30 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..54033e70e

    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @v3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 54033e70e353da94340dd7b96d0b1c6652308952

commit fec3755e04a8311103aef1ded477b17ce826b044
Author: Dan Smith <Dan.Smith@maxar.com>
Date:   Mon Jun 19 14:18:05 2023 -0400

    latest from CODA-OSS

* std::numbers::pi instead of M_PI

* `long double` doesn't change results from `float` but prevents AVX/SSE

* <execution> w/C++17

* it seems <execution> is broken with GCC 9.x ?

* restore C++17

* Squashed 'externals/coda-oss/' changes from e87c32b4d..5f858856e

5f858856e match code from 'main'
885e02a95 Merge branch 'main' into cpp17
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
436289c92 GCC 11 matches RH devtoolset-11
2a1ea98fb use GCC 10 on build server
ba9851db6 restore C++17
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 5f858856e773d3e5274f826edd608bd8b7ac2218

* Squashed 'externals/nitro/' changes from c8ecbe9ae..a5bd34266

a5bd34266 Merge commit 'b1f170ff084565365cdca72e88b87c80b7f848ba' into cpp17
b1f170ff0 Squashed 'externals/coda-oss/' changes from e87c32b4de..436289c928
d6efa7ec5 restore C++17
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: a5bd34266b2ab07e8970ccb9984b484db38361f7

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 5f858856e..a8c5a3b2b

a8c5a3b2b Merge branch 'main' into cpp17
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: a8c5a3b2b2c32fc150007e6a6cc20c00e7b32b54

* Squashed 'externals/nitro/' changes from a5bd34266..331deafa2

331deafa2 Merge commit 'afc15cad7caa998e32e6630489dbc22be8e5e9d5' into cpp17
afc15cad7 Squashed 'externals/coda-oss/' changes from 8dee6f7a68..a8c5a3b2b2
5b47be120 latest from CODA-OSS
475d30a6e Merge branch 'main' into cpp17
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
10befb769 Merge branch 'main' into cpp17
e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: 331deafa216548b25eb8788a15c694b7f7c07fbf

* overload to return the converted data in a std::vector

* use overload which returns a std::vector<>

* remove unused overloads

* use std::as_bytes()

* more use of AMP8I_PHS8I_t rather than std::pair<uint8_t, uint8_t>

* use fromComplex overload returning a std::vector

* cx_float -> zfloat

* getPhase() utility routine

* separate nearest_neighbors() member function not needed

* std::complex<long double> -> six::zfloat

* Squashed 'externals/coda-oss/' changes from a8c5a3b2b..14f0b1545

14f0b1545 Merge branch 'main' into cpp17
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 14f0b1545c324fb0887289ec4bbfc6a67ffa61b6

* Squashed 'externals/nitro/' changes from 331deafa2..732538e80

732538e80 Merge commit '4fbdccb89c89f2253ae8c3fbe830e69e338ae1ac' into cpp17
4fbdccb89 Squashed 'externals/coda-oss/' changes from c92a55d7c7..14f0b1545c
fe8900094 Merge branch 'main' into cpp17
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 732538e809b6829e24382c371b3c2ad5313ac3a8

* Squashed 'externals/coda-oss/' changes from 14f0b1545..70a006d8a

70a006d8a Merge branch 'main' into cpp17
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 70a006d8a4daaca81af7a103cc8ada565eadf729

* Squashed 'externals/nitro/' changes from 732538e80..ff335eeaf

ff335eeaf Merge commit 'eab6b6c35439c1eb7fa22fb042aae4a61a936d66' into cpp17
eab6b6c35 Squashed 'externals/coda-oss/' changes from 14f0b1545c..70a006d8a4
5648a0267 Merge branch 'main' into cpp17
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: ff335eeaf8071f45a0e15cbba70ffdf7bcb8a15f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 70a006d8a..b6ead418c

b6ead418c fix previous merge (#744)
07bcb3a39 Merge branch 'main' into cpp17
76beb7f34 Throwable always inherits from std::exception (#742)
959532681 reduce use of FmtX macro (#743)
f1a857cc4 Revert "simplify Throwable and friends: always derive from std::exception"
8d5f4402f simplify Throwable and friends: always derive from std::exception
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: b6ead418cfde26b016a3be199cd8ca7039a0a7be

* sync_externals

* Squashed 'externals/coda-oss/' changes from b6ead418c..434b85fe5

434b85fe5 Merge branch 'main' into cpp17
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 434b85fe537621a2fe3f525f685126480ea4c153

* Squashed 'externals/nitro/' changes from ff335eeaf..cca11bf4c

cca11bf4c Merge commit 'b40d3f96fff13bf708f319c684348ebd9884aff1' into cpp17
b40d3f96f Squashed 'externals/coda-oss/' changes from b6ead418cf..434b85fe53
2d6d5aa31 Merge branch 'main' into cpp17
1b631e578 latest from CODA-OSS (#587)
d32176660 Merge branch 'main' into cpp17
574bfe2b6 FmtX() -> str::Format() (#586)
a8e6556aa Squashed 'externals/coda-oss/' changes from 07bcb3a39b..b6ead418cf
53596f720 Merge commit 'a8e6556aa7bc5c105d3b4383589da7ef48982deb' into cpp17
29ccecf64 latest from CODA-OSS
b315d9b6c Merge branch 'main' into cpp17
edfa0f7ce latest from CODA-OSS (#585)
b708bd8ea `final` for NITFException
a2af78776 don't need FmtX() with no formatting
368cead55 Squashed 'externals/coda-oss/' changes from 70a006d8a4..07bcb3a39b
9b10c5340 Merge commit '368cead55f182d12953a6964b2598021f9629cf3' into cpp17
6e40d15b4 latest from CODA-OSS
31fc61888 develop/sync_externals

git-subtree-dir: externals/nitro
git-subtree-split: cca11bf4c8a99e779c2a7158e2fc214d3b097337

* sync_externals

* Squashed 'externals/coda-oss/' changes from 434b85fe5..dee001e71

dee001e71 everything is text except for known binaries
f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: dee001e71b64f25037cad0cd7674be644ce1a818

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from dee001e71..eb60210ff

eb60210ff Merge branch 'main' into cpp17
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
e757d9bc7 eol=lf is the default
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
REVERT: dee001e71 everything is text except for known binaries
REVERT: f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: eb60210ff29ec245b64da719da8b398240918bb0

* latest from CODA-OSS

* add config.h files

* Squashed 'externals/coda-oss/' changes from eb60210ff..e573adb32

e573adb32 WAF build works w/o __has_include
6e2f0017b tiff_streamOpen() and tiff_readData() overload
c4978d525 Build 'libtiff' library (#748)
68ff08297 tiff-4.6.0 source code (#749)

git-subtree-dir: externals/coda-oss
git-subtree-split: e573adb3235b7d58d3bc3a38e0bbf7e0ae6710a7

* Squashed 'externals/nitro/' changes from cca11bf4c..80a517fcb

80a517fcb Merge commit '911c7b3ae49e1f92b94f2dc83d7716b7abc459c2' into cpp17
911c7b3ae Squashed 'externals/coda-oss/' changes from eb60210ff2..e573adb323
c3e3d3768 add config.h files
1cca072bd latest from CODA-OSS
cb5d115bc Squashed 'externals/coda-oss/' changes from 434b85fe53..eb60210ff2
8a3df82fb Merge commit 'cb5d115bcc2ecc11f81e4ccad23caff4f3f8ac29' into cpp17
dc3074153 Merge branch 'main' into cpp17
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)

git-subtree-dir: externals/nitro
git-subtree-split: 80a517fcba1d0260effe0ab4af7e39060c0433ae

* sync_externals

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from e573adb32..8b21c3828

8b21c3828 Merge branch 'main' into cpp17
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 8b21c3828b10e8587ac614d49144c94cc0481587

* Squashed 'externals/nitro/' changes from 80a517fcb..9618cb382

9618cb382 Merge branch 'main' into cpp17
253f57b2b latest from CODA-OSS (#590)
c3ad6c72e Merge commit 'eba459da43c07c6a3d80b63248c9c7fb49605723' into cpp17
eba459da4 Squashed 'externals/coda-oss/' changes from e573adb323..8b21c3828b
0355e94ea latest from CODA-OSS
325fba327 Merge branch 'cpp17' of github.com:mdaus/nitro into cpp17
7558c7085 develop/sync_externals
2490f6fdc Merge branch 'main' into cpp17
4aa042353 turn off "Warnings as Errors" to fix github builds
45cd3febe turn off code-analysis to fix GitHub builds
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 9618cb382e07fc0edff06b39ed3987426c5011e2

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8b21c3828..5015192ab

5015192ab Merge branch 'main' into cpp17
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
90db8e19b enable AVX2 by default, it's from 2013
afebea485 Merge branch 'main' into cpp17
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 5015192abbfdeae1b2aaf252cbe40695507a08c9

* Squashed 'externals/nitro/' changes from 9618cb382..c899f14ad

c899f14ad Merge branch 'main' into cpp17
a37046807 latest from CODA-OSS (#596)
50c75444b Merge commit 'f9ff61eb905ed2119f4f908c568b577643cf42f8' into cpp17
f9ff61eb9 Squashed 'externals/coda-oss/' changes from 8b21c3828b..5015192abb
d37a0d078 latest from CODA-OSS
c2372d744 Merge branch 'main' into cpp17
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)

git-subtree-dir: externals/nitro
git-subtree-split: c899f14adef57a06d8baf6f9c72fa83a8e36247f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 5015192ab..77cc841ae

77cc841ae Merge branch 'main' into cpp17
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 77cc841aef3fe478170dc2c29b66046763cdcb4c

* Squashed commit of the following:

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b68c1fbaebbc8d40a9799779551659760e
Merge: 19ea3e7ed e8e1c0786
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07869c246fe8255798c1e304b62c034c986
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec2228f993a1720824e5994766651848791f1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7eda12fa7581a3ba12b17996924c0f9f2f
Merge: 3e75b3859 651ec2228
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b385947bada81bb465c28c83d0b328327e39
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846ca3ac27c8580c8118b3d89997410a5278
Merge: b46b11ca6 86bd245c8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11ca625f763062ab5724b2b97123a21f0961
Merge: 1f3d578d2 9a7678be7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578d2728499e59efe16c718795bd6cd0b662
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc51504b52d22011a94dad9db7af16868000f8
Merge: 990528a72 b5bc2b3d0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a7270e58932ec468e090abedb38c208c77
Merge: a7a7ecc20 0d9d64fa4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64fa47108c69f4cfaac1b7ea235443b8d552
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#58…
JDanielSmith pushed a commit that referenced this pull request Jan 25, 2024
* it seems <execution> is broken with GCC 9.x ?

* restore C++17

* Squashed 'externals/coda-oss/' changes from e87c32b4d..5f858856e

5f858856e match code from 'main'
885e02a95 Merge branch 'main' into cpp17
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
436289c92 GCC 11 matches RH devtoolset-11
2a1ea98fb use GCC 10 on build server
ba9851db6 restore C++17
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 5f858856e773d3e5274f826edd608bd8b7ac2218

* Squashed 'externals/nitro/' changes from c8ecbe9ae..a5bd34266

a5bd34266 Merge commit 'b1f170ff084565365cdca72e88b87c80b7f848ba' into cpp17
b1f170ff0 Squashed 'externals/coda-oss/' changes from e87c32b4de..436289c928
d6efa7ec5 restore C++17
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: a5bd34266b2ab07e8970ccb9984b484db38361f7

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 5f858856e..a8c5a3b2b

a8c5a3b2b Merge branch 'main' into cpp17
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: a8c5a3b2b2c32fc150007e6a6cc20c00e7b32b54

* Squashed 'externals/nitro/' changes from a5bd34266..331deafa2

331deafa2 Merge commit 'afc15cad7caa998e32e6630489dbc22be8e5e9d5' into cpp17
afc15cad7 Squashed 'externals/coda-oss/' changes from 8dee6f7a68..a8c5a3b2b2
5b47be120 latest from CODA-OSS
475d30a6e Merge branch 'main' into cpp17
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
10befb769 Merge branch 'main' into cpp17
e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: 331deafa216548b25eb8788a15c694b7f7c07fbf

* overload to return the converted data in a std::vector

* use overload which returns a std::vector<>

* remove unused overloads

* use std::as_bytes()

* more use of AMP8I_PHS8I_t rather than std::pair<uint8_t, uint8_t>

* use fromComplex overload returning a std::vector

* cx_float -> zfloat

* getPhase() utility routine

* separate nearest_neighbors() member function not needed

* std::complex<long double> -> six::zfloat

* Squashed 'externals/coda-oss/' changes from a8c5a3b2b..14f0b1545

14f0b1545 Merge branch 'main' into cpp17
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 14f0b1545c324fb0887289ec4bbfc6a67ffa61b6

* Squashed 'externals/nitro/' changes from 331deafa2..732538e80

732538e80 Merge commit '4fbdccb89c89f2253ae8c3fbe830e69e338ae1ac' into cpp17
4fbdccb89 Squashed 'externals/coda-oss/' changes from c92a55d7c7..14f0b1545c
fe8900094 Merge branch 'main' into cpp17
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 732538e809b6829e24382c371b3c2ad5313ac3a8

* Squashed 'externals/coda-oss/' changes from 14f0b1545..70a006d8a

70a006d8a Merge branch 'main' into cpp17
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 70a006d8a4daaca81af7a103cc8ada565eadf729

* Squashed 'externals/nitro/' changes from 732538e80..ff335eeaf

ff335eeaf Merge commit 'eab6b6c35439c1eb7fa22fb042aae4a61a936d66' into cpp17
eab6b6c35 Squashed 'externals/coda-oss/' changes from 14f0b1545c..70a006d8a4
5648a0267 Merge branch 'main' into cpp17
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: ff335eeaf8071f45a0e15cbba70ffdf7bcb8a15f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 70a006d8a..b6ead418c

b6ead418c fix previous merge (#744)
07bcb3a39 Merge branch 'main' into cpp17
76beb7f34 Throwable always inherits from std::exception (#742)
959532681 reduce use of FmtX macro (#743)
f1a857cc4 Revert "simplify Throwable and friends: always derive from std::exception"
8d5f4402f simplify Throwable and friends: always derive from std::exception
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: b6ead418cfde26b016a3be199cd8ca7039a0a7be

* sync_externals

* Squashed 'externals/coda-oss/' changes from b6ead418c..434b85fe5

434b85fe5 Merge branch 'main' into cpp17
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 434b85fe537621a2fe3f525f685126480ea4c153

* Squashed 'externals/nitro/' changes from ff335eeaf..cca11bf4c

cca11bf4c Merge commit 'b40d3f96fff13bf708f319c684348ebd9884aff1' into cpp17
b40d3f96f Squashed 'externals/coda-oss/' changes from b6ead418cf..434b85fe53
2d6d5aa31 Merge branch 'main' into cpp17
1b631e578 latest from CODA-OSS (#587)
d32176660 Merge branch 'main' into cpp17
574bfe2b6 FmtX() -> str::Format() (#586)
a8e6556aa Squashed 'externals/coda-oss/' changes from 07bcb3a39b..b6ead418cf
53596f720 Merge commit 'a8e6556aa7bc5c105d3b4383589da7ef48982deb' into cpp17
29ccecf64 latest from CODA-OSS
b315d9b6c Merge branch 'main' into cpp17
edfa0f7ce latest from CODA-OSS (#585)
b708bd8ea `final` for NITFException
a2af78776 don't need FmtX() with no formatting
368cead55 Squashed 'externals/coda-oss/' changes from 70a006d8a4..07bcb3a39b
9b10c5340 Merge commit '368cead55f182d12953a6964b2598021f9629cf3' into cpp17
6e40d15b4 latest from CODA-OSS
31fc61888 develop/sync_externals

git-subtree-dir: externals/nitro
git-subtree-split: cca11bf4c8a99e779c2a7158e2fc214d3b097337

* sync_externals

* Squashed 'externals/coda-oss/' changes from 434b85fe5..dee001e71

dee001e71 everything is text except for known binaries
f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: dee001e71b64f25037cad0cd7674be644ce1a818

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from dee001e71..eb60210ff

eb60210ff Merge branch 'main' into cpp17
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
e757d9bc7 eol=lf is the default
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
REVERT: dee001e71 everything is text except for known binaries
REVERT: f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: eb60210ff29ec245b64da719da8b398240918bb0

* latest from CODA-OSS

* add config.h files

* Squashed 'externals/coda-oss/' changes from eb60210ff..e573adb32

e573adb32 WAF build works w/o __has_include
6e2f0017b tiff_streamOpen() and tiff_readData() overload
c4978d525 Build 'libtiff' library (#748)
68ff08297 tiff-4.6.0 source code (#749)

git-subtree-dir: externals/coda-oss
git-subtree-split: e573adb3235b7d58d3bc3a38e0bbf7e0ae6710a7

* Squashed 'externals/nitro/' changes from cca11bf4c..80a517fcb

80a517fcb Merge commit '911c7b3ae49e1f92b94f2dc83d7716b7abc459c2' into cpp17
911c7b3ae Squashed 'externals/coda-oss/' changes from eb60210ff2..e573adb323
c3e3d3768 add config.h files
1cca072bd latest from CODA-OSS
cb5d115bc Squashed 'externals/coda-oss/' changes from 434b85fe53..eb60210ff2
8a3df82fb Merge commit 'cb5d115bcc2ecc11f81e4ccad23caff4f3f8ac29' into cpp17
dc3074153 Merge branch 'main' into cpp17
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)

git-subtree-dir: externals/nitro
git-subtree-split: 80a517fcba1d0260effe0ab4af7e39060c0433ae

* sync_externals

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from e573adb32..8b21c3828

8b21c3828 Merge branch 'main' into cpp17
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 8b21c3828b10e8587ac614d49144c94cc0481587

* Squashed 'externals/nitro/' changes from 80a517fcb..9618cb382

9618cb382 Merge branch 'main' into cpp17
253f57b2b latest from CODA-OSS (#590)
c3ad6c72e Merge commit 'eba459da43c07c6a3d80b63248c9c7fb49605723' into cpp17
eba459da4 Squashed 'externals/coda-oss/' changes from e573adb323..8b21c3828b
0355e94ea latest from CODA-OSS
325fba327 Merge branch 'cpp17' of github.com:mdaus/nitro into cpp17
7558c7085 develop/sync_externals
2490f6fdc Merge branch 'main' into cpp17
4aa042353 turn off "Warnings as Errors" to fix github builds
45cd3febe turn off code-analysis to fix GitHub builds
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 9618cb382e07fc0edff06b39ed3987426c5011e2

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8b21c3828..5015192ab

5015192ab Merge branch 'main' into cpp17
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
90db8e19b enable AVX2 by default, it's from 2013
afebea485 Merge branch 'main' into cpp17
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 5015192abbfdeae1b2aaf252cbe40695507a08c9

* Squashed 'externals/nitro/' changes from 9618cb382..c899f14ad

c899f14ad Merge branch 'main' into cpp17
a37046807 latest from CODA-OSS (#596)
50c75444b Merge commit 'f9ff61eb905ed2119f4f908c568b577643cf42f8' into cpp17
f9ff61eb9 Squashed 'externals/coda-oss/' changes from 8b21c3828b..5015192abb
d37a0d078 latest from CODA-OSS
c2372d744 Merge branch 'main' into cpp17
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)

git-subtree-dir: externals/nitro
git-subtree-split: c899f14adef57a06d8baf6f9c72fa83a8e36247f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 5015192ab..77cc841ae

77cc841ae Merge branch 'main' into cpp17
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 77cc841aef3fe478170dc2c29b66046763cdcb4c

* Squashed commit of the following:

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b68c1fbaebbc8d40a9799779551659760e
Merge: 19ea3e7ed e8e1c0786
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07869c246fe8255798c1e304b62c034c986
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec2228f993a1720824e5994766651848791f1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7eda12fa7581a3ba12b17996924c0f9f2f
Merge: 3e75b3859 651ec2228
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b385947bada81bb465c28c83d0b328327e39
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846ca3ac27c8580c8118b3d89997410a5278
Merge: b46b11ca6 86bd245c8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11ca625f763062ab5724b2b97123a21f0961
Merge: 1f3d578d2 9a7678be7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578d2728499e59efe16c718795bd6cd0b662
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc51504b52d22011a94dad9db7af16868000f8
Merge: 990528a72 b5bc2b3d0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a7270e58932ec468e090abedb38c208c77
Merge: a7a7ecc20 0d9d64fa4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64fa47108c69f4cfaac1b7ea235443b8d552
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#586)
    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)
    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS
    49f6338d2 latest from CODA-OSS (#581)
    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    72209535d toString() changes from CODA-OSS (#579)
    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)
    e7ea728ec reduce differences between cpp17 and main branches (#576)
    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

commit e35ff93576fbc97ae678b9f941c69a96cf2b8159
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

    03f1a3bdf release 2023-10-23 (#747)
    4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
    9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
    c3fd20a88 added some OLD Visual Studio extensions
    d00db384a everything is text except for known binaries
    c3813bb29 eol=lf is the default
    4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
    18f2c051f more FmtX() -> str::Format() changes (#745)
    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)
    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)
    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)
    c92a55d7c build in SIX
    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)
    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)
    8dee6f7a6 revert toString() changes (#728)
    bf7ae4a71 use overloads rather than varargs for std::format() (#727)
    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)
    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @v3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy fo…
JDanielSmith pushed a commit that referenced this pull request Feb 9, 2024
* use std::as_bytes()

* more use of AMP8I_PHS8I_t rather than std::pair<uint8_t, uint8_t>

* use fromComplex overload returning a std::vector

* cx_float -> zfloat

* getPhase() utility routine

* separate nearest_neighbors() member function not needed

* std::complex<long double> -> six::zfloat

* Squashed 'externals/coda-oss/' changes from a8c5a3b2b..14f0b1545

14f0b1545 Merge branch 'main' into cpp17
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 14f0b1545c324fb0887289ec4bbfc6a67ffa61b6

* Squashed 'externals/nitro/' changes from 331deafa2..732538e80

732538e80 Merge commit '4fbdccb89c89f2253ae8c3fbe830e69e338ae1ac' into cpp17
4fbdccb89 Squashed 'externals/coda-oss/' changes from c92a55d7c7..14f0b1545c
fe8900094 Merge branch 'main' into cpp17
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 732538e809b6829e24382c371b3c2ad5313ac3a8

* Squashed 'externals/coda-oss/' changes from 14f0b1545..70a006d8a

70a006d8a Merge branch 'main' into cpp17
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 70a006d8a4daaca81af7a103cc8ada565eadf729

* Squashed 'externals/nitro/' changes from 732538e80..ff335eeaf

ff335eeaf Merge commit 'eab6b6c35439c1eb7fa22fb042aae4a61a936d66' into cpp17
eab6b6c35 Squashed 'externals/coda-oss/' changes from 14f0b1545c..70a006d8a4
5648a0267 Merge branch 'main' into cpp17
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: ff335eeaf8071f45a0e15cbba70ffdf7bcb8a15f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 70a006d8a..b6ead418c

b6ead418c fix previous merge (#744)
07bcb3a39 Merge branch 'main' into cpp17
76beb7f34 Throwable always inherits from std::exception (#742)
959532681 reduce use of FmtX macro (#743)
f1a857cc4 Revert "simplify Throwable and friends: always derive from std::exception"
8d5f4402f simplify Throwable and friends: always derive from std::exception
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: b6ead418cfde26b016a3be199cd8ca7039a0a7be

* sync_externals

* Squashed 'externals/coda-oss/' changes from b6ead418c..434b85fe5

434b85fe5 Merge branch 'main' into cpp17
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 434b85fe537621a2fe3f525f685126480ea4c153

* Squashed 'externals/nitro/' changes from ff335eeaf..cca11bf4c

cca11bf4c Merge commit 'b40d3f96fff13bf708f319c684348ebd9884aff1' into cpp17
b40d3f96f Squashed 'externals/coda-oss/' changes from b6ead418cf..434b85fe53
2d6d5aa31 Merge branch 'main' into cpp17
1b631e578 latest from CODA-OSS (#587)
d32176660 Merge branch 'main' into cpp17
574bfe2b6 FmtX() -> str::Format() (#586)
a8e6556aa Squashed 'externals/coda-oss/' changes from 07bcb3a39b..b6ead418cf
53596f720 Merge commit 'a8e6556aa7bc5c105d3b4383589da7ef48982deb' into cpp17
29ccecf64 latest from CODA-OSS
b315d9b6c Merge branch 'main' into cpp17
edfa0f7ce latest from CODA-OSS (#585)
b708bd8ea `final` for NITFException
a2af78776 don't need FmtX() with no formatting
368cead55 Squashed 'externals/coda-oss/' changes from 70a006d8a4..07bcb3a39b
9b10c5340 Merge commit '368cead55f182d12953a6964b2598021f9629cf3' into cpp17
6e40d15b4 latest from CODA-OSS
31fc61888 develop/sync_externals

git-subtree-dir: externals/nitro
git-subtree-split: cca11bf4c8a99e779c2a7158e2fc214d3b097337

* sync_externals

* Squashed 'externals/coda-oss/' changes from 434b85fe5..dee001e71

dee001e71 everything is text except for known binaries
f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: dee001e71b64f25037cad0cd7674be644ce1a818

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from dee001e71..eb60210ff

eb60210ff Merge branch 'main' into cpp17
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
e757d9bc7 eol=lf is the default
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
REVERT: dee001e71 everything is text except for known binaries
REVERT: f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: eb60210ff29ec245b64da719da8b398240918bb0

* latest from CODA-OSS

* add config.h files

* Squashed 'externals/coda-oss/' changes from eb60210ff..e573adb32

e573adb32 WAF build works w/o __has_include
6e2f0017b tiff_streamOpen() and tiff_readData() overload
c4978d525 Build 'libtiff' library (#748)
68ff08297 tiff-4.6.0 source code (#749)

git-subtree-dir: externals/coda-oss
git-subtree-split: e573adb3235b7d58d3bc3a38e0bbf7e0ae6710a7

* Squashed 'externals/nitro/' changes from cca11bf4c..80a517fcb

80a517fcb Merge commit '911c7b3ae49e1f92b94f2dc83d7716b7abc459c2' into cpp17
911c7b3ae Squashed 'externals/coda-oss/' changes from eb60210ff2..e573adb323
c3e3d3768 add config.h files
1cca072bd latest from CODA-OSS
cb5d115bc Squashed 'externals/coda-oss/' changes from 434b85fe53..eb60210ff2
8a3df82fb Merge commit 'cb5d115bcc2ecc11f81e4ccad23caff4f3f8ac29' into cpp17
dc3074153 Merge branch 'main' into cpp17
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)

git-subtree-dir: externals/nitro
git-subtree-split: 80a517fcba1d0260effe0ab4af7e39060c0433ae

* sync_externals

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from e573adb32..8b21c3828

8b21c3828 Merge branch 'main' into cpp17
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 8b21c3828b10e8587ac614d49144c94cc0481587

* Squashed 'externals/nitro/' changes from 80a517fcb..9618cb382

9618cb382 Merge branch 'main' into cpp17
253f57b2b latest from CODA-OSS (#590)
c3ad6c72e Merge commit 'eba459da43c07c6a3d80b63248c9c7fb49605723' into cpp17
eba459da4 Squashed 'externals/coda-oss/' changes from e573adb323..8b21c3828b
0355e94ea latest from CODA-OSS
325fba327 Merge branch 'cpp17' of github.com:mdaus/nitro into cpp17
7558c7085 develop/sync_externals
2490f6fdc Merge branch 'main' into cpp17
4aa042353 turn off "Warnings as Errors" to fix github builds
45cd3febe turn off code-analysis to fix GitHub builds
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 9618cb382e07fc0edff06b39ed3987426c5011e2

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8b21c3828..5015192ab

5015192ab Merge branch 'main' into cpp17
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
90db8e19b enable AVX2 by default, it's from 2013
afebea485 Merge branch 'main' into cpp17
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 5015192abbfdeae1b2aaf252cbe40695507a08c9

* Squashed 'externals/nitro/' changes from 9618cb382..c899f14ad

c899f14ad Merge branch 'main' into cpp17
a37046807 latest from CODA-OSS (#596)
50c75444b Merge commit 'f9ff61eb905ed2119f4f908c568b577643cf42f8' into cpp17
f9ff61eb9 Squashed 'externals/coda-oss/' changes from 8b21c3828b..5015192abb
d37a0d078 latest from CODA-OSS
c2372d744 Merge branch 'main' into cpp17
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)

git-subtree-dir: externals/nitro
git-subtree-split: c899f14adef57a06d8baf6f9c72fa83a8e36247f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 5015192ab..77cc841ae

77cc841ae Merge branch 'main' into cpp17
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 77cc841aef3fe478170dc2c29b66046763cdcb4c

* Squashed commit of the following:

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b68c1fbaebbc8d40a9799779551659760e
Merge: 19ea3e7ed e8e1c0786
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07869c246fe8255798c1e304b62c034c986
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec2228f993a1720824e5994766651848791f1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7eda12fa7581a3ba12b17996924c0f9f2f
Merge: 3e75b3859 651ec2228
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b385947bada81bb465c28c83d0b328327e39
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846ca3ac27c8580c8118b3d89997410a5278
Merge: b46b11ca6 86bd245c8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11ca625f763062ab5724b2b97123a21f0961
Merge: 1f3d578d2 9a7678be7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578d2728499e59efe16c718795bd6cd0b662
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc51504b52d22011a94dad9db7af16868000f8
Merge: 990528a72 b5bc2b3d0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a7270e58932ec468e090abedb38c208c77
Merge: a7a7ecc20 0d9d64fa4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64fa47108c69f4cfaac1b7ea235443b8d552
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#586)
    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)
    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS
    49f6338d2 latest from CODA-OSS (#581)
    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    72209535d toString() changes from CODA-OSS (#579)
    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)
    e7ea728ec reduce differences between cpp17 and main branches (#576)
    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
    10efa9990 latest from CODA-OSS (#574)
    d08f1c0a1 CRLF
    db5d3d484 latest from CODA-OSS
    98c755048 CRLF
    aa1482543 CRLF
    bfdbe69a4 Latest from CODA-OSS (#573)
    9e4ce0b58 latest from CODA-OSS (#572)
    227a8a8f4 trust coda-oss for right -std flags
    13869687e latest from CODA-OSS (#571)
    5724d8c18 latest from CODA-OSS (#570)
    fb794f0fe latest from CODA-OSS (#569)
    7a6132ba0 update files changes in cpp17 branch (#568)
    de91d4977 Fix bug creating NITFException (#567)
    225273436 fix YAML for 'main'
    5d1c83d11 single project for unittests (#566)
    102a019db latest from CODA-OSS (known broken build) (#565)
    b4ae2d429 match YAML from coda-oss
    176bcaf6d build NITRO.SLN using msbuild (#562)
    85e9043b8 latest from CODA-OSS (#561)
    49ec50325 use new "PlatformToolkit" special environment variable (#560)
    6c06e3711 latest from CODA-OSS (#559)
    cee9feb42 latest from CODA-OSS (#558)
    3f01809fa latest from coda-oss (#557)
    471fb3fc1 Update test_j2k_loading++.cpp
    b12caf2fc latest from CODA-OSS (#556)
    0cd432624 use sys::make_span (#555)
    05dae18a3 patch to build other projects
    8f974e995 NITRO-2.11.3 (#554)
    870aa6afd update to coda-oss 2023-06-05 (#553)
    2fd7a0bfa latest from coda-oss (#552)
    0eecce004 invoke() utility to reduce code duplication (#550)
    59fb02fe9 latest from coda-oss (#551)
    9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
    089ba0b5b latest from coda-oss
    3b52f0025 latest from coda-oss (#547)
    90c6263e2 latest from coda-oss (#544)
    90d513ac5 latest from coda-oss (#543)

    git-subtree-dir: externals/nitro
    git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

commit e35ff93576fbc97ae678b9f941c69a96cf2b8159
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

    03f1a3bdf release 2023-10-23 (#747)
    4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
    9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
    c3fd20a88 added some OLD Visual Studio extensions
    d00db384a everything is text except for known binaries
    c3813bb29 eol=lf is the default
    4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
    18f2c051f more FmtX() -> str::Format() changes (#745)
    959532681 reduce use of FmtX macro (#743)
    fffac7fc4 Fix memory leaks in "cli" (#741)
    95ff879ba make it easier to turn on AVX2/AVX512F (#740)
    a950c848b enable AVX2 and AVX512F CMake builds (#739)
    369737085 use std::ssize() to reduce casts (#738)
    8ae7dabac std::size() and std::ssize() (#737)
    8db480be5 enable ASAN for GitHub builds (#736)
    c92a55d7c build in SIX
    333b91024 Squashed commit of the following:
    ac8c312db Only allow va_args formatting under controlled circumstances (#735)
    589aacfd7 str::to_native() for when conversion to std::string really is needed
    743feb41e try hard not to lose string encoding (#734)
    1854a9b46 hide use of str::cast() inside `details` namespace (#733)
    fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
    ee2c46358 more consistent naming for routines to convert between encodings (#731)
    00e2dd928 another FmtX() overload
    165a799c5 more FmtX() overloads (#729)
    8dee6f7a6 revert toString() changes (#728)
    bf7ae4a71 use overloads rather than varargs for std::format() (#727)
    22e050207 utility routines to reduce duplicated code (#726)
    a5ea60647 remove str::EncodedStringView (#725)
    168cbae01 reduce differences between 'main' and 'cpp17' (#724)
    5b892bf5f release 2023-08-18 (#723)
    0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
    7691adb56 normalize line endings (#721)
    b7d50efdd update to HDF5 1.14.2 (#720)
    fcc96ec69 Update .gitattributes (#719)
    bb82a94c9 xerces-c 3.2.4 (#718)
    ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
    b4ca18a11 fix compiler warning about order of operations
    a5df5b823 update to HighFive 2.7.1 (#716)
    4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
    00d843f87 remove hdf5.lite (#714)
    443dd3825 Reduce compiler warnings, speed up builds (#713)
    d60861821 get optional working with partial C++17 (#712)
    d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
    c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
    065e86ddc operator==() for QName (#710)
    1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
    6dd247991 our optional<> is now closer to C++17 (#708)
    87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
    034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
    42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
    4092fd8e7 remove work-around for NITRO bug (#704)
    e2472acfc build in NITRO and SIX (#703)
    32ccf9105 Use same build paths as Visual Studio (#701)
    366ac9f43 Another round of removing compiler warnings (#702)
    a7f8ef260 Fix compile warnings from building CODA (#700)
    f70b4202f account for coda-oss.vcxproj being in other SLNs
    af3faebfc Remove more compiler/code-analysis warnings (#699)
    82be2a6db unittests should work w/o install (#698)
    dbb90a06d add msbuild for coda-oss.sln (#697)
    5a417140a reduce compiler warnings (#696)
    288619dfa all modules now part of coda-oss.vcxproj (#695)
    c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
    ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
    d78a8595a OS::getSIMDInstructionSet() utility (#692)
    2d2df467d fix `python3 waf dumplib`
    54033e70e Merge branch 'main' into feature/complex_short
    3c63f9f65 std::numbers from C++20 (#691)
    892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
    b3872181e match coda-oss naming conventions (#688)
    704d6867f beef-up our complex type (#687)
    47c1c1cd6 check is_absolute() for URLs (#686)
    c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
    ad10286bc volatile is about "special" memory, not threading (#685)
    f4d42005f fix build error in NITRO
    ff11a5557 keep using std::complex<short> for now (#682)
    c88b9c053 types::complex<T> (#681)
    d1244a080 don't need our own make_unique in C++14 (#680)
    aeec0131c assert()s for mem::CopyablePtr (#679)
    72b0ebd60 add types::complex_short (#678)
    932130a58 patch to build other projects
    c00c1f203 coda-oss release 2023-06-06 (#677)
    ef54bbcd5 remove more compiler warnings (#676)
    dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
    90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
    eb9960772 stronger type-checking for byteSwap() (#673)
    ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
    b1de8c0e5 std::byte should be a unique type (#671)
    c05bf9a02 allow enums to be byte-swapped too
    1f9fd88d6 remove spurious
    47684c45b byteSwap now uses byte buffers (#670)
    cbc659db2 add swapBytes() utility from SIX (#669)
    891481b64 simplify byte-swapping (#668)
    540ae763e more byteSwap() tweaks
    0774c03c4 threaded byteSwap() (#667)
    d156370d3 swapping a single-byte value makes no sense
    c120e3255 be sure parameter is used to avoid compiler warning
    e85ec9331 --output-on-failure for CTest (#666)
    e80376197 turn off "there is no warning number" warning
    c5f0a5d15 A C-string may not be NULL-terminated (#665)
    0c5eb29ae use platform-specific routines for byteSwap() (#664)
    0b7d581fa remove transform_async() (#663)
    f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
    836c426a2 use function-pointers so that isConsoleOutput is only checked once
    56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
    ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
    69cc0e506 use the more rigorous create_and_check_datatype()
    9efb87558 Merge branch 'main' into feature/hdf5
    4d2f2f417 more HighFive unittests (#662)
    14191a844 HighFive::create_datatype() goes from C++ to HighFive
    98583473f utility routines to read string attributes
    1fa75ce81 use the C API to read a string attribute
    71e7b69f5 still can't figure out how to read a string attribute :-(
    e96f37a69 test reading the file attributes
    a25244519 getAttribute() unittest
    8f12a3000 getDataType() unittest
    857ff0af3 HighFive utility routines (#661)
    1d687db57 writeDataSet() utility overload
    106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
    2641b60b2 Merge branch 'main' into feature/hdf5
    35c19e7e8 change actions to @v3 (#660)
    212bbd3a3 works on local machine, but not build server ... ?
    7125118b0 dump of 1D vector doesn't work :-(
    c704db435 sigh ... WAF build still failing :-(
    01aae4616 does dump() of a 1D vector work?
    76a53c813 comment-out H5 writing :-(
    0f0e19aff test_highfive_dump()
    cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
    6584a264a does test_highfive_create() work?
    cde6147ce tweak HighFive wrappers (#659)
    316566854 Revert "trying HighFive "write" unittests again"
    a9ec24ca4 trying HighFive "write" unittests again
    585ad49a5 tweak names of utility routines
    4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
    0217ffa26 readDataSet() now works for 1D data
    95e8973f2 trying to get hdf5::lite::load() working
    4d294611d "const" correctness
    5e6305c3f fix load_complex()
    4a134dc5f start work on utility routines to read complex data from HDF5
    9d76a7f41 Merge branch 'main' into feature/hdf5
    8f9667a24 whitepsace
    ebd3fc99e Merge branch 'main' into feature/hdf5
    40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
    935aa3459 be sure the dataset has real data
    114b9bf33 update release notes
    bd9c0b26c tweak HighFive utility routines
    acda1ef57 turn off diagnostics around expected failures
    22a748840 readDataSet() utility routine for HighFive
    bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
    6142f5b33 use HighFive routines to write a HDF5 file
    5bbf1abaf Use HiveFive routines to get info about the file
    84fbc8378 duplicate unittests with H5Easy
    f1f054c03 Merge branch 'main' into feature/hdf5
    9b63ca470 fix directory names
    f6f826689 fix directory names
    7aeb82c33 Merge branch 'main' into feature/hdf5
    d028baaeb hook up HighFive header-only library (#653)
    3083b0a31 Revert "HighFive 2.6.2"
    246985a7f Revert ""build" HighFive HDF5 library"
    a8b75a586 Revert "turn off HighFive Boost support"
    ec68d5f83 Revert "Add HighFive unittests"
    f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
    5ea634ee1 Revert "more work on getting HighFive unittests to build"
    ecc45433c more work on getting HighFive unittests to build
    bb194788a get test_high_five_base more-or-less compiling
    d42bde000 Add HighFive unittests
    ddc86bb32 turn off HighFive Boost support
    b255122d4 "build" HighFive HDF5 library
    396cc3ef2 HighFive 2.6.2
    5e5f9d9c0 Merge branch 'main' into feature/hdf5
    ee938b4a5 changes from SIX
    bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
    de2a24380 make derived classes 'final' if possible
    14e19bcd2 Change xml lite function to virtual (#645)
    8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
    18ad90645 hdf5Write unittest
    3462e1179 createFile() and writeFile() overloads
    ecee81d53 fix typos
    197eecfa6 sketch-out hdf5::lite::writeFile()
    bd2311795 use SpanRC for writeFile(), not yet implemented
    ea9af7510 simple SpanRC to hold a 2D-size and pointer
    027c19ee8 createFile() unittest
    1f9d07ecb hook up createFile()
    8c7e4473f start hooking up HDF5 writing
    146e0bea3 Merge branch 'main' into feature/hdf5
    88ca9fcb7 Merge branch 'main' into feature/hdf5
    42b604b46 Squashed commit of the following:
    10ee602c2 Merge branch 'main' into feature/hdf5
    67aa42b69 restore changes from "main"
    8bbfcbfbf unittests can be simplified to match fewer "view" classes
    126bb802e Merge branch 'main' into feature/hdf5
    3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
    24c2b489c Squashed commit of the following:
    2703c119d Squashed commit of the following:
    9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
    51bc931dc Merge branch 'main' into feature/hdf5
    a84f25816 Squashed commit of the following:
    c4d2ed696 add missing #include guards, fix type in existing #include guard
    d541525a0 use a single ComplexViewConstIterator for all views
    86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
    5d4b9c2cb only need an custom iterator for ComplexSpansView
    d9f0fb128 hook up iterators
    b9329e4db initial pass at a ComplexViewConstIterator
    635238873 remove compiler warning about unused "constexpr" variables
    b39f6096f use the casing from H5 to make copy/pasting code slightly easier
    0887b13eb Merge branch 'main' into feature/hdf5
    bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
    7acd30ee2 tweak hdf5.lite dependencies
    38ab914df Jupyter notebook for creating H5 files
    95a040e0b _small.h5 is now (correctly) FLOAT32
    107e7c487 make a simple values() member function to avoid template magic
    e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
    738333688 readDatasetT() now throws for the wrong buffer type
    6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    310f8fd3d can't get template magic right for copy_axis()
    86b306d59 stepping through copy ctors in the debugger is annoying
    f243e92d6 trying to make wrong type of buffer fail
    2b10d9652 read in new sample file
    a28e59d8c help the compiler with type deduction
    49bf5e9bc nested_complex_float_data_small.h5
    e029325fc utility routines to "deconstruct" and array of std::complex
    dede3bd39 Merge branch 'main' into feature/hdf5
    904b1ef5e tweak class names, make_() and copy() utility routines
    8237b9efb make it harder to pass the wrong types to ComplexViews
    4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
    f5e367dfa test std::span<const std::complex<float>>
    a4a2844f2 read in the nested "i" and "r" data
    115615265 sample file has subgroups
    8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
    9f4232a1d update sample H5 file
    8c55db73a walk through HDF5 sub-groups
    7775ed9c4 Update 123_barfoo_catdog_cx.h5
    677975d7c Matlab code to create sample H5 file
    a0e7dfe07 Update test_hdf5info.cpp
    0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
    86a677321 skeleton for more sample data
    85f79b099 Merge branch 'main' into feature/hdf5
    18088e942 Merge branch 'main' into feature/hdf5
    3a1d17692 Merge branch 'main' into feature/hdf5
    1755c69d7 Merge branch 'main' into feature/hdf5
    9ad015432 No more "11" suffix on exception names
    c20d96251 Squashed commit of the following:
    c88cee999 other values to be filled-in
    bca4a4ecd incorporation NamedObject from HDF5 docs
    61fa68f72 groupInfo()
    460e7d766 datasetInfo()
    14eb9b764 start filling in DatasetInfo
    afe5f1c3a start to fill in DatasetInfo
    77a968c72 start filling in GroupInfo
    d81bcdfd9 openGroup() to open groups (loc)
    a0cd29469 comment-out "dataset" unittest for now
    86e006024 begin filling in FileInfo
    366dda6ab a return_type_of utility is needed to deduce the return type
    e21928263 explicitly pass return type to template
    4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
    b3b5ebde7 use new exception utility routines
    ea1c03ef0 put exception handling/conversion in a utility routine
    819a99d39 utility routine for exception handling
    6f34eea97 put utilities in a separate file for easier reuse
    fcbde4f24 break utility routines into smaller pieces for easier reuse
    52358ea8a WIN32 no longer automatically defined?
    5a4286472 Revert "build HDF5 with C89"
    680e599e9 build HDF5 with C89
    a87a07121 Merge branch 'main' into feature/hdf5
    8447c1a90 Revert "sym-links instead of copying files"
    db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
    fb60b5696 Merge branch 'main' into feature/hdf5
    5110a5cc8 Comments about _u and _q
    1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
    fa06f04d7 get ready for hdf5.lite enhancdements
    b040c7c43 sym-links instead of copying files
    aa431bb47 use _u for xml::lite::Uri
    3d0c6d58c fix case-sensitive #include filename
    93dcd0e52 operator() for getElementByName()
    75a93af85 more operator[] overloads to make attribute management easier
    4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
    f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
    ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    ffdd9beb0 simplify attribute creation
    9bf5414f5 simplify attribute creation
    82d7a4e95 SWIG gets confused about namespaces
    7a61d0741 fix bug on Element ctor uncovered by unittest
    fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
    a325b7053 operator+=() overload for addChild
    daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
    b887d2b47 provide overloads for Element& rather than creating new "reference" types
    1fa6bba38 rename test_xmleasy.cpp
    7c8c9e0f1 += overload
    850da6f63 overload for std::string
    4547fc5a7 use UIT-8 strings for characterData
    4723462a3 convenient addChild() overloads
    e48720753 copy over ElementReference from xml.easy
    a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
    6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
    f7466a6d7 Revert "simple routines for single element"
    a5490230d Revert "make some operators simplier ways of calling functions"
    c9a25630a Revert "get document creation working"
    8af8710b0 Revert "free functions instead of member functions"
    16c3847cb Revert "ElementReference distinct from Element"
    7d68e156f Revert "ElementMutableReference"
    00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
    a42969c1f ElementMutableReference
    a20ae9355 ElementReference distinct from Element
    14eeeea0b free functions instead of member functions
    4aae014b3 get document creation working
    883569269 make some operators simplier ways of calling functions
    053bd1212 simple routines for single element
    8bf701a2e check-in of new xml.easy (to move code between computers)
    41f959051 unittests for creating XML documents from scratch
    9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
    1531d5709 by default, don't validate strings passed to Uri()
    46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
    39b547d32 remove more vestiges of Expat and LibXML
    ec8274d52 remove LibXML and Expat as they're no longer used/supported.
    20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
    95074b9b1 update for newer Intel compiler
    7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
    57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
    4b67561c3 remove validate() overload that nobody is using
    fa15f1e5d Squashed commit of the following:
    1484a9090 test the new validate() API
    470da70fb hookup StringStreamT routines
    2cddf2504 begin hooking up validate() overloads
    1b5d910f3 overload validate() for UTF-8 and Windows-1252
    03309b8c9 Squashed commit of the following:
    b72c6c5bf older compiler doesn't like our make_unique
    af8f00307 validate UTF-8 XML on Linux
    211188613 unit-test for LEGACY XML validation
    3c1169d2b Squashed commit of the following:
    3afff19ca std::filesystem::path for FileInputStreamOS
    908d452f8 WIP: validate all of our sample XML files
    00f9bb16b validate against a XML schema
    243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
    2815d707d fix to work with SWIG bindings. :-(
    460862132 trying (again) to remove vestiages of old code
    e3c83a858 Revert "new code should use UTF-8"
    811207c92 new code should use UTF-8
    0ffd835f9 Squashed commit of the following:
    1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
    c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
    850d3c811 str::strip() that can be easier to use than str::trim()
    580ba9c8c explicitly =delete move
    2b39831a8 Squashed commit of the following:
    39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
    9adf86cba force calling new UTF-8 write() routines
    ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
    8a34583fa overload to take schemaPaths as filesystem::path
    8671b442f parse XML embedded in a binary file
    ec4a902f1 updates from xerces.lite
    80dc4d963 updates from xerces.lite
    549766d6c Attributes::contains() no longer catches an exception
    8a645ceac need "sys/" when building in other environments
    36af08269 super-simple URI validation
    78ef28a3e SWIG bindings are a PITA! :-(
    e9cba8491 SWIG needs help with Uri
    8a8d8dc07 another routines used by pre-build SWIG bindings
    818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
    067cac5d8 old compiler gets confused on unadorned QName
    ba92c0ae7 more use of Uri and QName
    446c7d17a use QName in new code
    d6f8b0c83 more direct use of QName
    90fff1c73 use xml::lite::QName instead of tuple<string, string>
    646cbb5ed more direct use of QName and Uri
    ba589ea3b make QName more robust
    bab0ee8b5 createElement() -> addNewElement()
    e3a145747 grab changes from six-library
    32285e95c Merge branch 'master' into feature/xml.lite_tweaks
    9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
    a12bbc32c make it easier to create new Elements with a value
    fc9967f98 make it easy for callers to addChild() keep a reference to the Element
    4627766b7 be sure test_xmlparser works in "externals" of other projects
    bf2276396 "private" is part of the name-mangling
    fad92bcc8 making sure copy-ctor is implemented
    f90fdcead consolidate common XML test code
    9fc53f2d5 use str:: utility for casting
    6da6f794b still trying to find the right macro for SWIG
    0c1b86c56 still trying to fix SWIG
    fdc6fc9bd trying to fix SWIG build error
    7835e8c27 SWIG needs copy-ctor
    585695942 disable copy/assignment for Element, it's probably almost always wrong
    391fed613 fix double-delete caused by copying
    61790fe69 retry parsing XML with Windows-1252 if first parse() fails
    63cffac59 change string_encoding to match coda-oss style of PascalCase
    010479bbe read an XML file we know is wrongly encoded as Windows-1252
    9a0505062 more references instead of pointers
    2d44b6951 Reading Windows-1252 w/o "encoding" fails
    63dc7b076 read Windows-1252 too
    c9434c9cb test as UIT-8 too
    f310ccf0c get reading from UTF-8 XML working on Windows
    1fa39c2be get testReadUtf8XmlFile working on Linux
    1a83cd815 sys::Path is too much trouble right now
    ed60aa22c unit-test to read XML from a file
    a9336db7c Squashed commit of the following:
    0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
    c618489be Merge branch 'master' into feature/xml.lite_tweaks
    e8e4b8fe1 determine string_encoding based on platform
    1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
    961bef66b Merge branch 'master' into feature/xml.lite_tweaks
    e9798a5cb fix static_assert()
    6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
    b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
    1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
    53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
    60cf8ae80 "" doesn't work with decltype() in older C++
    97e72477a reduce getValue() overloads by making "key" a template argument
    5e6373e55 reduce code duplication
    f9e7cfeee provide castValue<T> instead of getValue(T&)
    cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
    87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
    10cc61223 make getElement*() consistent for zero or >1 results
    f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
    1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
    df8b746e1 allow clients to specify their own toType/toString routines
    66702726a Merge branch 'master' into feature/xml.lite_tweaks
    6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
    d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
    fbd106115 catch a BadCastException and return false from getValue()
    3a78377b5 use a template to reduce duplicated code
    0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
    a848aa3a2 get & set the characer data as a type
    f3ee1ee12 utility routines to set an attribute value
    595227683 templates to get an attribute value convert to a specific type
    06639227b miised a change in last commit
    1aa458ef8 add getValue() overloads that return true/false rather than throwing
    faa6d3075 added getElementByTagName() overloads as that's a very common use-case

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

commit a7a7ecc20c79c349b0aa527dabc2fc3e2f69fa26
Merge: afb830018 e35ff9357
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:50 2023 -0400

    Merge commit 'e35ff93576fbc97ae678b9f941c69a96cf2b8159' into develop/sync_externals

commit afb830018844d675fc9601a83823bf9c2cd60d05
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:44 2023 -0400

    latest from CODA-OSS and NITRO

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 77cc841ae..cf6c4249a

cf6c4249a /W3 for release builds
1ec9a072c Merge branch 'main' into cpp17
5eae4c1f6 turn of /Wall for MSVC (#755)

git-subtree-dir: externals/coda-oss
git-subtree-split: cf6c4249a81daa512765d488ddcd4b845d9e0999

* Squashed 'externals/nitro/' changes from c899f14ad..b5612a7df

b5612a7df enable "WarningsAsErrors" for DEBUG builds
2f47cc122 Merge commit 'f067a751ac940fc485c06f003e2e2c23071a8766' into cpp17
f067a751a Squashed 'externals/coda-oss/' changes from 5015192abb..1ec9a072c4
50a3500ec Merge branch 'main' into cpp17
de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: b5612a7dffc1a7340da81f6390fda40e8a59e679

* enable "Warnings as Errors"

* /guard:cf

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from cf6c4249a..aba8366d8

aba8366d8 CODA_OSS_LIBRARY_SHARED=1
52e067ec7 Merge branch 'main' into cpp17
df4e0fc1f changes to build SIX DLLs (#757)
faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
d15173f38 export symbols used by NITRO (#756)
6ed3c048b use Debug DLL library in Debug

git-subtree-dir: externals/coda-oss
git-subtree-split: aba8366d8b11467d9986344c68947c04748e5911

* develop/sync_externals

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aba8366d8..0ed92d85a

0ed92d85a favor speed over size
07d78dba4 Merge branch 'main' into cpp17
28926b673 provide our own (simple) mdspan implementation (#759)
6bb722454 make SpanRC API match std::mdspan (#758)

git-subtree-dir: externals/coda-oss
git-subtree-split: 0ed92d85a7fea52f79fc203d24c0ab2166a52d6d

* Squashed 'externals/nitro/' changes from b5612a7df..f6179b4e1

f6179b4e1 Merge branch 'main' into cpp17
09f2f458f use $(SolutionDir) to get to externals
19b260009 Merge branch 'main' into cpp17
3de4c5059 latest from CODA-OSS (#605)
b5d609a0a need #pragma warning(disable) outside push/pop
185f02f14 Merge commit '5efbb0c81357a6ee4da4209e42668c942cb915da' into cpp17
5efbb0c81 Squashed 'externals/coda-oss/' changes from aba8366d8b..0ed92d85a7
0678478cb latest from CODA-OSS
3afd90921 develop/sync_externals
d0d99025d Squashed 'externals/coda-oss/' changes from 1ec9a072c4..aba8366d8b
c16779d74 Merge commit 'd0d99025d060792e63273741fab6e4a99700b49a' into cpp17
2f4fef813 latest from CODA-OSS
261f3752f Merge branch 'main' into cpp17
dc3a8ecf0 export more symbols (#604)
22f11f42b build as a DLL in Visual Studio (#603)
8d8184c27 NITRO can now build DLLs (#602)
d3f58f038 added environment variable to enable pre-loading of TREs (#601)
4f1a05b23 /guard:cf
85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
eca918471 /guard:cf
5d540334b /guard:cf

git-subtree-dir: externals/nitro
git-subtree-split: f6179b4e11c0b236b0838ad9bd17c9591194b09a

* Squashed 'externals/coda-oss/' changes from 0ed92d85a..3770d0758

3770d0758 Merge branch 'main' into cpp17
ed283d676 Only need to actually create/destroy Xerces once (#761)
8087b1e11 utility routines to convert to/from collections of paths
a869c8a8e use a lookup table for str::upper() and str::lower() (#760)
43fab2bd0 DefaultErrorHandler is a base class
00e343177 Merge branch 'main' of https://github.com/mdaus/coda-oss
27085f06b DefaultErrorHandler is a base class
98ec79835 favor speed over size

git-subtree-dir: externals/coda-oss
git-subtree-split: 3770d0758485f3dd80ab4055c084dd5793586fb3

* Squashed 'externals/nitro/' changes from f6179b4e1..c5a06b5ae

c5a06b5ae Merge commit 'b5f4e18f2ef590b39d639a96c174a27dacc9bcd7' into cpp17
b5f4e18f2 Squashed 'externals/coda-oss/' changes from 0ed92d85a7..3770d07584
31a5bfa10 Merge branch 'main' into cpp17
847101014 latest from CODA-OSS (#606)

git-subtree-dir: externals/nitro
git-subtree-split: c5a06b5ae7b09ffd06ed866bcb0e35475c8d7f24

* Squashed 'externals/coda-oss/' changes from 3770d0758..86ec09d4e

86ec09d4e Merge branch 'main' into cpp17
b173830ca fix C++17 overload resolution

git-subtree-dir: externals/coda-oss
git-subtree-split: 86ec09d4ef2a2aca28d5a4f24dec6d67fa4bc88b

* Squashed 'externals/nitro/' changes from c5a06b5ae..497333fa9

497333fa9 Merge commit '53df008c44d7b20254ce928c3b8ceed1971ba496' into cpp17
53df008c4 Squashed 'externals/coda-oss/' changes from 3770d07584..86ec09d4ef

git-subtree-dir: externals/nitro
git-subtree-split: 497333fa97e82f9d30fdf6894e7d295a0ef0c8da

* Squashed commit of the following:

commit ae83db1f45aa896b60d760140dda882c7064d3b2
Merge: 1f26addd2 d8a0ee515
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:42 2023 -0500

    Merge commit 'd8a0ee5156ee3118138921df3a5b9ae84a0ad104' into develop/sync_externals

commit d8a0ee5156ee3118138921df3a5b9ae84a0ad104
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:34 2023 -0500

    Squashed 'externals/nitro/' changes from 847101014..f39321c67

    f39321c67 latest from CODA-OSS
    60952fb78 preload the remaining TREs (#607)

    git-subtree-dir: externals/nitro
    git-subtree-split: f39321c67b2bcdc2f42d81da7b10c48c0f3c7504

commit 1f26addd2e4a141d9d2545a94fbf0c9ebb8df16b
Merge: f7fcf9cff e2ca833f6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:30 2023 -0500

    Merge commit 'e2ca833f641c4e0da29b5e621f81ee2c299ad5ee' into develop/sync_externals

commit e2ca833f641c4e0da29b5e621f81ee2c299ad5ee
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:30 2023 -0500

    Squashed 'externals/coda-oss/' changes from ed283d676..b173830ca

    b173830ca fix C++17 overload resolution

    git-subtree-dir: externals/coda-oss
    git-subtree-split: b173830ca9d9946bc4375786bd39abfdbc2ed9c9

commit f7fcf9cffde544f0b00fd4b12083af5e0baff1fb
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:44:27 2023 -0500

    latest from CODA-OSS and NITRO

commit 2503884012cad67d7e177b531c06671ad7cbd628
Merge: 92a8741ab d76cbe708
Author: Dan Smith <dan.smith@maxar.com>
Date:   Tue Dec 19 13:43:21 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 92a8741abefdde14e581b9eeeeb8ab33c65de93d
Merge: 243c86ff4 10712f532
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:24 2023 -0500

    Merge commit '10712f532ba879400ef7438bf130cd7e9619427c' into develop/sync_externals

commit 10712f532ba879400ef7438bf130cd7e9619427c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:20 2023 -0500

    Squashed 'externals/nitro/' changes from 09f2f458f..847101014

    847101014 latest from CODA-OSS (#606)

    git-subtree-dir: externals/nitro
    git-subtree-split: 8471010142ae5f85f596f2cf1737c8aa5d89c7fa

commit b3745ac5c20ce440baa7ec3c7164e7c63d27bee5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:16 2023 -0500

    Squashed 'externals/coda-oss/' changes from 28926b673..ed283d676

    ed283d676 Only need to actually create/destroy Xerces once (#761)
    8087b1e11 utility routines to convert to/from collections of paths
    a869c8a8e use a lookup table for str::upper() and str::lower() (#760)
    00e343177 Merge branch 'main' of https://github.com/mdaus/coda-oss
    27085f06b DefaultErrorHandler is a base class
    98ec79835 favor speed over size

    git-subtree-dir: externals/coda-oss
    git-subtree-split: ed283d676654023f2ea58fd7b6385fa30c03b08a

commit 243c86ff4f3bf959096833b9fd9f205ebfd7199b
Merge: 2e0c1a4ec b3745ac5c
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:16 2023 -0500

    Merge commit 'b3745ac5c20ce440baa7ec3c7164e7c63d27bee5' into develop/sync_externals

commit 2e0c1a4eca6b66eba0bd4ada78256c648821d4d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:19:10 2023 -0500

    latest from CODA-OSS

commit 064aa9ea92eeaf0ac26304604406fd0abec76122
Merge: 6d7636e20 32bafebb6
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Dec 11 12:18:39 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 48c21c451bf6966acacd87444b29ceb4577a5125
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:06 2023 -0500

    Squashed 'externals/nitro/' changes from 3de4c5059..09f2f458f

    09f2f458f use $(SolutionDir) to get to externals

    git-subtree-dir: externals/nitro
    git-subtree-split: 09f2f458fe16fcaa6dd5f6c025b91a1ca657abe4

commit 6d7636e20a13fcae10d56c24c8326a9f2d08a12b
Merge: f2fb57133 48c21c451
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:06 2023 -0500

    Merge commit '48c21c451bf6966acacd87444b29ceb4577a5125' into develop/sync_externals

commit f2fb57133fd93eb0a9ca05299c662e3388224db4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:54:00 2023 -0500

    latest from NITRO

commit 3cce5cee8ecc7a8747935e153fab7e131904d752
Merge: c1d1b5fd7 95eb9f0f8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:27 2023 -0500

    Merge commit '95eb9f0f8b619be1ac5fc260da1c4e4b256532ec' into develop/sync_externals

commit 95eb9f0f8b619be1ac5fc260da1c4e4b256532ec
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:22 2023 -0500

    Squashed 'externals/nitro/' changes from dc3a8ecf0..3de4c5059

    3de4c5059 latest from CODA-OSS (#605)

    git-subtree-dir: externals/nitro
    git-subtree-split: 3de4c5059eaf7d1ba2ccd1c16c7bc84efd3f028e

commit f5abe981a0cd9b43137fac77e0af0d899da91a43
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:18 2023 -0500

    Squashed 'externals/coda-oss/' changes from df4e0fc1f..28926b673

    28926b673 provide our own (simple) mdspan implementation (#759)
    6bb722454 make SpanRC API match std::mdspan (#758)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 28926b673931c3f148882ceca7d3de203accfa4e

commit c1d1b5fd7ca8b93026f75d7e929e1f9278d09254
Merge: e722bff5c f5abe981a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:18 2023 -0500

    Merge commit 'f5abe981a0cd9b43137fac77e0af0d899da91a43' into develop/sync_externals

commit e722bff5c91907e056579016ab4ea78fc363a4e2
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:37:15 2023 -0500

    latest from CODA-OSS

commit d385d8ebd95a0271f5e2d6c293a6c0d9890689a3
Merge: 2980070a2 34fd74e9a
Author: Dan Smith <dan.smith@maxar.com>
Date:   Fri Dec 1 10:36:15 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 2980070a2a577fa19a1f26f3d2d91d537c0ad922
Merge: b6b878bcd e62fb02dc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:21:20 2023 -0500

    latest from CODA-OSS

commit e62fb02dc2258c7b6afda0994474fef1dc0ae6c5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:46 2023 -0500

    Squashed 'externals/nitro/' changes from de4686af0..dc3a8ecf0

    dc3a8ecf0 export more symbols (#604)
    22f11f42b build as a DLL in Visual Studio (#603)
    8d8184c27 NITRO can now build DLLs (#602)
    d3f58f038 added environment variable to enable pre-loading of TREs (#601)
    85a113021 Merge branch 'main' of https://github.com/mdaus/nitro
    a1cec9cf6 Merge branch 'main' of https://github.com/mdaus/nitro
    6801fa735 Merge branch 'main' of https://github.com/mdaus/nitro
    eca918471 /guard:cf
    5d540334b /guard:cf

    git-subtree-dir: externals/nitro
    git-subtree-split: dc3a8ecf0e5e13c23ec1f2294c323d0bbd222e2a

commit ce6eb2ff528a6da74e3a39428e63fb36ff463522
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:43 2023 -0500

    Squashed 'externals/coda-oss/' changes from 5eae4c1f6..df4e0fc1f

    df4e0fc1f changes to build SIX DLLs (#757)
    faf5d0521 allow CMake to switch between building SHARED (DLLs) or STATIC libraires
    d15173f38 export symbols used by NITRO (#756)
    6ed3c048b use Debug DLL library in Debug

    git-subtree-dir: externals/coda-oss
    git-subtree-split: df4e0fc1f6c564c02121d1328e850ed92552bfc1

commit b6b878bcdda708ec8283b4b28d8d64d35ad9c96c
Merge: 2a6c3504c ce6eb2ff5
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:20:43 2023 -0500

    Merge commit 'ce6eb2ff528a6da74e3a39428e63fb36ff463522' into develop/sync_externals

commit 2a6c3504c6f6787b68091f4e646bf4213e010b5f
Merge: f98b86745 953e13265
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 29 14:19:26 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 4b9245b68c1fbaebbc8d40a9799779551659760e
Merge: 19ea3e7ed e8e1c0786
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:45 2023 -0500

    Merge commit 'e8e1c07869c246fe8255798c1e304b62c034c986' into develop/sync_externals

commit e8e1c07869c246fe8255798c1e304b62c034c986
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:41 2023 -0500

    Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

    0342b596a latest from CODA-OSS (#592)
    0084f9bf7 reduce use of .str() (#591)
    253f57b2b latest from CODA-OSS (#590)
    d6bc1d83a disable code-analysis to fix Github builds
    981e75116 Update main.yml
    907bf91cd Update frequent_check.yml

    git-subtree-dir: externals/nitro
    git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

commit 651ec2228f993a1720824e5994766651848791f1
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

    92f8b88c7 std::ostringstream overloads
    8cb27de27 reduce use of .c_str() and .str() (#752)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

commit 19ea3e7eda12fa7581a3ba12b17996924c0f9f2f
Merge: 3e75b3859 651ec2228
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:37 2023 -0500

    Merge commit '651ec2228f993a1720824e5994766651848791f1' into develop/sync_externals

commit 3e75b385947bada81bb465c28c83d0b328327e39
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:09:32 2023 -0500

    latest from CODA-OSS and NITRO

commit f174846ca3ac27c8580c8118b3d89997410a5278
Merge: b46b11ca6 86bd245c8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 8 11:08:59 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

    3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
    3ec510861 Add missing files
    1693eac7e Update build_unittest.yml

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

commit b46b11ca625f763062ab5724b2b97123a21f0961
Merge: 1f3d578d2 9a7678be7
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:59 2023 -0500

    Merge commit '9a7678be7d34c94b153c8eabd24b1d9ee53dfdd9' into develop/sync_externals

commit 1f3d578d2728499e59efe16c718795bd6cd0b662
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:56 2023 -0500

    latest from CODA-OSS

commit f4dc51504b52d22011a94dad9db7af16868000f8
Merge: 990528a72 b5bc2b3d0
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 6 14:33:07 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 990528a7270e58932ec468e090abedb38c208c77
Merge: a7a7ecc20 0d9d64fa4
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:56:05 2023 -0400

    Merge commit '0d9d64fa47108c69f4cfaac1b7ea235443b8d552' into develop/sync_externals

commit 0d9d64fa47108c69f4cfaac1b7ea235443b8d552
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Oct 23 12:55:55 2023 -0400

    Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

    0357b1432 NITRO-2.11.5 (#589)
    a0ad6f943 CODA-OSS 2023-10-23 (#588)
    1b631e578 latest from CODA-OSS (#587)
    574bfe2b6 FmtX() -> str::Format() (#586)
    edfa0f7ce latest from CODA-OSS (#585)
    b26e15318 latest from CODA-OSS (#583)
    0db9bdb29 fix ASAN diagnostics (#582)
    e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
    6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
    32d9c4fe4 latest from CODA-OSS
    49f6338d2 latest from CODA-OSS (#581)
    72cd86cbf latest from CODA-OSS (#580)
    e4920a743 FmtX() -> str::Format()
    81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
    e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
    72209535d toString() changes from CODA-OSS (#579)
    fc1f59799 latest from CODA-OSS (#578)
    02e8f80c6 latest from CODA-OSS (#577)
    e7ea728ec reduce differences between cpp17 and main branches (#576)
    547d0aa9f NITRO-2.11.4 (#575)
    fe309c4ba Merge branch 'main' of …
JDanielSmith pushed a commit that referenced this pull request Feb 14, 2024
* restore C++17

* Squashed 'externals/coda-oss/' changes from e87c32b4d..5f858856e

5f858856e match code from 'main'
885e02a95 Merge branch 'main' into cpp17
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
436289c92 GCC 11 matches RH devtoolset-11
2a1ea98fb use GCC 10 on build server
ba9851db6 restore C++17
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 5f858856e773d3e5274f826edd608bd8b7ac2218

* Squashed 'externals/nitro/' changes from c8ecbe9ae..a5bd34266

a5bd34266 Merge commit 'b1f170ff084565365cdca72e88b87c80b7f848ba' into cpp17
b1f170ff0 Squashed 'externals/coda-oss/' changes from e87c32b4de..436289c928
d6efa7ec5 restore C++17
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: a5bd34266b2ab07e8970ccb9984b484db38361f7

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 5f858856e..a8c5a3b2b

a8c5a3b2b Merge branch 'main' into cpp17
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: a8c5a3b2b2c32fc150007e6a6cc20c00e7b32b54

* Squashed 'externals/nitro/' changes from a5bd34266..331deafa2

331deafa2 Merge commit 'afc15cad7caa998e32e6630489dbc22be8e5e9d5' into cpp17
afc15cad7 Squashed 'externals/coda-oss/' changes from 8dee6f7a68..a8c5a3b2b2
5b47be120 latest from CODA-OSS
475d30a6e Merge branch 'main' into cpp17
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
10befb769 Merge branch 'main' into cpp17
e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: 331deafa216548b25eb8788a15c694b7f7c07fbf

* Squashed 'externals/coda-oss/' changes from a8c5a3b2b..14f0b1545

14f0b1545 Merge branch 'main' into cpp17
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 14f0b1545c324fb0887289ec4bbfc6a67ffa61b6

* Squashed 'externals/nitro/' changes from 331deafa2..732538e80

732538e80 Merge commit '4fbdccb89c89f2253ae8c3fbe830e69e338ae1ac' into cpp17
4fbdccb89 Squashed 'externals/coda-oss/' changes from c92a55d7c7..14f0b1545c
fe8900094 Merge branch 'main' into cpp17
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 732538e809b6829e24382c371b3c2ad5313ac3a8

* Squashed 'externals/coda-oss/' changes from 14f0b1545..70a006d8a

70a006d8a Merge branch 'main' into cpp17
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 70a006d8a4daaca81af7a103cc8ada565eadf729

* Squashed 'externals/nitro/' changes from 732538e80..ff335eeaf

ff335eeaf Merge commit 'eab6b6c35439c1eb7fa22fb042aae4a61a936d66' into cpp17
eab6b6c35 Squashed 'externals/coda-oss/' changes from 14f0b1545c..70a006d8a4
5648a0267 Merge branch 'main' into cpp17
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: ff335eeaf8071f45a0e15cbba70ffdf7bcb8a15f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 70a006d8a..b6ead418c

b6ead418c fix previous merge (#744)
07bcb3a39 Merge branch 'main' into cpp17
76beb7f34 Throwable always inherits from std::exception (#742)
959532681 reduce use of FmtX macro (#743)
f1a857cc4 Revert "simplify Throwable and friends: always derive from std::exception"
8d5f4402f simplify Throwable and friends: always derive from std::exception
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: b6ead418cfde26b016a3be199cd8ca7039a0a7be

* sync_externals

* Squashed 'externals/coda-oss/' changes from b6ead418c..434b85fe5

434b85fe5 Merge branch 'main' into cpp17
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 434b85fe537621a2fe3f525f685126480ea4c153

* Squashed 'externals/nitro/' changes from ff335eeaf..cca11bf4c

cca11bf4c Merge commit 'b40d3f96fff13bf708f319c684348ebd9884aff1' into cpp17
b40d3f96f Squashed 'externals/coda-oss/' changes from b6ead418cf..434b85fe53
2d6d5aa31 Merge branch 'main' into cpp17
1b631e578 latest from CODA-OSS (#587)
d32176660 Merge branch 'main' into cpp17
574bfe2b6 FmtX() -> str::Format() (#586)
a8e6556aa Squashed 'externals/coda-oss/' changes from 07bcb3a39b..b6ead418cf
53596f720 Merge commit 'a8e6556aa7bc5c105d3b4383589da7ef48982deb' into cpp17
29ccecf64 latest from CODA-OSS
b315d9b6c Merge branch 'main' into cpp17
edfa0f7ce latest from CODA-OSS (#585)
b708bd8ea `final` for NITFException
a2af78776 don't need FmtX() with no formatting
368cead55 Squashed 'externals/coda-oss/' changes from 70a006d8a4..07bcb3a39b
9b10c5340 Merge commit '368cead55f182d12953a6964b2598021f9629cf3' into cpp17
6e40d15b4 latest from CODA-OSS
31fc61888 develop/sync_externals

git-subtree-dir: externals/nitro
git-subtree-split: cca11bf4c8a99e779c2a7158e2fc214d3b097337

* sync_externals

* Squashed 'externals/coda-oss/' changes from 434b85fe5..dee001e71

dee001e71 everything is text except for known binaries
f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: dee001e71b64f25037cad0cd7674be644ce1a818

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from dee001e71..eb60210ff

eb60210ff Merge branch 'main' into cpp17
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
e757d9bc7 eol=lf is the default
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
REVERT: dee001e71 everything is text except for known binaries
REVERT: f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: eb60210ff29ec245b64da719da8b398240918bb0

* latest from CODA-OSS

* add config.h files

* Squashed 'externals/coda-oss/' changes from eb60210ff..e573adb32

e573adb32 WAF build works w/o __has_include
6e2f0017b tiff_streamOpen() and tiff_readData() overload
c4978d525 Build 'libtiff' library (#748)
68ff08297 tiff-4.6.0 source code (#749)

git-subtree-dir: externals/coda-oss
git-subtree-split: e573adb3235b7d58d3bc3a38e0bbf7e0ae6710a7

* Squashed 'externals/nitro/' changes from cca11bf4c..80a517fcb

80a517fcb Merge commit '911c7b3ae49e1f92b94f2dc83d7716b7abc459c2' into cpp17
911c7b3ae Squashed 'externals/coda-oss/' changes from eb60210ff2..e573adb323
c3e3d3768 add config.h files
1cca072bd latest from CODA-OSS
cb5d115bc Squashed 'externals/coda-oss/' changes from 434b85fe53..eb60210ff2
8a3df82fb Merge commit 'cb5d115bcc2ecc11f81e4ccad23caff4f3f8ac29' into cpp17
dc3074153 Merge branch 'main' into cpp17
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)

git-subtree-dir: externals/nitro
git-subtree-split: 80a517fcba1d0260effe0ab4af7e39060c0433ae

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* sync_externals

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from e573adb32..8b21c3828

8b21c3828 Merge branch 'main' into cpp17
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 8b21c3828b10e8587ac614d49144c94cc0481587

* Squashed 'externals/nitro/' changes from 80a517fcb..9618cb382

9618cb382 Merge branch 'main' into cpp17
253f57b2b latest from CODA-OSS (#590)
c3ad6c72e Merge commit 'eba459da43c07c6a3d80b63248c9c7fb49605723' into cpp17
eba459da4 Squashed 'externals/coda-oss/' changes from e573adb323..8b21c3828b
0355e94ea latest from CODA-OSS
325fba327 Merge branch 'cpp17' of github.com:mdaus/nitro into cpp17
7558c7085 develop/sync_externals
2490f6fdc Merge branch 'main' into cpp17
4aa042353 turn off "Warnings as Errors" to fix github builds
45cd3febe turn off code-analysis to fix GitHub builds
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 9618cb382e07fc0edff06b39ed3987426c5011e2

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8b21c3828..5015192ab

5015192ab Merge branch 'main' into cpp17
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
90db8e19b enable AVX2 by default, it's from 2013
afebea485 Merge branch 'main' into cpp17
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 5015192abbfdeae1b2aaf252cbe40695507a08c9

* Squashed 'externals/nitro/' changes from 9618cb382..c899f14ad

c899f14ad Merge branch 'main' into cpp17
a37046807 latest from CODA-OSS (#596)
50c75444b Merge commit 'f9ff61eb905ed2119f4f908c568b577643cf42f8' into cpp17
f9ff61eb9 Squashed 'externals/coda-oss/' changes from 8b21c3828b..5015192abb
d37a0d078 latest from CODA-OSS
c2372d744 Merge branch 'main' into cpp17
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)

git-subtree-dir: externals/nitro
git-subtree-split: c899f14adef57a06d8baf6f9c72fa83a8e36247f

* return type needs to be explicit for subsequent specialization

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 5015192ab..77cc841ae

77cc841ae Merge branch 'main' into cpp17
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 77cc841aef3fe478170dc2c29b66046763cdcb4c

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

* Squashed 'externals/nitro/' changes from a37046807..de4686af0

de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

* Squashed commit of the following:

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 -0500

 …
JDanielSmith pushed a commit that referenced this pull request Mar 14, 2024
* copy six.sidd to six.sidd30

* six.sidd30 project and unittests

* sidd -> sidd30

* more sidd -> sidd30

* more sidd -> sidd30

* begin removing SIDD 3.0 support from six.sidd; it is now (or will be) just in six.sidd30

* remove more SIDD 3.0 unittest code from six.sidd, it's not just in six.sidd30

* remove last? traces of SIDD3.0 from six.sidd

* tweaks from feature/ISM

* latest from coda-oss and nitro

* Squashed 'externals/coda-oss/' changes from 1582c6ac9..aabc5818e

aabc5818e remove more C++11 work-arounds (#642)
b04ccca17 remove more C++11 work-arounds (#641)
e460970a7 increase GCC warnings (#640)
91284249b provide ComplexView iterator support (#639)
453b7ec68 try to get std::make_unique working with old Intel compiler (#638)
5736cfd4d is_trivially_copyable for old Intel compiler (#637)
7c2aea38f use H5 SDK naming conventions (#636)
fc3008b8d use 'modern' C pre-processor
b44709a95 added ComplexSpansView utility (#635)
986307c9c Merge branch 'master'
e1b0fa349 commit (but not build) HDF5 source code (#634)
3fd5ddae5 Merge branch 'main' into develop/remove-cpp11-workarounds
37d7ec76e restore C++14 workarounds for older compilers (#632)
244dfdb3d Merge branch 'develop/main' into develop/remove-cpp11-workarounds
714ca4ed7 restore C++14 workarounds for older compilers
640f2247c Delete hdf5-hdf5-1_13_2.tar.gz
eb365cbfb Merge branch 'master' into develop/remove-cpp11-workarounds
57b938eeb don't need __INTEL_COMPILER work-around with C++14
65779f3b1 build C code with -std=gnu99
94dc9280f C++14 work-arounds for an old version of the Intel compiler
3744d05e2 slam-in "main"
82b2fd63b restore some C++14 work-arounds for old compilers that only have partial C++14 support
94f6950a2 Merge branch 'main' into develop/remove-cpp11-workarounds
1ac97fe48 add HDF5 source code (not built) (#612)
8ab982820 Squashed commit of the following:
31781a14a remove C++17 work-arounds
c15f6930c Revert "<filesystem> is in C++17"
0fe38c16f restore recent buld.py changes
0c75411ee <filesystem> is in C++17
bbbcd562a remove C++11 work-arounds
c1e15e9d9 Merge branch 'main' into main-cpp17
bea818fb0 must use C++17 in this branch
91653a096 another place where C++17 is set
7d555f2be back to C++17
b1969d996 merge main
0792c77bf Merge branch 'main' into develop/remove-cpp11-workarounds
e49f273c1 Merge branch 'main' into develop/remove-cpp11-workarounds
240b61044 allow sys::Mutex references, instead of pointers, to be passed to sys::ConditionVar
9500d6f4b Merge branch 'main' into develop/remove-cpp11-workarounds
f1529942f std::make_unique instead of new
be9b6a71c Squashed commit of the following:
62a2ec4e1 Revert "remove our GSL work-around for C++11"
1db082c21 Revert "try the current "main" of GSL"
44b70edde try the current "main" of GSL
4edbf6bad Revert ""There is no warning 4814""
bcd7458be "There is no warning 4814"
c185bf3f1 starting working on MutexCpp11
313bdd1d9 AtomicCounter* files have been removed
c1c448051 remove our GSL work-around for C++11
37ae1193e remove our mem::SharedPtr, it's now always std::shared_ptr
71f3c1299 remove no-longer-used NSPR code
8e77cb210 removed no-longer-used Irix and Solaris files
fabef6966 use std::atomic for all AtomicCounter implementations
ace5b6d5a TEST_FAIL -> TEST_FAIL_MSG
30076c1d1 turns out there was already a TEST_FAIL macro
d73ee16fb need "::" to find global test
ba01c48df remove C++11 workarounds for C++14 features
cbd4a31ae Squashed commit of the following:
b21c203b8 Squashed commit of the following:
5b542c60f Squashed commit of the following:
cb0cf94ff ByteStream.cpp is now warning-free
f5daa37fc cast to DWORD; "const" correctness
bfaf644ff #pragma-away compiler warnings from standard headers
72d202dbe Merge branch 'master' into develop/reduce-compiler-warnings
b076580cd trying to fix GCC compiler warning
1687dc7fc Merge branch 'master' into develop/reduce-compiler-warnings
2c5db86db Merge branch 'master' into develop/reduce-compiler-warnings
6f76c2e3e Update CMakeLists.txt
c3ca4a538 do in-line initialization
8e6733618 remove G++ compiler warning
a0eff51cf Merge branch 'master' into develop/reduce-compiler-warnings
af19d88a6 Merge branch 'master' into develop/reduce-compiler-warnings
ba31cbaa9 use "void*" to avoid reinterpret_cast<>
08da1f8a1 Merge branch 'master' into develop/reduce-compiler-warnings
d1d453a2e Merge branch 'master' into develop/reduce-compiler-warnings
f5074a996 CODA_OSS_NDEBUG is extra gunk and not used; omit for now.
22de48858 don't even bother compiling our own versions of localtime_s() and gmtime_s() if we're not going to use them (compiler warning about "unused static funtion.")
0c92eba58 tweak NDEBUG/CODA_OSS_NDEBUG; update comments
544604775 Don't need to expose our own versions of localtime_s() and gmtime_s()
a050796c1 Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
fed604617 older compilers want std::string() as argument to std::logic_error()
cf2c502a6 do more debug & release builds on GitHub
d4aa99256 build some debug targets on Gitlab
368245258 tweak CODA_OSS_DEBUG again for G++
24ba64f71 tweak how CODA_OSS_DEBUG is set
9680e8f0e add check for _GLIBCXX_DEBUG
943218f83 Merge branch 'master' into develop/reduce-compiler-warnings
01c68e705 %#@*@%)*%@ fix RowCol::cast() again! :-(
b8472b457 oops ... gsl::narrow<> should be gsl::narrow_cast<> so that int/double conversion doesn't throw
109255ca8 "final" breaks SWIG; wrap RowCol use of gsl::narrow
e51e4c2ad no need to create local just to return
e546f2510 Merge branch 'master' into develop/reduce-compiler-warnings
d1391f989 use template for to_std_string() overloading
566942680 fix std::char8_t when building with C++20
cf604b1ab fix C++17 build errors
48a0fbedb get rid of coda_oss namespace; use CODA_OSS_cpp17 instead
9706a4336 remove code-analysis diagnostics
50592e4f8 G++ complains about an unneeded call to std::move()
9c7643c3f Merge branch 'master' into develop/reduce-compiler-warnings
ecfe1f8a7 more "noexcept"
b7ac50fb9 Merge branch 'master' into develop/reduce-compiler-warnings
eaecf46ed tweak CODA_OSS_cplusplus from "main"
5773b1ec1 trying to get C++17 WAF build working on Windows
a048a00a1 unique names for waf & CMake
7a5a0d5b2 do a better job of setting CODA_OSS_DEBUG
4355aae92 Merge branch 'master' into develop/reduce-compiler-warnings
1fd8cede2 cleanup for VS 2019 16.10
4dffa1394 explicitly =delete copy/assignment
df8f8920a Merge branch 'master' into develop/reduce-compiler-warnings
42b4e99b6 remove code-analysis diagnostics
70ce322c9 reduce compiler warnings/code-analysis diagnostics when building six
20eac2f49 Merge branch 'master' into develop/reduce-compiler-warnings
ff3ded56d get rid of more compiler warnings/code-analysis diagnostics
669dd51ff Merge branch 'master' into develop/reduce-compiler-warnings
623b65ab9 Merge branch 'master' into develop/reduce-compiler-warnings
11c75df53 fix release build errors
66f048b92 turn on more compiler warnings where possible
eb615e315 consolidate calls to mem::make::unique
a6f5eb690 reduce use of explicit new
84d5e1b01 use mem::make::unique instead of explicit new
019d726ea = default for default constructors
86ab5d8f3 use std::unique_ptr and "const noexcept"
b071972d7 another batch of =default for default constructors
98276da94 more =default for default .ctor()s
ceb7bc596 do default constructors with =default
7bed51750 more code-analysis cleanup
f9c04b117 "noexcept" code-analysis warnings
6586ae390 need gsl::make_span from gsl/span_ext
722089774 remove gsl/mem dependency cycle
d741a0761 use gsl::narrow<> instead of static_cast
99eb4b36e get rid of signed/unsigned mismatch compiler warning
814450522 remove more code-analysis diagnostics
c8441b309 Merge branch 'master' into develop/reduce-compiler-warnings
e6d70a9ff last of "const" from code-analysis
b8445814a mark a few more things as "const" per code-analysis
d18544ec7 don't need to create temporary std::strings
ee7faa979 still more code-analysis cleanup
5cd6f864d cleanup more code-analysis diagnostics
492fb0a86 one more compiler warning about implicitly deleted copy/assignment
b8f782c88 remove compiler warnings about implicitly deleted copy/assignment/move
14d1d1cb8 #pragma-away warnings from GSL
86c40ea6c assert() to prevent some code-analysis diagnostics
7204517a9 make copy/assignment explicit
3ce824079 reduce code-analysis diagnostics
01e367a56 Merge branch 'master' into develop/reduce-compiler-warnings
03f3ddde9 proper printf format
877d7dc93 Merge branch 'master' into develop/reduce-compiler-warnings
5a4a3d575 code-analysis doesn't like C-style casts
a3fdae416 code-analysis doesn't like NULL
6309baedc Merge branch 'master' into develop/reduce-compiler-warnings
d1194a2fe Merge branch 'master' into develop/reduce-compiler-warnings
535b4757d Merge branch 'develop/reduce-compiler-warnings' of github.com:mdaus/coda-oss into develop/reduce-compiler-warnings
a60b95d60 "constexpr" can be hard to get right with older C++11 compilers; don't even try
c07b5303e Merge branch 'master' into develop/reduce-compiler-warnings
04306bbee need at least VS2017 to use the real GSL
796ad820b Merge branch 'master' into develop/reduce-compiler-warnings
16c240cd6 Merge branch 'master' into develop/reduce-compiler-warnings
e07e89f0c turn on "warnings as errors" for CMAKE builds
5c019f891 complex "constexpr" functions not available with our version of g++
4ab074a58 fix a few more compiler warnings ... nearing the end! :-)
dea7ea41b And still more compiler warnings ... almost done 🤞🏻
fbe3bbb20 remove assorted compiler warnings
e60b7fd3c Merge branch 'master' into develop/reduce-compiler-warnings
e9df212c6 Arguments should be "const&" to prevent C4866
94e75cbed Merge branch 'master' into develop/reduce-compiler-warnings
d3130414a Merge branch 'master' into develop/reduce-compiler-warnings
9a5e71f31 Merge branch 'master' into develop/reduce-compiler-warnings
bd27c0232 Merge branch 'master' into develop/reduce-compiler-warnings
c053362d2 remove still more compiler warnings
9f133b85a remove some more compiler warnings
0883c729c Merge branch 'master' into develop/reduce-compiler-warnings
f4b766880 avoid comparision between signed/unsigned to prevent compiler warning
1e6564a6e eliminate more compiler warnings
85a7b8ad0 remove a few compiler warnings
09c82049f Merge branch 'master' into develop/reduce-compiler-warnings
31f1662fa Merge branch 'master' into develop/reduce-compiler-warnings
a313562a3 Merge branch 'feature/fix-compiler-warnings' into develop/reduce-compiler-warnings
8547cdd24 eliminiate GCC warnings from Filesystem.h
b5044b2a2 fix several compiler warnings/code-analysis diagnostics
9d2f90b8c GetEnvironmentVariable() and getenv() aren't quite the same
6faa3666f remove more compiler warnings

git-subtree-dir: externals/coda-oss
git-subtree-split: aabc5818e651be550c0fcc53be6f94902c61905e

* Squashed 'externals/nitro/' changes from e1a64da1f..24ff32863

24ff32863 -j 6 seems to work for SIX, how about NITRO?
713ee8538 -j 6 seems to work for SIX, how about NITRO?
4ccdf5b37 latest from coda-oss (#527)
c71acc492 latest from coda-oss (#526)
08cbb96f9 build with older C++14 compilers (#524)

git-subtree-dir: externals/nitro
git-subtree-split: 24ff328636e3acbf1745e49df45b787403ecb113

* latest from coda-oss and nitro

* use common code from six.sidd

* consistent convertDerivedClassificationToXML() API

* use common code from six.sidd

* compile SIDD30 Utilities.cpp

* get six.sidd30 unittests working

* remove files duplicated between six.sidd and six.sidd30

* build with CMake

* SIDD_V3.0.0 directory in "schema"

* easy access to test XML files from Visual Studio

* ValidatorXerces can be moved, but not copied

* fix SIDD version bug when generating fake data

* set things up for different schema paths for SIDD 3.0 (not yet implemented)

* more detailed output from schema validation failure

* SIDD_V3.0.0

* SIDD 3.0 schemas are in the SIDD_V3.0.0 directory

* no ISM-v201609 in this branch

* IonoParameters/F2Height is optional

* remove six.sidd30

* remove SIDD_V3.0.0

* slam in 'main'

* ISMVersion enum for 201609 and 13

* need to be able to set the ISM version in more places

* start rippling changes for ISMVersion

* add a "current" to make it easy for developers to switch between V201609 and v13

* change the ISM namespace

* restore SIDD-3.0_ISM-v13 to a separate directory

* Create sidd300_ISM-v13.xml

* wrap the xml::lite::validator in our own class

* pass a XmlLiteValidator instance

* xml.lite changes from coda-oss

* despite various checks for a NULL logger, it really can't be NULL

* use xml::lite::Validator directly

* move ISMVersion to the a sidd300 namespace to make it clear it's part of SIDD 3.0

* got a scoping issue somewhere :-(

* unittest for ISM-v13

* hack to read ISM-v13 SIDD from unittest code; WIP

* don't need make_ utility, at least right now

* log_errors_and_throw() utility

* prepare for validating a schema-path at a time

* latest xml.lite tweaks from coda-oss

* "new" code does XML validation one path at a time

* adjust schema paths if ISMVersion is set

* automatically prepend the ISM schema path

* remove ISMVersion from DerivedXMLControl

* allow the hard-coded "SIDD_V3.0.0_ISM-" name to be changed

* first pass at finding the corresponding XSD for a XML

* add a "hook" so that we can intercept validate() in SIDD code

* provide standard validateXMLImpl() implementation

* Revert "first pass at finding the corresponding XSD for a XML"

This reverts commit 6bb5937.

* move schema finding code to six.sidd

* new code only needs to work with std::vector<path>

* If we found the right XSD, use that directory first.

* Revert "allow the hard-coded "SIDD_V3.0.0_ISM-" name to be changed"

This reverts commit 8055430.

* always validate one schema-path at a time

* try not to open so many XSDs

* getEnvIfSet()

* look for SICommonTypes_V1.0.xsd to find the schema directory

* "hook" for validating created XML

* find_SIDD_schema_V_files() utility

* put the hard-code SIDD schema name in one place

* copy ISM-v201609 files to separate directory

* There is now a separate directory for each SIDD 3.0 ISM

* latest from coda-oss

* Squashed 'externals/coda-oss/' changes from e87c32b4d..ff4f820ed

ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @V3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: ff4f820ed8c406d43e3768508ca06d1a334b831f

* Squashed 'externals/nitro/' changes from c8ecbe9ae..2fd7a0bfa

2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 2fd7a0bfa708a93a4bd17e44dbb4eba400b424d2

* toXMLImplValidate() isn't needed (at least not right now)

* simplify validation code by converting to std::filesystem::path rather than using templates

* No longer need ScoppedISMVersion to read ISM-v13 XML

* comments to indicate the attributes for which we're looking

* be sure SIDD XML is really SIDD

* latest coda-oss from xml.lite branch

* use std::vector::insert

* create a SIDD Version enum rather than using strings

* expose ISMVersion in fromXML() and toXML()

* don't need old ISM with SIDD 3.0

* use six::sidd::Version rather than a string for creating fake data

* require ISMVersion for SIDD 3.0.0

* more use of six::sidd::Version

* save ISMVersion for SIDD 3.0.0

* adjust desVersion for ISMVersion

* use the ISMVersion from the environment, if any

* still more use of sidd::Version

* still more use of sidd::Version instead of strVersion

* latest from CODA-OSS and NITRO

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from ff4f820ed..d1244a080

d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)

git-subtree-dir: externals/coda-oss
git-subtree-split: d1244a080457bb87e03879f743e3b2467145da08

* Squashed 'externals/nitro/' changes from 2fd7a0bfa..05dae18a3

05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)

git-subtree-dir: externals/nitro
git-subtree-split: 05dae18a3a9c5ad70e1ce814c21ca8ec278829be

* latest from CODA-OSS

* latest from CODA-OSS

* xml.lite tweaks from CODA-OSS speed things up

* allow schema paths to be found/validated separate from XML validation

* XercesContext can't be "static" (yet)

* only initialize Xerces for multiple ValidatorXerces instances

* use sys::convertPaths() utility

* remove unneeded ValidatorXerces() overloads

* don't expose findValidSchemaPaths() right now; no actual use-case

* account for xml.lite changes in CODA-OSS

* latest from CODA-OSS

* `positiveInteger` -> `nonNegativeInteger` in SIDD 3.0

* convertJ2KLayerInfoToXML() routine so the `index` attribute can be written differently for SIDD 2.0 vs. 3.0

* get rid of convertJ2KLayerInfoToXML(), it's just noise

* convertCompressionToXML() already existed, make it virtual

* already had convertJ2KToXML(), make it `virtual`

* validate the value of the `index` attribute

* fix compiler warning

* update sample SIDD XML with <Compression>
JDanielSmith pushed a commit that referenced this pull request Mar 18, 2024
* restore C++17

* Squashed 'externals/coda-oss/' changes from e87c32b4d..5f858856e

5f858856e match code from 'main'
885e02a95 Merge branch 'main' into cpp17
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
436289c92 GCC 11 matches RH devtoolset-11
2a1ea98fb use GCC 10 on build server
ba9851db6 restore C++17
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 5f858856e773d3e5274f826edd608bd8b7ac2218

* Squashed 'externals/nitro/' changes from c8ecbe9ae..a5bd34266

a5bd34266 Merge commit 'b1f170ff084565365cdca72e88b87c80b7f848ba' into cpp17
b1f170ff0 Squashed 'externals/coda-oss/' changes from e87c32b4de..436289c928
d6efa7ec5 restore C++17
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: a5bd34266b2ab07e8970ccb9984b484db38361f7

* latest from NITRO

* Squashed 'externals/coda-oss/' changes from 5f858856e..a8c5a3b2b

a8c5a3b2b Merge branch 'main' into cpp17
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)

git-subtree-dir: externals/coda-oss
git-subtree-split: a8c5a3b2b2c32fc150007e6a6cc20c00e7b32b54

* Squashed 'externals/nitro/' changes from a5bd34266..331deafa2

331deafa2 Merge commit 'afc15cad7caa998e32e6630489dbc22be8e5e9d5' into cpp17
afc15cad7 Squashed 'externals/coda-oss/' changes from 8dee6f7a68..a8c5a3b2b2
5b47be120 latest from CODA-OSS
475d30a6e Merge branch 'main' into cpp17
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
10befb769 Merge branch 'main' into cpp17
e7ea728ec reduce differences between cpp17 and main branches (#576)

git-subtree-dir: externals/nitro
git-subtree-split: 331deafa216548b25eb8788a15c694b7f7c07fbf

* Squashed 'externals/coda-oss/' changes from a8c5a3b2b..14f0b1545

14f0b1545 Merge branch 'main' into cpp17
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)

git-subtree-dir: externals/coda-oss
git-subtree-split: 14f0b1545c324fb0887289ec4bbfc6a67ffa61b6

* Squashed 'externals/nitro/' changes from 331deafa2..732538e80

732538e80 Merge commit '4fbdccb89c89f2253ae8c3fbe830e69e338ae1ac' into cpp17
4fbdccb89 Squashed 'externals/coda-oss/' changes from c92a55d7c7..14f0b1545c
fe8900094 Merge branch 'main' into cpp17
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)

git-subtree-dir: externals/nitro
git-subtree-split: 732538e809b6829e24382c371b3c2ad5313ac3a8

* Squashed 'externals/coda-oss/' changes from 14f0b1545..70a006d8a

70a006d8a Merge branch 'main' into cpp17
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)

git-subtree-dir: externals/coda-oss
git-subtree-split: 70a006d8a4daaca81af7a103cc8ada565eadf729

* Squashed 'externals/nitro/' changes from 732538e80..ff335eeaf

ff335eeaf Merge commit 'eab6b6c35439c1eb7fa22fb042aae4a61a936d66' into cpp17
eab6b6c35 Squashed 'externals/coda-oss/' changes from 14f0b1545c..70a006d8a4
5648a0267 Merge branch 'main' into cpp17
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)

git-subtree-dir: externals/nitro
git-subtree-split: ff335eeaf8071f45a0e15cbba70ffdf7bcb8a15f

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 70a006d8a..b6ead418c

b6ead418c fix previous merge (#744)
07bcb3a39 Merge branch 'main' into cpp17
76beb7f34 Throwable always inherits from std::exception (#742)
959532681 reduce use of FmtX macro (#743)
f1a857cc4 Revert "simplify Throwable and friends: always derive from std::exception"
8d5f4402f simplify Throwable and friends: always derive from std::exception
fffac7fc4 Fix memory leaks in "cli" (#741)

git-subtree-dir: externals/coda-oss
git-subtree-split: b6ead418cfde26b016a3be199cd8ca7039a0a7be

* sync_externals

* Squashed 'externals/coda-oss/' changes from b6ead418c..434b85fe5

434b85fe5 Merge branch 'main' into cpp17
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)

git-subtree-dir: externals/coda-oss
git-subtree-split: 434b85fe537621a2fe3f525f685126480ea4c153

* Squashed 'externals/nitro/' changes from ff335eeaf..cca11bf4c

cca11bf4c Merge commit 'b40d3f96fff13bf708f319c684348ebd9884aff1' into cpp17
b40d3f96f Squashed 'externals/coda-oss/' changes from b6ead418cf..434b85fe53
2d6d5aa31 Merge branch 'main' into cpp17
1b631e578 latest from CODA-OSS (#587)
d32176660 Merge branch 'main' into cpp17
574bfe2b6 FmtX() -> str::Format() (#586)
a8e6556aa Squashed 'externals/coda-oss/' changes from 07bcb3a39b..b6ead418cf
53596f720 Merge commit 'a8e6556aa7bc5c105d3b4383589da7ef48982deb' into cpp17
29ccecf64 latest from CODA-OSS
b315d9b6c Merge branch 'main' into cpp17
edfa0f7ce latest from CODA-OSS (#585)
b708bd8ea `final` for NITFException
a2af78776 don't need FmtX() with no formatting
368cead55 Squashed 'externals/coda-oss/' changes from 70a006d8a4..07bcb3a39b
9b10c5340 Merge commit '368cead55f182d12953a6964b2598021f9629cf3' into cpp17
6e40d15b4 latest from CODA-OSS
31fc61888 develop/sync_externals

git-subtree-dir: externals/nitro
git-subtree-split: cca11bf4c8a99e779c2a7158e2fc214d3b097337

* sync_externals

* Squashed 'externals/coda-oss/' changes from 434b85fe5..dee001e71

dee001e71 everything is text except for known binaries
f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: dee001e71b64f25037cad0cd7674be644ce1a818

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from e87c32b4d..03f1a3bdf

03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
4a2f472c7 add extensions for .log and known Windows/Linux binaries (#746)
18f2c051f more FmtX() -> str::Format() changes (#745)
959532681 reduce use of FmtX macro (#743)
fffac7fc4 Fix memory leaks in "cli" (#741)
95ff879ba make it easier to turn on AVX2/AVX512F (#740)
a950c848b enable AVX2 and AVX512F CMake builds (#739)
369737085 use std::ssize() to reduce casts (#738)
8ae7dabac std::size() and std::ssize() (#737)
8db480be5 enable ASAN for GitHub builds (#736)
c92a55d7c build in SIX
333b91024 Squashed commit of the following:
ac8c312db Only allow va_args formatting under controlled circumstances (#735)
589aacfd7 str::to_native() for when conversion to std::string really is needed
743feb41e try hard not to lose string encoding (#734)
1854a9b46 hide use of str::cast() inside `details` namespace (#733)
fbe0c85f9 compile-time getSIMDInstructionSet() (#732)
ee2c46358 more consistent naming for routines to convert between encodings (#731)
00e2dd928 another FmtX() overload
165a799c5 more FmtX() overloads (#729)
8dee6f7a6 revert toString() changes (#728)
bf7ae4a71 use overloads rather than varargs for std::format() (#727)
22e050207 utility routines to reduce duplicated code (#726)
a5ea60647 remove str::EncodedStringView (#725)
168cbae01 reduce differences between 'main' and 'cpp17' (#724)
5b892bf5f release 2023-08-18 (#723)
0b1327d1e restore mem::AutoPtr; too much of a hassle moving it to numpyutils :-( (#722)
7691adb56 normalize line endings (#721)
b7d50efdd update to HDF5 1.14.2 (#720)
fcc96ec69 Update .gitattributes (#719)
bb82a94c9 xerces-c 3.2.4 (#718)
ef4ad7cf3 Update to e2fsprogs 1.47.0 (#717)
b4ca18a11 fix compiler warning about order of operations
a5df5b823 update to HighFive 2.7.1 (#716)
4109ee5d2 `mem::AutoPtr` is only for Python bindings (#715)
00d843f87 remove hdf5.lite (#714)
443dd3825 Reduce compiler warnings, speed up builds (#713)
d60861821 get optional working with partial C++17 (#712)
d5bd0d804 "warning STL4036: <ciso646> is removed in C++20."
c19ece7f9 Don't interfere with a partial C++20 implementation (#711)
065e86ddc operator==() for QName (#710)
1c16380ce remove zint* typedefs; don't want to encourage use of types::Complex (#709)
6dd247991 our optional<> is now closer to C++17 (#708)
87ac61739 strict checking on `std::complex<T>` is too much of a hassle for now
034d52c86 overloads to byte-swap type::Complex are too much trouble (#707)
42d449c33 sys::byteSwap overloads for types::Complex<T> (#705)
4092fd8e7 remove work-around for NITRO bug (#704)
e2472acfc build in NITRO and SIX (#703)
32ccf9105 Use same build paths as Visual Studio (#701)
366ac9f43 Another round of removing compiler warnings (#702)
a7f8ef260 Fix compile warnings from building CODA (#700)
f70b4202f account for coda-oss.vcxproj being in other SLNs
af3faebfc Remove more compiler/code-analysis warnings (#699)
82be2a6db unittests should work w/o install (#698)
dbb90a06d add msbuild for coda-oss.sln (#697)
5a417140a reduce compiler warnings (#696)
288619dfa all modules now part of coda-oss.vcxproj (#695)
c2fc5fc66 add more projects to coda-oss-lite.vcxproj (#694)
ceb86c186 support $(PlatformToolset) as a "special" environment variable (#693)
d78a8595a OS::getSIMDInstructionSet() utility (#692)
2d2df467d fix `python3 waf dumplib`
54033e70e Merge branch 'main' into feature/complex_short
3c63f9f65 std::numbers from C++20 (#691)
892dd0e00 ComplexInteger and ComplexReal to better match existing naming conventions (#690)
b3872181e match coda-oss naming conventions (#688)
704d6867f beef-up our complex type (#687)
47c1c1cd6 check is_absolute() for URLs (#686)
c042373e1 be sure our Path::isAbolute() matches std::filesystem::path::absolute() (#684)
ad10286bc volatile is about "special" memory, not threading (#685)
f4d42005f fix build error in NITRO
ff11a5557 keep using std::complex<short> for now (#682)
c88b9c053 types::complex<T> (#681)
d1244a080 don't need our own make_unique in C++14 (#680)
aeec0131c assert()s for mem::CopyablePtr (#679)
72b0ebd60 add types::complex_short (#678)
932130a58 patch to build other projects
c00c1f203 coda-oss release 2023-06-06 (#677)
ef54bbcd5 remove more compiler warnings (#676)
dadfc5ce6 distinguish between byte-swapping a buffer and single value (#674)
90187f6cd more xml.lite tweaks for SIDD-3.0/ISM (#675)
eb9960772 stronger type-checking for byteSwap() (#673)
ff4f820ed xml.lite tweaks to support SIDD 3.0 ISM (#672)
b1de8c0e5 std::byte should be a unique type (#671)
c05bf9a02 allow enums to be byte-swapped too
1f9fd88d6 remove spurious
47684c45b byteSwap now uses byte buffers (#670)
cbc659db2 add swapBytes() utility from SIX (#669)
891481b64 simplify byte-swapping (#668)
540ae763e more byteSwap() tweaks
0774c03c4 threaded byteSwap() (#667)
d156370d3 swapping a single-byte value makes no sense
c120e3255 be sure parameter is used to avoid compiler warning
e85ec9331 --output-on-failure for CTest (#666)
e80376197 turn off "there is no warning number" warning
c5f0a5d15 A C-string may not be NULL-terminated (#665)
0c5eb29ae use platform-specific routines for byteSwap() (#664)
0b7d581fa remove transform_async() (#663)
f6489b6be Merge branch 'main' into feature/xml.lite_tweaks
836c426a2 use function-pointers so that isConsoleOutput is only checked once
56e3c45b1 move depthPrint() functionality into non-member function in preparation for future changes
ddcd26d97 Merge branch 'main' into feature/xml.lite_tweaks
69cc0e506 use the more rigorous create_and_check_datatype()
9efb87558 Merge branch 'main' into feature/hdf5
4d2f2f417 more HighFive unittests (#662)
14191a844 HighFive::create_datatype() goes from C++ to HighFive
98583473f utility routines to read string attributes
1fa75ce81 use the C API to read a string attribute
71e7b69f5 still can't figure out how to read a string attribute :-(
e96f37a69 test reading the file attributes
a25244519 getAttribute() unittest
8f12a3000 getDataType() unittest
857ff0af3 HighFive utility routines (#661)
1d687db57 writeDataSet() utility overload
106aa6894 sigh ... H5Easy::dump() fill fails on Windows/WAF :-(
2641b60b2 Merge branch 'main' into feature/hdf5
35c19e7e8 change actions to @v3 (#660)
212bbd3a3 works on local machine, but not build server ... ?
7125118b0 dump of 1D vector doesn't work :-(
c704db435 sigh ... WAF build still failing :-(
01aae4616 does dump() of a 1D vector work?
76a53c813 comment-out H5 writing :-(
0f0e19aff test_highfive_dump()
cb8f73795 trying to get highfive_dump() unittest working w/Windows-WAF
6584a264a does test_highfive_create() work?
cde6147ce tweak HighFive wrappers (#659)
316566854 Revert "trying HighFive "write" unittests again"
a9ec24ca4 trying HighFive "write" unittests again
585ad49a5 tweak names of utility routines
4c91a4d97 make it easier to read a std::vector and std::vecotr<std::vector>
0217ffa26 readDataSet() now works for 1D data
95e8973f2 trying to get hdf5::lite::load() working
4d294611d "const" correctness
5e6305c3f fix load_complex()
4a134dc5f start work on utility routines to read complex data from HDF5
9d76a7f41 Merge branch 'main' into feature/hdf5
8f9667a24 whitepsace
ebd3fc99e Merge branch 'main' into feature/hdf5
40091b069 comment-out writing tests for now ... need to figure our WAF bulid failure
935aa3459 be sure the dataset has real data
114b9bf33 update release notes
bd9c0b26c tweak HighFive utility routines
acda1ef57 turn off diagnostics around expected failures
22a748840 readDataSet() utility routine for HighFive
bd88a8c25 HighFive writeDataSet() utility to work with our SpanRC
6142f5b33 use HighFive routines to write a HDF5 file
5bbf1abaf Use HiveFive routines to get info about the file
84fbc8378 duplicate unittests with H5Easy
f1f054c03 Merge branch 'main' into feature/hdf5
9b63ca470 fix directory names
f6f826689 fix directory names
7aeb82c33 Merge branch 'main' into feature/hdf5
d028baaeb hook up HighFive header-only library (#653)
3083b0a31 Revert "HighFive 2.6.2"
246985a7f Revert ""build" HighFive HDF5 library"
a8b75a586 Revert "turn off HighFive Boost support"
ec68d5f83 Revert "Add HighFive unittests"
f1f85b9e7 Revert "get test_high_five_base more-or-less compiling"
5ea634ee1 Revert "more work on getting HighFive unittests to build"
ecc45433c more work on getting HighFive unittests to build
bb194788a get test_high_five_base more-or-less compiling
d42bde000 Add HighFive unittests
ddc86bb32 turn off HighFive Boost support
b255122d4 "build" HighFive HDF5 library
396cc3ef2 HighFive 2.6.2
5e5f9d9c0 Merge branch 'main' into feature/hdf5
ee938b4a5 changes from SIX
bb764df90 Merge branch 'main' into feature/xml.lite_tweaks
de2a24380 make derived classes 'final' if possible
14e19bcd2 Change xml lite function to virtual (#645)
8f42ac8e9 Merge branch 'main' into feature/xml.lite_tweaks
18ad90645 hdf5Write unittest
3462e1179 createFile() and writeFile() overloads
ecee81d53 fix typos
197eecfa6 sketch-out hdf5::lite::writeFile()
bd2311795 use SpanRC for writeFile(), not yet implemented
ea9af7510 simple SpanRC to hold a 2D-size and pointer
027c19ee8 createFile() unittest
1f9d07ecb hook up createFile()
8c7e4473f start hooking up HDF5 writing
146e0bea3 Merge branch 'main' into feature/hdf5
88ca9fcb7 Merge branch 'main' into feature/hdf5
42b604b46 Squashed commit of the following:
10ee602c2 Merge branch 'main' into feature/hdf5
67aa42b69 restore changes from "main"
8bbfcbfbf unittests can be simplified to match fewer "view" classes
126bb802e Merge branch 'main' into feature/hdf5
3f8ba7a42 again, don't need a class just to convert from std::vector<> to std::span<>
24c2b489c Squashed commit of the following:
2703c119d Squashed commit of the following:
9d5228a2b don't need an entire class just to convert a std::vector<> into std::span<>
51bc931dc Merge branch 'main' into feature/hdf5
a84f25816 Squashed commit of the following:
c4d2ed696 add missing #include guards, fix type in existing #include guard
d541525a0 use a single ComplexViewConstIterator for all views
86e6a459f CODA_OSS_disable_warning causes GCC errors :-(
5d4b9c2cb only need an custom iterator for ComplexSpansView
d9f0fb128 hook up iterators
b9329e4db initial pass at a ComplexViewConstIterator
635238873 remove compiler warning about unused "constexpr" variables
b39f6096f use the casing from H5 to make copy/pasting code slightly easier
0887b13eb Merge branch 'main' into feature/hdf5
bd07df1ca Consistent casing for Dataset, Datatype, Dataspace
7acd30ee2 tweak hdf5.lite dependencies
38ab914df Jupyter notebook for creating H5 files
95a040e0b _small.h5 is now (correctly) FLOAT32
107e7c487 make a simple values() member function to avoid template magic
e1feca919 use TEST_SPECIFIC_EXCEPTION macro instead of try/catch
738333688 readDatasetT() now throws for the wrong buffer type
6b2cc2529 Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
310f8fd3d can't get template magic right for copy_axis()
86b306d59 stepping through copy ctors in the debugger is annoying
f243e92d6 trying to make wrong type of buffer fail
2b10d9652 read in new sample file
a28e59d8c help the compiler with type deduction
49bf5e9bc nested_complex_float_data_small.h5
e029325fc utility routines to "deconstruct" and array of std::complex
dede3bd39 Merge branch 'main' into feature/hdf5
904b1ef5e tweak class names, make_() and copy() utility routines
8237b9efb make it harder to pass the wrong types to ComplexViews
4d9aeda2c ComplexArrayView and ComplexParallelView utility classes
f5e367dfa test std::span<const std::complex<float>>
a4a2844f2 read in the nested "i" and "r" data
115615265 sample file has subgroups
8e1b7869a Merge branch 'feature/hdf5' of github.com:mdaus/coda-oss into feature/hdf5
9f4232a1d update sample H5 file
8c55db73a walk through HDF5 sub-groups
7775ed9c4 Update 123_barfoo_catdog_cx.h5
677975d7c Matlab code to create sample H5 file
a0e7dfe07 Update test_hdf5info.cpp
0b67e1602 pass __FILE__ and __LINE__ from calling site for a more accurate exception message
86a677321 skeleton for more sample data
85f79b099 Merge branch 'main' into feature/hdf5
18088e942 Merge branch 'main' into feature/hdf5
3a1d17692 Merge branch 'main' into feature/hdf5
1755c69d7 Merge branch 'main' into feature/hdf5
9ad015432 No more "11" suffix on exception names
c20d96251 Squashed commit of the following:
c88cee999 other values to be filled-in
bca4a4ecd incorporation NamedObject from HDF5 docs
61fa68f72 groupInfo()
460e7d766 datasetInfo()
14eb9b764 start filling in DatasetInfo
afe5f1c3a start to fill in DatasetInfo
77a968c72 start filling in GroupInfo
d81bcdfd9 openGroup() to open groups (loc)
a0cd29469 comment-out "dataset" unittest for now
86e006024 begin filling in FileInfo
366dda6ab a return_type_of utility is needed to deduce the return type
e21928263 explicitly pass return type to template
4937ccd11 template to reduce boilerplate when calling try_catch_H5Exceptions
b3b5ebde7 use new exception utility routines
ea1c03ef0 put exception handling/conversion in a utility routine
819a99d39 utility routine for exception handling
6f34eea97 put utilities in a separate file for easier reuse
fcbde4f24 break utility routines into smaller pieces for easier reuse
52358ea8a WIN32 no longer automatically defined?
5a4286472 Revert "build HDF5 with C89"
680e599e9 build HDF5 with C89
a87a07121 Merge branch 'main' into feature/hdf5
8447c1a90 Revert "sym-links instead of copying files"
db3b5e12b Merge branch 'main' into feature/xml.lite_tweaks
fb60b5696 Merge branch 'main' into feature/hdf5
5110a5cc8 Comments about _u and _q
1a937d32c Merge branch 'main' into feature/xml.lite_tweaks
fa06f04d7 get ready for hdf5.lite enhancdements
b040c7c43 sym-links instead of copying files
aa431bb47 use _u for xml::lite::Uri
3d0c6d58c fix case-sensitive #include filename
93dcd0e52 operator() for getElementByName()
75a93af85 more operator[] overloads to make attribute management easier
4ab8216f8 user-defined string literals to remove some noise around xml::lite::QName
f82f0b0fc Merge branch 'main' into feature/xml.lite_tweaks
ae30e3644 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
ffdd9beb0 simplify attribute creation
9bf5414f5 simplify attribute creation
82d7a4e95 SWIG gets confused about namespaces
7a61d0741 fix bug on Element ctor uncovered by unittest
fdd7e58c1 QName is also in the xerces namespace which confuses SWIG bindings
a325b7053 operator+=() overload for addChild
daf30e6c0 Merge branch 'feature/xml.lite_tweaks' of github.com:mdaus/coda-oss into feature/xml.lite_tweaks
b887d2b47 provide overloads for Element& rather than creating new "reference" types
1fa6bba38 rename test_xmleasy.cpp
7c8c9e0f1 += overload
850da6f63 overload for std::string
4547fc5a7 use UIT-8 strings for characterData
4723462a3 convenient addChild() overloads
e48720753 copy over ElementReference from xml.easy
a4ca30a0d Merge branch 'main' into feature/xml.lite_tweaks
6ae9f0b71 Revert "check-in of new xml.easy (to move code between computers)"
f7466a6d7 Revert "simple routines for single element"
a5490230d Revert "make some operators simplier ways of calling functions"
c9a25630a Revert "get document creation working"
8af8710b0 Revert "free functions instead of member functions"
16c3847cb Revert "ElementReference distinct from Element"
7d68e156f Revert "ElementMutableReference"
00eb2a282 Merge branch 'main' into feature/xml.lite_tweaks
a42969c1f ElementMutableReference
a20ae9355 ElementReference distinct from Element
14eeeea0b free functions instead of member functions
4aae014b3 get document creation working
883569269 make some operators simplier ways of calling functions
053bd1212 simple routines for single element
8bf701a2e check-in of new xml.easy (to move code between computers)
41f959051 unittests for creating XML documents from scratch
9752d50ae Merge branch 'main' into feature/xml.lite_tweaks
1531d5709 by default, don't validate strings passed to Uri()
46d13d4bf Merge branch 'master' into feature/xml.lite_tweaks
39b547d32 remove more vestiges of Expat and LibXML
ec8274d52 remove LibXML and Expat as they're no longer used/supported.
20eeefeef Merge branch 'master' into feature/xml.lite_tweaks
95074b9b1 update for newer Intel compiler
7024f71e1 Merge branch 'master' into feature/xml.lite_tweaks
57b1cbc83 Merge branch 'master' into feature/xml.lite_tweaks
4b67561c3 remove validate() overload that nobody is using
fa15f1e5d Squashed commit of the following:
1484a9090 test the new validate() API
470da70fb hookup StringStreamT routines
2cddf2504 begin hooking up validate() overloads
1b5d910f3 overload validate() for UTF-8 and Windows-1252
03309b8c9 Squashed commit of the following:
b72c6c5bf older compiler doesn't like our make_unique
af8f00307 validate UTF-8 XML on Linux
211188613 unit-test for LEGACY XML validation
3c1169d2b Squashed commit of the following:
3afff19ca std::filesystem::path for FileInputStreamOS
908d452f8 WIP: validate all of our sample XML files
00f9bb16b validate against a XML schema
243d8c356 Merge branch 'master' into feature/xml.lite_tweaks
2815d707d fix to work with SWIG bindings. :-(
460862132 trying (again) to remove vestiages of old code
e3c83a858 Revert "new code should use UTF-8"
811207c92 new code should use UTF-8
0ffd835f9 Squashed commit of the following:
1e7e03ded Merge branch 'master' into feature/xml.lite_tweaks
c1d806aff Merge branch 'master' into feature/xml.lite_tweaks
850d3c811 str::strip() that can be easier to use than str::trim()
580ba9c8c explicitly =delete move
2b39831a8 Squashed commit of the following:
39eebdc23 Merge branch 'master' into feature/xml.lite_tweaks
9adf86cba force calling new UTF-8 write() routines
ea61b6204 Merge branch 'master' into feature/xml.lite_tweaks
8a34583fa overload to take schemaPaths as filesystem::path
8671b442f parse XML embedded in a binary file
ec4a902f1 updates from xerces.lite
80dc4d963 updates from xerces.lite
549766d6c Attributes::contains() no longer catches an exception
8a645ceac need "sys/" when building in other environments
36af08269 super-simple URI validation
78ef28a3e SWIG bindings are a PITA! :-(
e9cba8491 SWIG needs help with Uri
8a8d8dc07 another routines used by pre-build SWIG bindings
818e1ec5d pre-build SWIG bindings use getElementByTagName() member function
067cac5d8 old compiler gets confused on unadorned QName
ba92c0ae7 more use of Uri and QName
446c7d17a use QName in new code
d6f8b0c83 more direct use of QName
90fff1c73 use xml::lite::QName instead of tuple<string, string>
646cbb5ed more direct use of QName and Uri
ba589ea3b make QName more robust
bab0ee8b5 createElement() -> addNewElement()
e3a145747 grab changes from six-library
32285e95c Merge branch 'master' into feature/xml.lite_tweaks
9f79f0bf6 Merge branch 'master' into feature/xml.lite_tweaks
a12bbc32c make it easier to create new Elements with a value
fc9967f98 make it easy for callers to addChild() keep a reference to the Element
4627766b7 be sure test_xmlparser works in "externals" of other projects
bf2276396 "private" is part of the name-mangling
fad92bcc8 making sure copy-ctor is implemented
f90fdcead consolidate common XML test code
9fc53f2d5 use str:: utility for casting
6da6f794b still trying to find the right macro for SWIG
0c1b86c56 still trying to fix SWIG
fdc6fc9bd trying to fix SWIG build error
7835e8c27 SWIG needs copy-ctor
585695942 disable copy/assignment for Element, it's probably almost always wrong
391fed613 fix double-delete caused by copying
61790fe69 retry parsing XML with Windows-1252 if first parse() fails
63cffac59 change string_encoding to match coda-oss style of PascalCase
010479bbe read an XML file we know is wrongly encoded as Windows-1252
9a0505062 more references instead of pointers
2d44b6951 Reading Windows-1252 w/o "encoding" fails
63dc7b076 read Windows-1252 too
c9434c9cb test as UIT-8 too
f310ccf0c get reading from UTF-8 XML working on Windows
1fa39c2be get testReadUtf8XmlFile working on Linux
1a83cd815 sys::Path is too much trouble right now
ed60aa22c unit-test to read XML from a file
a9336db7c Squashed commit of the following:
0825beb0d Merge branch 'master' into feature/xml.lite_tweaks
c618489be Merge branch 'master' into feature/xml.lite_tweaks
e8e4b8fe1 determine string_encoding based on platform
1f43bcfc2 create a new Element by using the platform to determine "characterData" encoding
961bef66b Merge branch 'master' into feature/xml.lite_tweaks
e9798a5cb fix static_assert()
6f7772874 Merge branch 'master' into feature/xml.lite_tweaks
b98d4f5a9 Merge branch 'master' into feature/xml.lite_tweaks
1b5abba2a The (old) version of SWIG we're using doesn't like certain C++11 features.
53bdeabaf Merge branch 'master' into feature/xml.lite_tweaks
60cf8ae80 "" doesn't work with decltype() in older C++
97e72477a reduce getValue() overloads by making "key" a template argument
5e6373e55 reduce code duplication
f9e7cfeee provide castValue<T> instead of getValue(T&)
cbd0bd8f2 castValue<T> throws instead of returning a bool like getValue(T&)
87c7514fc Merge branch 'master' into feature/xml.lite_tweaks
10cc61223 make getElement*() consistent for zero or >1 results
f5b137e3c Merge branch 'master' into feature/xml.lite_tweaks
1765efc62 allow clients to specify toType() and toString() for getValue() and setValue()
df8b746e1 allow clients to specify their own toType/toString routines
66702726a Merge branch 'master' into feature/xml.lite_tweaks
6956311f1 Merge branch 'master' into feature/xml.lite_tweaks
d505f3593 Merge branch 'master' into feature/xml.lite_tweaks
fbd106115 catch a BadCastException and return false from getValue()
3a78377b5 use a template to reduce duplicated code
0ad4b8606 Merge branch 'master' into feature/xml.lite_tweaks
a848aa3a2 get & set the characer data as a type
f3ee1ee12 utility routines to set an attribute value
595227683 templates to get an attribute value convert to a specific type
06639227b miised a change in last commit
1aa458ef8 add getValue() overloads that return true/false rather than throwing
faa6d3075 added getElementByTagName() overloads as that's a very common use-case

git-subtree-dir: externals/coda-oss
git-subtree-split: 03f1a3bdfa72d1baf84625fb6bcf9467e5792ace

* Squashed 'externals/nitro/' changes from c8ecbe9ae..0357b1432

0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)
1b631e578 latest from CODA-OSS (#587)
574bfe2b6 FmtX() -> str::Format() (#586)
edfa0f7ce latest from CODA-OSS (#585)
b26e15318 latest from CODA-OSS (#583)
0db9bdb29 fix ASAN diagnostics (#582)
e418beceb Merge commit '6144b2cfb436a5696bab62c81651b47edf07aa8c'
6144b2cfb Squashed 'externals/coda-oss/' changes from 8dee6f7a68..c92a55d7c7
32d9c4fe4 latest from CODA-OSS
49f6338d2 latest from CODA-OSS (#581)
72cd86cbf latest from CODA-OSS (#580)
e4920a743 FmtX() -> str::Format()
81ea6f178 Squashed 'externals/coda-oss/' changes from e87c32b4de..8dee6f7a68
e488297c3 Merge commit '81ea6f1789863f26f06dc447f7784383dc7cb595'
72209535d toString() changes from CODA-OSS (#579)
fc1f59799 latest from CODA-OSS (#578)
02e8f80c6 latest from CODA-OSS (#577)
e7ea728ec reduce differences between cpp17 and main branches (#576)
547d0aa9f NITRO-2.11.4 (#575)
fe309c4ba Merge branch 'main' of github.com:mdaus/nitro
10efa9990 latest from CODA-OSS (#574)
d08f1c0a1 CRLF
db5d3d484 latest from CODA-OSS
98c755048 CRLF
aa1482543 CRLF
bfdbe69a4 Latest from CODA-OSS (#573)
9e4ce0b58 latest from CODA-OSS (#572)
227a8a8f4 trust coda-oss for right -std flags
13869687e latest from CODA-OSS (#571)
5724d8c18 latest from CODA-OSS (#570)
fb794f0fe latest from CODA-OSS (#569)
7a6132ba0 update files changes in cpp17 branch (#568)
de91d4977 Fix bug creating NITFException (#567)
225273436 fix YAML for 'main'
5d1c83d11 single project for unittests (#566)
102a019db latest from CODA-OSS (known broken build) (#565)
b4ae2d429 match YAML from coda-oss
176bcaf6d build NITRO.SLN using msbuild (#562)
85e9043b8 latest from CODA-OSS (#561)
49ec50325 use new "PlatformToolkit" special environment variable (#560)
6c06e3711 latest from CODA-OSS (#559)
cee9feb42 latest from CODA-OSS (#558)
3f01809fa latest from coda-oss (#557)
471fb3fc1 Update test_j2k_loading++.cpp
b12caf2fc latest from CODA-OSS (#556)
0cd432624 use sys::make_span (#555)
05dae18a3 patch to build other projects
8f974e995 NITRO-2.11.3 (#554)
870aa6afd update to coda-oss 2023-06-05 (#553)
2fd7a0bfa latest from coda-oss (#552)
0eecce004 invoke() utility to reduce code duplication (#550)
59fb02fe9 latest from coda-oss (#551)
9fbf2b7b8 Fill out adapter free block which is used for nitf decompression (#549)
089ba0b5b latest from coda-oss
3b52f0025 latest from coda-oss (#547)
90c6263e2 latest from coda-oss (#544)
90d513ac5 latest from coda-oss (#543)

git-subtree-dir: externals/nitro
git-subtree-split: 0357b143293bc7b1ce5d5d941f1a5e6564b319a9

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from dee001e71..eb60210ff

eb60210ff Merge branch 'main' into cpp17
03f1a3bdf release 2023-10-23 (#747)
4dd7b2fbd Merge branch 'main' of github.com:mdaus/coda-oss
9428f12a0 add extensions for .log and known Windows/Linux binaries (#746)
e757d9bc7 eol=lf is the default
c3fd20a88 added some OLD Visual Studio extensions
d00db384a everything is text except for known binaries
c3813bb29 eol=lf is the default
REVERT: dee001e71 everything is text except for known binaries
REVERT: f69d6d7e6 eol=lf is the default

git-subtree-dir: externals/coda-oss
git-subtree-split: eb60210ff29ec245b64da719da8b398240918bb0

* latest from CODA-OSS

* add config.h files

* Squashed 'externals/coda-oss/' changes from eb60210ff..e573adb32

e573adb32 WAF build works w/o __has_include
6e2f0017b tiff_streamOpen() and tiff_readData() overload
c4978d525 Build 'libtiff' library (#748)
68ff08297 tiff-4.6.0 source code (#749)

git-subtree-dir: externals/coda-oss
git-subtree-split: e573adb3235b7d58d3bc3a38e0bbf7e0ae6710a7

* Squashed 'externals/nitro/' changes from cca11bf4c..80a517fcb

80a517fcb Merge commit '911c7b3ae49e1f92b94f2dc83d7716b7abc459c2' into cpp17
911c7b3ae Squashed 'externals/coda-oss/' changes from eb60210ff2..e573adb323
c3e3d3768 add config.h files
1cca072bd latest from CODA-OSS
cb5d115bc Squashed 'externals/coda-oss/' changes from 434b85fe53..eb60210ff2
8a3df82fb Merge commit 'cb5d115bcc2ecc11f81e4ccad23caff4f3f8ac29' into cpp17
dc3074153 Merge branch 'main' into cpp17
0357b1432 NITRO-2.11.5 (#589)
a0ad6f943 CODA-OSS 2023-10-23 (#588)

git-subtree-dir: externals/nitro
git-subtree-split: 80a517fcba1d0260effe0ab4af7e39060c0433ae

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 03f1a3bdf..3ae8f6afb

3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 3ae8f6afb3816bbb2ca9a72fbbd9ef78644eb5bf

* sync_externals

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from e573adb32..8b21c3828

8b21c3828 Merge branch 'main' into cpp17
3ae8f6afb Merge pull request #751 from mdaus/bugfix/hdf5-missing-files-main
3ec510861 Add missing files
1693eac7e Update build_unittest.yml

git-subtree-dir: externals/coda-oss
git-subtree-split: 8b21c3828b10e8587ac614d49144c94cc0481587

* Squashed 'externals/nitro/' changes from 80a517fcb..9618cb382

9618cb382 Merge branch 'main' into cpp17
253f57b2b latest from CODA-OSS (#590)
c3ad6c72e Merge commit 'eba459da43c07c6a3d80b63248c9c7fb49605723' into cpp17
eba459da4 Squashed 'externals/coda-oss/' changes from e573adb323..8b21c3828b
0355e94ea latest from CODA-OSS
325fba327 Merge branch 'cpp17' of github.com:mdaus/nitro into cpp17
7558c7085 develop/sync_externals
2490f6fdc Merge branch 'main' into cpp17
4aa042353 turn off "Warnings as Errors" to fix github builds
45cd3febe turn off code-analysis to fix GitHub builds
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 9618cb382e07fc0edff06b39ed3987426c5011e2

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 3ae8f6afb..92f8b88c7

92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 92f8b88c758504e8d0d2a3dfb389b71d49b557e5

* Squashed 'externals/nitro/' changes from 0357b1432..0342b596a

0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)
253f57b2b latest from CODA-OSS (#590)
d6bc1d83a disable code-analysis to fix Github builds
981e75116 Update main.yml
907bf91cd Update frequent_check.yml

git-subtree-dir: externals/nitro
git-subtree-split: 0342b596aa3b4e1809086e4676d3e49fd8ccd261

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)

git-subtree-dir: externals/coda-oss
git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

* Squashed 'externals/nitro/' changes from 0342b596a..a37046807

a37046807 latest from CODA-OSS (#596)
205bf8e36 infrastructure for "preloading" TREs (#593)

git-subtree-dir: externals/nitro
git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from 8b21c3828..5015192ab

5015192ab Merge branch 'main' into cpp17
aea8e7b1e reduce use of str::toString() (#754)
8062154a4 HighFive 2,8,0 (#753)
90db8e19b enable AVX2 by default, it's from 2013
afebea485 Merge branch 'main' into cpp17
92f8b88c7 std::ostringstream overloads
8cb27de27 reduce use of .c_str() and .str() (#752)

git-subtree-dir: externals/coda-oss
git-subtree-split: 5015192abbfdeae1b2aaf252cbe40695507a08c9

* Squashed 'externals/nitro/' changes from 9618cb382..c899f14ad

c899f14ad Merge branch 'main' into cpp17
a37046807 latest from CODA-OSS (#596)
50c75444b Merge commit 'f9ff61eb905ed2119f4f908c568b577643cf42f8' into cpp17
f9ff61eb9 Squashed 'externals/coda-oss/' changes from 8b21c3828b..5015192abb
d37a0d078 latest from CODA-OSS
c2372d744 Merge branch 'main' into cpp17
205bf8e36 infrastructure for "preloading" TREs (#593)
0342b596a latest from CODA-OSS (#592)
0084f9bf7 reduce use of .str() (#591)

git-subtree-dir: externals/nitro
git-subtree-split: c899f14adef57a06d8baf6f9c72fa83a8e36247f

* return type needs to be explicit for subsequent specialization

* latest from CODA-OSS

* Squashed 'externals/coda-oss/' changes from 5015192ab..77cc841ae

77cc841ae Merge branch 'main' into cpp17
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 77cc841aef3fe478170dc2c29b66046763cdcb4c

* latest from CODA-OSS and NITRO

* Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

5eae4c1f6 turn of /Wall for MSVC (#755)
47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

git-subtree-dir: externals/coda-oss
git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

* Squashed 'externals/nitro/' changes from a37046807..de4686af0

de4686af0 improve TRE unitesting (#599)
a4d0a5130 remove /Wall from MSVC (#598)
b97c4a867 disable pre-loaded TREs (#597)
1075b4ecd be sure the string is properly padded for the field type

git-subtree-dir: externals/nitro
git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

* Squashed commit of the following:

commit f98b867459333e552e279841b46c7a98e3f6cdf1
Merge: b0fcc18f8 7271a19cc
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:34 2023 -0500

    Merge commit '7271a19ccad1c3dd355c0b6439aa7a06e91db710' into develop/sync_externals

commit 7271a19ccad1c3dd355c0b6439aa7a06e91db710
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:27 2023 -0500

    Squashed 'externals/nitro/' changes from a37046807..de4686af0

    de4686af0 improve TRE unitesting (#599)
    a4d0a5130 remove /Wall from MSVC (#598)
    b97c4a867 disable pre-loaded TREs (#597)
    1075b4ecd be sure the string is properly padded for the field type

    git-subtree-dir: externals/nitro
    git-subtree-split: de4686af03ed60f9881d4fbea876a84d6f202d46

commit b0fcc18f894f8a262be06196087515642b2d114e
Merge: f204c3674 bf2eede30
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Merge commit 'bf2eede30519cd33b8bfa8013fbf75750f513802' into develop/sync_externals

commit bf2eede30519cd33b8bfa8013fbf75750f513802
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:23 2023 -0500

    Squashed 'externals/coda-oss/' changes from aea8e7b1e..5eae4c1f6

    5eae4c1f6 turn of /Wall for MSVC (#755)
    47d4b6b73 return type needs to be explicit (not `auto`) for subsequent specialization

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 5eae4c1f6e3d2ba64bb78cd63ec0b525f7f6d98a

commit f204c367468bd72b4ff970fa9c6f61eb0df757d8
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:44:18 2023 -0500

    latest from CODA-OSS and NITRO

commit 3b4692d3b29961a45b3acc9a05c2998ef6f22d1e
Merge: 995b923f5 d90e4c41d
Author: Dan Smith <dan.smith@maxar.com>
Date:   Wed Nov 15 14:43:46 2023 -0500

    Merge branch 'main' into develop/sync_externals

commit 995b923f5c8f559a749e27d65e768d51f760035b
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:38:22 2023 -0500

    return type needs to be explicit for subsequent specialization

commit ae4bcd0c2ed76c09296d607aea841e073eaf1c48
Merge: 0b0a22dd2 fd9950b06
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:58 2023 -0500

    Merge commit 'fd9950b06621dfbb6b37cc037b230db6b6147301' into develop/sync_externals

commit fd9950b06621dfbb6b37cc037b230db6b6147301
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:55 2023 -0500

    Squashed 'externals/nitro/' changes from 0342b596a..a37046807

    a37046807 latest from CODA-OSS (#596)
    205bf8e36 infrastructure for "preloading" TREs (#593)

    git-subtree-dir: externals/nitro
    git-subtree-split: a37046807ab36de5268e1247e901e704e3f1e81e

commit 1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Squashed 'externals/coda-oss/' changes from 92f8b88c7..aea8e7b1e

    aea8e7b1e reduce use of str::toString() (#754)
    8062154a4 HighFive 2,8,0 (#753)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: aea8e7b1ee845039a62fafca207a4df6e8df15e0

commit 0b0a22dd210e3030fa3fc748631dbd77b14582c0
Merge: 659af2dc4 1f0e26446
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:52 2023 -0500

    Merge commit '1f0e264467b8a0538a8fae9b5f0f2ea019dbe95e' into develop/sync_externals

commit 659af2dc43025e0d5c19970e9651f2fcff448366
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:04:48 2023 -0500

    latest from CODA-OSS and NITRO

commit 0e75de6af274bfe01148736f7a24c8bb6d757e13
Merge: 4b9245b68 0ffa37222
Author: Dan Smith <dan.smith@maxar.com>
Date:   Mon Nov 13 16:03:52 2023 …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant