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

Be more explicit about the CPHD version #695

Merged
merged 124 commits into from
Sep 8, 2023
Merged

Conversation

JDanielSmith
Copy link
Contributor

The code is now much more explicit about the CPHD version; the default version can also be changed.

Dan Smith added 30 commits June 16, 2023 11:18
commit 67d0bc78b1a93d02fc496ec755fc794060ab5bb5
Merge: 42f479813 a2cb168ce
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Fri Jun 16 10:37:43 2023 -0400

    Parameter::operator==() must a member function for existing SWIG bindings

commit a2cb168cebbf0b89348d106be8a878fb6746f155
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 10:32:22 2023 -0400

    renames from CODA-OSS

commit 68d184a89f899a709c6c7e54f858e4a8a4ed2955
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 10:15:28 2023 -0400

    figure out ComplexInteger in SIX rather than CODA-OSS

commit 802087c892ecc653c0cd0086ec888d622c9192f8
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 10:01:05 2023 -0400

    separate .H file for complex

commit 4d24ae394a290e21f074614ee95f46a182c43e33
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 09:54:05 2023 -0400

    remove unneeded #include of types/Complex.h

commit e021d71c2d25641afbfe7d6741f60b2c745bd12d
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 09:49:48 2023 -0400

    zinteger -> ComplexInteger

commit 91599f83e4a8d1e3e8fe77d54bca4cb6f85ea692
Author: Dan Smith <[email protected]>
Date:   Fri Jun 16 09:38:53 2023 -0400

    complex.h -> Complex.h from CODA-OSS

commit b3653cc75b07fb0415e2a18303058e57c31718b8
Merge: 786223e8c 6e34e8717
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 16:11:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 786223e8c0ebc05ca46e7c55eac8a26678ff2bff
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 16:04:31 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit f143d3a53c4cdce580958fae0ef5588bb12cbda5
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 15:54:40 2023 -0400

    Squashed commit of the following:

    commit 011ba83af6202c4a5358c366ac0e88edcbfd6986
    Merge: 7390b8b19 4a21b2db5
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 15 15:37:33 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 7390b8b19f4f9d21d0ffc34ae9906cea2227936d
    Merge: 7f79e6d6f b902f6c17
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 15 14:21:10 2023 -0400

        Merge commit 'b902f6c1743778d8fceeee5b3209ebca2370312a' into develop/sync_externals

    commit b902f6c1743778d8fceeee5b3209ebca2370312a
    Author: Dan Smith <[email protected]>
    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 <[email protected]>
    Date:   Thu Jun 15 14:21:06 2023 -0400

        latest from CODA-OSS

    commit 24678b33f4aab533af0d807d6706f8587bd1c103
    Merge: 9eb95e3aa 35b59b9a0
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 15 14:20:30 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 9eb95e3aad1562b0d7915cf48db1b61a337a3878
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 13 17:51:55 2023 -0400

        latest from CODA-OSS and NITRO

    commit 1bd99042ef18b76df9da27d946b5616d9dd254b1
    Merge: ec161c5b3 c59d69c06
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 13 17:51:40 2023 -0400

        sync_externals

    commit c59d69c06eda40c7295ab607fdc8a5dad7d2c1b1
    Author: Dan Smith <[email protected]>
    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 <[email protected]>
    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 <[email protected]>
    Date:   Tue Jun 13 17:51:29 2023 -0400

        Merge commit '272cae451cbe3ad6820d1221aafe375d77b1ba04' into develop/sync_externals

    commit d2d594b9ff50bc00c15a4228927ea1ec0449381b
    Author: Dan Smith <[email protected]>
    Date:   Tue Jun 13 17:51:25 2023 -0400

        latest from CODA-OSS and NITRO

commit 09ec30cc503ffd74daa401514ab9b674c6e4a3cf
Merge: 28a4b2bd1 4a21b2db5
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 15:54:31 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 28a4b2bd17daabbb9ba94aae53a58986acd58a9b
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 14:58:55 2023 -0400

    restore "old" CODA-OSS to minimize differences

commit f41c086967d2e5b05ee8988272ab8ca8c0014f85
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 14:40:31 2023 -0400

    keep using std::complex<> everywhere

commit bc1704c8cb985f1987a7d3ff2b37c2e48286a8fd
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 14:22:47 2023 -0400

    latest from CODA-OSS

commit 4ec782e6c9409f1985628c36a88577b286af61e7
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 13:56:24 2023 -0400

    build against "old" CODA-OSS

commit bffd6a985d8dc8e08b42aed78bbe7a162ac45bf6
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 13:56:08 2023 -0400

    restore CODA-OSS changes to minimize merge differences

commit d93e0e80c94013e1b957eb2c33ba112643c306c3
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 13:39:37 2023 -0400

    more passing the entire complex type as a template parameter

commit 0872159268ff8f38e3c3d42788598725ce142616
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 13:25:14 2023 -0400

    no more types::complex

commit 379a89312f55c86f1de95f6ff14e7aeca72df32c
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 12:36:06 2023 -0400

    use CODA_OSS_types_unique_zinteger

commit 2b9b396c4d460233418f293d6ebdf157231b8757
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 11:58:00 2023 -0400

    latest from CODA-OSS

commit 5d19ea2946556ab9f7e2e1ec98e0d07fecf578e2
Merge: 0dab1a156 7e99024da
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 11:07:26 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit 7e99024da866660e7e4da621b75f4561e638044b
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 11:06:20 2023 -0400

    unittest changes from develop/complex_short branch

commit e5c0f6d52e05bf50741a6bc086eae9ce53a89e9e
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 11:00:34 2023 -0400

    more changes from CODA-OSS

commit ca7cb60f6b39a2f1a03dd1497bb20a4da5925c24
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 10:34:57 2023 -0400

    no more types::complex<T>

commit 6048da55638d0283cf789347740871aa2d07fba1
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 10:18:44 2023 -0400

    latest from CODA-OSS

commit 16c99ed82bb9b57edc1ea5e28d68f89b63519664
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 4d9d2a764319f3177b427b3a03ae95c99ef02494
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit 0dab1a15681e51a5464b363baa0f263e25521c4a
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 09:24:49 2023 -0400

    pass entire complex type as template parameter

commit e4c29f670785b3312dda1d6b6da30847fa798b89
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 09:14:37 2023 -0400

    Update PVPBlock.cpp

commit 7133f7f4b4752d0e049ef48241a4e1b707a5c4ec
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 09:09:11 2023 -0400

    restore types::z* overloads

commit 9a0c890090d5501bb2c563e0b36a787cfad70af6
Merge: a3a71ba35 fc8ba82bd
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 09:01:31 2023 -0400

    Merge branch 'develop/complex' into develop/complex_short

commit fc8ba82bd5357454d02276c1605ddcd5973322d1
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 08:59:58 2023 -0400

    findComplex() utility

commit 8b762374c282458c469ad6e4502aaee7aa695079
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 08:47:56 2023 -0400

    const& for Parameter arguments

commit a3a71ba351b9b790c20bb80e4fac861592758164
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 08:26:00 2023 -0400

    getComplex() overloads

commit 6fc1ee4b96b722b81042f79ed476c481af13aadd
Author: Dan Smith <[email protected]>
Date:   Thu Jun 15 08:13:27 2023 -0400

    pass the entire complex type and use value_type

commit 13e44351a9e912c91fd79ada8b09a544c482874a
Author: J. Daniel Smith <[email protected]>
Date:   Wed Jun 14 21:47:37 2023 -0400

    more progress on types::complex

commit 5e72ecca7037861e87f311339c61bc2cf77305fe
Author: Dan Smith <[email protected]>
Date:   Wed Jun 14 17:43:52 2023 -0400

    use our own type for complex<short>

commit 9bfc4f9799df5261bbc0c7afb1ffa08abc060ba1
Author: Dan Smith <[email protected]>
Date:   Wed Jun 14 17:42:58 2023 -0400

    latest from CODA-OSS

commit 39153f274d56de88a28b526978dd4ad832e767f9
Author: Dan Smith <[email protected]>
Date:   Wed Jun 14 16:45:05 2023 -0400

    fix Parameter::setValue() overloads

commit b8007fbad15e529eb503bbfd692c85ce6d34a0a6
Author: Dan Smith <[email protected]>
Date:   Wed Jun 14 16:37:10 2023 -0400

    latest from coda-oss

commit 27f080ec628c4497709cfc85183f3a1ceaad11cb
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Wed Jun 14 16:09:16 2023 -0400

    Merge branch 'main' into develop/complex_short

commit 71d519492046c4c61986f181f6ec7aa18cb4c0c6
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 15:25:54 2023 -0400

    std::complex<float> -> six::zfloat

commit a3eee8257746732f61b959c9b31442511d81b590
Merge: d0bb8c181 e13c3da4f
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 15:17:07 2023 -0400

    Merge branch 'main' into develop/complex_short

commit d0bb8c1819da2ade60c4ce3349ff40f32fe31301
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 15:15:46 2023 -0400

    finish (almost) switching to types::complex for integers

commit bbe1320e33768a0a0f151feb138643c80a8bdfbd
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 14:57:21 2023 -0400

    types::complex<T> is std::complex<T> for now

commit 00047f57ea462c610d249d25fcd2f0105a7c0f41
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 14:36:27 2023 -0400

    latest from coda-oss

commit ac376dcf72763892e9e9b9c03fb14bc34fd04630
Author: Dan Smith <[email protected]>
Date:   Tue Jun 13 14:13:42 2023 -0400

    Update test_dump_images.cpp

commit 2907efbcfdb33f154138944831a94a2c508b5a68
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 16:39:29 2023 -0400

    use types::complex for TInteger

commit 2580312337bf1b7ee20d5ba9eed83c8e65e06e6f
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 16:26:16 2023 -0400

    CPHD aliaes for std::complex<TInteger>

commit d177963c782c08c137d14b9608207d40754db568
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 16:17:38 2023 -0400

    latest from coda-oss

commit e05937c9b568f52fa9f41b279e2c8ecfa63e5fc0
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 15:41:34 2023 -0400

    use types::z* aliases for complex<T>

commit 2b61dcc4974b7326db762f6f6fd60dc263bb87e6
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 15:05:41 2023 -0400

    begin switching to types::complex for integral T

commit b4e625673c3d270896eed26b4c83bc827befc538
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 14:59:30 2023 -0400

    turn off _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING

commit 9bd683bc8858d07378c390c3cd4fcaed4a490a21
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 14:54:22 2023 -0400

    std::complex<float> -> zfloat

commit 47aa0e8994af5b31602f63adaac3b3415cb769c2
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 14:45:00 2023 -0400

    std::complex<float> -> zfloat

commit 3785ed2c8e0f812ae43e1e81971bce6777eb91a1
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 14:38:18 2023 -0400

    aliases for std::complex<float> and std::complex<double>

commit d5db375ba08737551023d9b21455f3d5cd71faf0
Author: Dan Smith <[email protected]>
Date:   Mon Jun 12 14:20:01 2023 -0400

    Squashed commit of the following:

    commit bb2bb5aaf944040ea5bc42168b846324287dcad8
    Merge: bbba5a210 4c146e7d0
    Author: Dan Smith <[email protected]>
    Date:   Mon Jun 12 13:04:09 2023 -0400

        Merge commit '4c146e7d01b14cf408b0e398cba96705df69090c' into develop/sync_externals

    commit 4c146e7d01b14cf408b0e398cba96705df69090c
    Author: Dan Smith <[email protected]>
    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 <[email protected]>
    Date:   Mon Jun 12 13:04:06 2023 -0400

        latest from CODA-OSS

    commit 370dd8876136755230624ebc955bc67642b1482b
    Merge: 58ff5a537 ffe1caafd
    Author: Dan Smith <[email protected]>
    Date:   Mon Jun 12 13:03:25 2023 -0400

        Merge branch 'main' into develop/sync_externals

    commit 58ff5a5371d9158910e99613f4ce6e6fc36e543e
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 8 16:23:08 2023 -0400

        latest from CODA-OSS

    commit 3bfc33a40274fa7a073983d4e4ddd907e45730d2
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 8 14:34:45 2023 -0400

        latest from CODA-OSS and NITRO

    commit 389417a983778ba2a07af9c6dbfea80484324b97
    Merge: bce7ba0b1 4ad490fe4
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 8 14:34:28 2023 -0400

        latest from CODA-OSS and NITRO

    commit 4ad490fe4224df18ce4a437c40a257af0686140e
    Author: Dan Smith <[email protected]>
    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 <[email protected]>
    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 <[email protected]>
    Date:   Thu Jun 8 14:34:18 2023 -0400

        Merge commit '86929db19a438630d531ca0c34bdcd8e8c527ae9' into develop/sync_externals

    commit 646b70e8d47438211451493837e6b2d76db4e896
    Author: Dan Smith <[email protected]>
    Date:   Thu Jun 8 14:34:13 2023 -0400

        latest from CODA-OSS and NITRO
  "... we found that the six library does a check when reading a CPHD file to ensure that the Release Info field not only exists,
    but that it is not an empty string. The CPHD spec does require that the field exists, but does not seem to prohibit it from being
    an empty string.

    We have gotten some vendor CPHDs with an empty field here and have failed reading the file due to this.
    I checked and SARPY is able to read (it must not implement the same check)."
JDanielSmith pushed a commit that referenced this pull request Sep 27, 2023
… pieces (#700)

* use "range for" rather than iterators

* utility routines to get the various low-level "write" functions

* writeSupportData() utility routine

* writePVPData() static utility

* making a new DataWriter instance is cheap

* use a DataWriter directly

* simplify writePVPData() utility

* pass a DataWriter to writeSupportData()

* writeMetadata() takes a io::OutputStream

* make a new DataWriter for writeCPHDData()

* pass a io::OutputStreeam to writeSupportDataImpl()

* pass a io::OutputStream to more places

* separate routine to write the channel data

* Squashed commit of the following:

commit 15e3d74
Merge: a018099 1ee90a9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Merge commit '1ee90a9a723449a28da2ccb6ff615163c6283a13' into develop/sync_externals

commit 1ee90a9
Author: Dan Smith <[email protected]>
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 a018099
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:04:45 2023 -0400

    latest from CODA-OSS

commit 669feb7
Merge: 3738c91 d95832a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:02:14 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 3738c91
Merge: a537665 8041684
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:47:51 2023 -0400

    Merge commit '804168483daa854eafff59910e56704e1282ed40' into develop/sync_externals

commit 8041684
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Merge commit 'f12914abbb5d7014dd904fd6319a3edd5ba788cd' into develop/sync_externals

commit 3c13778
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:28:54 2023 -0400

    build after CODA-OSS updates

commit 8abc353
Merge: a9e87fd a5674e7
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:18:14 2023 -0400

    Merge commit 'a5674e74433a563a11e4bbdaae3803673dff99f1' into develop/sync_externals

commit a5674e7
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Merge commit '5ab880228dfd4d6fd1b2b11630fd414b394d292b' into develop/sync_externals

commit 3cbdfb9
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:18:02 2023 -0400

    latest from NITRO

commit a681ebd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:08:14 2023 -0400

    latest from CODA-OSS

commit 7a363b4
Merge: 8cd5e77 80aec3a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:07:29 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 8cd5e77
Merge: 4ee925c 369de34
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:25:44 2023 -0400

    Merge commit '369de34a1c027a68c3f7d35be60c091e828d6417' into develop/sync_externals

commit 369de34
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Merge commit 'bb4f3dc0f7aeb187acf39d6cae5e96b711bb4dc8' into develop/sync_externals

commit baeaa33
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:25:33 2023 -0400

    latest from CODA-OSS and NITRO

commit a4a755c
Merge: 6fbe8b8 8a9b1e9
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:24:48 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit a5d077e
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Merge commit 'a5d077e25b3d48901ed9615ccec88e4aaebbfce3' into develop/sync_externals

commit 3441e80
Merge: 69b0fb4 8538e1d
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 09:15:44 2023 -0400

    Merge commit '8538e1d222d56604050582bd2b0f128dda51f925' into develop/sync_externals

commit 8538e1d
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Merge commit 'd982f60807e49f64d019eb973639ba555e9d7942' into develop/sync_externals

commit c4dcdba
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 08:43:57 2023 -0400

    toString() changes from CODA-OSS

commit 7de4dcf
Merge: 48895c9 69731d3
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 08:37:24 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 48895c9
Merge: cb1a2c9 a2de0b5
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 16:20:55 2023 -0400

    Merge commit 'a2de0b5279a6763f39f6f34536eb6f680e98d146' into develop/sync_externals

commit a2de0b5
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Merge commit '6c23d5de45eadac47028f968db108e4161666aa1' into develop/sync_externals

commit bbc8367
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 15:35:19 2023 -0400

    latest from CODA-OSS

commit 02e1917
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 14:09:36 2023 -0400

    str::format changes from CODA-OSS

commit e4b5c45
Merge: 0584296 80128f8
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 14:08:34 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 2928617
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Merge commit '2928617bd4525f20316de415f07b6cf3d88e4878' into develop/sync_externals

commit 9c6572a
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Merge commit '9c6572a9e7ccc4d54e79a6f7ebc373b4414e7df9' into develop/sync_externals

commit e509306
Author: Dan Smith <[email protected]>
Date:   Fri Aug 25 13:31:21 2023 -0400

    latest from CODA-OSS and NITRO

commit 62fc405
Merge: 40827a7 49e28e2
Author: Dan Smith <[email protected]>
Date:   Fri Aug 25 13:30:22 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 40827a7
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:23:42 2023 -0400

    CRLF

commit 209b4e3
Merge: 238a6fc 993d755
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:22:36 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 238a6fc
Merge: 1c1e440 83ec173
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:15:00 2023 -0400

    Merge commit '83ec173c23943efe4e24689aad8d744aad69749c' into develop/sync_externals

commit 83ec173
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Merge commit 'c57aa2691a9635f55f5c604723d61ee495c59ed2' into develop/sync_externals

commit 10eded0
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:14:19 2023 -0400

    latest from CODA-OSS and NITRO

* most code should work with just io::SeekableStream&, not a shared_ptr

* use std::vector<std::filesystem::path>*
JDanielSmith pushed a commit that referenced this pull request Oct 2, 2023
* use "range for" rather than iterators

* utility routines to get the various low-level "write" functions

* writeSupportData() utility routine

* writePVPData() static utility

* making a new DataWriter instance is cheap

* use a DataWriter directly

* simplify writePVPData() utility

* pass a DataWriter to writeSupportData()

* writeMetadata() takes a io::OutputStream

* make a new DataWriter for writeCPHDData()

* pass a io::OutputStreeam to writeSupportDataImpl()

* pass a io::OutputStream to more places

* separate routine to write the channel data

* Squashed commit of the following:

commit 15e3d74
Merge: a018099 1ee90a9
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:04:49 2023 -0400

    Merge commit '1ee90a9a723449a28da2ccb6ff615163c6283a13' into develop/sync_externals

commit 1ee90a9
Author: Dan Smith <[email protected]>
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 a018099
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:04:45 2023 -0400

    latest from CODA-OSS

commit 669feb7
Merge: 3738c91 d95832a
Author: Dan Smith <[email protected]>
Date:   Wed Sep 27 12:02:14 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 3738c91
Merge: a537665 8041684
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:47:51 2023 -0400

    Merge commit '804168483daa854eafff59910e56704e1282ed40' into develop/sync_externals

commit 8041684
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Sep 12 14:47:44 2023 -0400

    Merge commit 'f12914abbb5d7014dd904fd6319a3edd5ba788cd' into develop/sync_externals

commit 3c13778
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:28:54 2023 -0400

    build after CODA-OSS updates

commit 8abc353
Merge: a9e87fd a5674e7
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:18:14 2023 -0400

    Merge commit 'a5674e74433a563a11e4bbdaae3803673dff99f1' into develop/sync_externals

commit a5674e7
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Sep 12 14:18:06 2023 -0400

    Merge commit '5ab880228dfd4d6fd1b2b11630fd414b394d292b' into develop/sync_externals

commit 3cbdfb9
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:18:02 2023 -0400

    latest from NITRO

commit a681ebd
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:08:14 2023 -0400

    latest from CODA-OSS

commit 7a363b4
Merge: 8cd5e77 80aec3a
Author: Dan Smith <[email protected]>
Date:   Tue Sep 12 14:07:29 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 8cd5e77
Merge: 4ee925c 369de34
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:25:44 2023 -0400

    Merge commit '369de34a1c027a68c3f7d35be60c091e828d6417' into develop/sync_externals

commit 369de34
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 13:25:37 2023 -0400

    Merge commit 'bb4f3dc0f7aeb187acf39d6cae5e96b711bb4dc8' into develop/sync_externals

commit baeaa33
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:25:33 2023 -0400

    latest from CODA-OSS and NITRO

commit a4a755c
Merge: 6fbe8b8 8a9b1e9
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 13:24:48 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit a5d077e
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 09:20:49 2023 -0400

    Merge commit 'a5d077e25b3d48901ed9615ccec88e4aaebbfce3' into develop/sync_externals

commit 3441e80
Merge: 69b0fb4 8538e1d
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 09:15:44 2023 -0400

    Merge commit '8538e1d222d56604050582bd2b0f128dda51f925' into develop/sync_externals

commit 8538e1d
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Tue Aug 29 09:15:26 2023 -0400

    Merge commit 'd982f60807e49f64d019eb973639ba555e9d7942' into develop/sync_externals

commit c4dcdba
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 08:43:57 2023 -0400

    toString() changes from CODA-OSS

commit 7de4dcf
Merge: 48895c9 69731d3
Author: Dan Smith <[email protected]>
Date:   Tue Aug 29 08:37:24 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 48895c9
Merge: cb1a2c9 a2de0b5
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 16:20:55 2023 -0400

    Merge commit 'a2de0b5279a6763f39f6f34536eb6f680e98d146' into develop/sync_externals

commit a2de0b5
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Aug 28 16:20:46 2023 -0400

    Merge commit '6c23d5de45eadac47028f968db108e4161666aa1' into develop/sync_externals

commit bbc8367
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 15:35:19 2023 -0400

    latest from CODA-OSS

commit 02e1917
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 14:09:36 2023 -0400

    str::format changes from CODA-OSS

commit e4b5c45
Merge: 0584296 80128f8
Author: Dan Smith <[email protected]>
Date:   Mon Aug 28 14:08:34 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 2928617
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Fri Aug 25 13:31:39 2023 -0400

    Merge commit '2928617bd4525f20316de415f07b6cf3d88e4878' into develop/sync_externals

commit 9c6572a
Author: Dan Smith <[email protected]>
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 <[email protected]>
Date:   Fri Aug 25 13:31:36 2023 -0400

    Merge commit '9c6572a9e7ccc4d54e79a6f7ebc373b4414e7df9' into develop/sync_externals

commit e509306
Author: Dan Smith <[email protected]>
Date:   Fri Aug 25 13:31:21 2023 -0400

    latest from CODA-OSS and NITRO

commit 62fc405
Merge: 40827a7 49e28e2
Author: Dan Smith <[email protected]>
Date:   Fri Aug 25 13:30:22 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 40827a7
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:23:42 2023 -0400

    CRLF

commit 209b4e3
Merge: 238a6fc 993d755
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:22:36 2023 -0400

    Merge branch 'main' into develop/sync_externals

commit 238a6fc
Merge: 1c1e440 83ec173
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:15:00 2023 -0400

    Merge commit '83ec173c23943efe4e24689aad8d744aad69749c' into develop/sync_externals

commit 83ec173
Author: Dan Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Aug 21 09:14:48 2023 -0400

    Merge commit 'c57aa2691a9635f55f5c604723d61ee495c59ed2' into develop/sync_externals

commit 10eded0
Author: Dan Smith <[email protected]>
Date:   Mon Aug 21 09:14:19 2023 -0400

    latest from CODA-OSS and NITRO

* most code should work with just io::SeekableStream&, not a shared_ptr

* use std::vector<std::filesystem::path>*

* break apart writeSupportData()
JDanielSmith pushed a commit that referenced this pull request Oct 2, 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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant