Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit ad47489
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:11:52 2022 -0500

    finish deleting externals/nitro/externals

commit cb1d561
Merge: 3d8a22b de053b6
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:11:34 2022 -0500

    finish deleting externals/nitro/externals

commit de053b6
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:11:01 2022 -0500

    Squashed 'externals/nitro/' changes from 29125a3472..52fe000594

    52fe000594 latest from coda-oss (#514)
    1d29e4d865 remove std::auto_ptr (#513)

    git-subtree-dir: externals/nitro
    git-subtree-split: 52fe00059422c54625e26162ae3423ab2f19a8bb

commit 3d8a22b
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:10:52 2022 -0500

    remove externals/nitro/externals

commit 7b68bfe
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:10:19 2022 -0500

    add externals/nitro to fix merge conflicts

commit 461b0ff
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:09:05 2022 -0500

    latest from nitro

commit 2dcb85d
Merge: 13e8856 282e8cb
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:07:25 2022 -0500

    Merge commit '282e8cbe274ecdd2db4d82bf7da9004cca8003bc' into develop/sync_externals

commit 282e8cb
Author: Dan Smith <[email protected]>
Date:   Fri Nov 25 11:07:25 2022 -0500

    Squashed 'externals/coda-oss/' changes from d06dc6534d..8241dfe7e6

    8241dfe7e6 remove last vestiges of std::auto_ptr (#616)

    git-subtree-dir: externals/coda-oss
    git-subtree-split: 8241dfe7e68d566d9b7ca1ccf572279f41cf6848

commit 13e8856
Merge: cde6b79 0373643
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 11:03:51 2022 -0500

    Merge branch 'main' into develop/sync_externals

commit cde6b79
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:26:05 2022 -0500

    pull from main, not master

commit a095f10
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:25:01 2022 -0500

    git subtree for nitro

commit bfe0023
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:24:18 2022 -0500

    Squashed 'externals/nitro/' content from commit 29125a3472

    git-subtree-dir: externals/nitro
    git-subtree-split: 29125a3472688d0c60803c0d6ed922ac5248f69a

commit c92d0d0
Merge: d36fb72 bfe0023
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:24:18 2022 -0500

    Merge commit 'bfe0023d6eb51bb0263af7b78d54594b24c720d5' as 'externals/nitro'

commit d36fb72
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:23:49 2022 -0500

    trying to get git subtree working

commit 8cf10b9
Merge: 09af7ec 5875962
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:14:45 2022 -0500

    Merge commit '587596209e6b83a36be0cdae208dbdf547347716' into develop/sync_externals

commit 5875962
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:14:44 2022 -0500

    Squashed 'externals/coda-oss/' changes from 67d6362bcf..d06dc6534d

    d06dc6534d mem::AutoPtr for C++17 (#615)
    83443602a6 mem::AutoPtr class to aid C++17 transition (#614)
    f10fa2009c Release 2022-11-04 (#613)
    a32e697044 remove exception specifications (#609)
    084f19126a utilities to find files/directories for unittests (#608)
    a3cedada96 Merge branch 'master'
    fde6c864fa Merge pull request #607 from mdaus/bugfix/change-order-of-config-header-install
    c8a0044010 Install the cmake-configured header after installing the xercesc source tree. Otherwise, the original config will persist in the install
    dda2c9acda Merge pull request #606 from mdaus/fix-xerces-config
    004a00f09b Bump zlib version for conan builds
    207f4dbb9f Fix Xerces config issue and install its config.h
    b842417671 Add support for debug optimizations.
    0f6cda57dc Use enhanced debug information with gcc/gdb.
    5047dce1a9 Work around GCC avx support bug.
    001ab18751 Rebuild the waf self-extractor with a fix for the FIPS error.
    5a7f64fca2 Revert "Rebuild the waf self-extractor with a fix for the FIPS problem."
    9f6f775f8f Rebuild the waf self-extractor with a fix for the FIPS problem.
    af7229bd83 utilities to find files from a build (#605)
    264ae49dd7 be sure downstream projects build w/C++14 (#604)
    7a7b13cbd5 "hello world" for HDF5 (#602)
    33cff0ff43 more C++14
    963e8ff40c Revert "add HDF5 source code (#603)"
    7b5e71a006 add HDF5 source code (#603)
    ec7bb2e520 add HDF5 source code (#603)
    ec26f703e7 build in NITRO and SIX (#601)
    f4361a9730 make it easier to write cli unit-tests (#600)
    34b6fdeee1 tweak toString() to reduce specialization (#599)
    5907b3ed60 remove C++11 workarounds (#598)
    caed59480d Release 2022-08-30_cpp14 (#597)
    2630d41e08 get rid of merge conflict
    652bce3854 Merge branch 'master'
    6f41c09d71 Release 2022-08-30 (#596)
    838c323d6a Merge branch 'master'
    f916680126 Added handler accessor to MinidomParser for inheriting modules (#594)
    72d29e9c27 get unittests working when "nested" in other projects (#595)
    f8f18fea5f Actually look at unit test results when using waf (#593)
    4189c429e8 Merge branch 'master'
    cda679ceee more overloads to take a string length (#592)
    b95a32bc4c by default, Uri()s aren't validated (#591)
    903ee7ffff Merge branch 'master'
    173930a6f2 fix a UTF-8 conversion bug (#590)
    a1c0a1eea6 Merge branch 'master'
    c5c221a832 CODA code inherits from xml.lite classes :-( (#589)
    1bfe5fc402 Merge branch 'master'
    a4c6294c30 use EncodedStringView instead of _bstr_t (#588)
    6c2df8bb62 "main" is now C++14 (not C++20)
    2ce4161080 Squashed commit of the following:
    3a0f7fd14d Merge branch 'master'
    83c982f0cf remove work-arounds to write non-UTF-8 XML (#586)
    142fd7185e Merge branch 'master'
    ebf6db1762 <bit> is part of C++20
    d3aa8aa5ce std::u8string is in C++20, not C++17
    03654933c4 changes to math.linear from coda (#587)
    d442e5be0f Merge branch 'master'
    5a2f8e52f1 release 2022-08-02 (#585)
    e5516aba29 tweak names to match utf8:: conventions (#584)
    32f08a9e40 Squashed commit of the following:
    ee15ba3172 Merge branch 'master'
    3083ec7915 move most platform-specific code to EncodedStringView (#583)
    bede753547 fix unit-test with C++20
    61a8033f62 consistent use of coda_oss:: and std::
    5d3bf9eb83 Merge branch 'master'
    36371410c0 EncodedString tweaks for XML processing (#582)
    cf2016205c remove any vestiges of Expat and libXML (#580)
    33538aa0fc update for newer Intel compiler
    ed65e4ccc5 Add two patch candidates to fix FIPS problems in waf.
    34c40bd397 Merge branch 'master'
    a731ebf8e8 release 2022-06-29 (#579)
    a9b9d2a9fa Merge branch 'master'
    59387bd87b update "ReleaseNotes.md" for recent changes (#578)
    24a3f01afe Merge branch 'master'
    e4f940854a remove "boost" and "serialize" (#577)
    80b70537e9 update to zlib-1.2.12 (#576)
    f92811a53b Merge branch 'master'
    202084bacb Remove some compiler warnings (#575)
    414c25c551 build with C++20 in VS
    1a99a29da3 Merge branch 'master'
    c61232224b build most code with Visual Studio (#574)
    5cca863d7e Merge branch 'master'
    6e4d952bea some unit-tests need argc/argv (#573)
    36e051d7b6 Add run1D method to GenerationThreadPool (#572)
    6d4776235e Merge branch 'master'
    0a08b8e4e9 build "coda-oss-lite" as a VS2022 project (#571)
    6677cc38e3 simplify creation of encodes string (#570)
    ba62c610c1 Add the 'universal_newlines=True' flag to python Popen calls.
    984e4a96ce Fix a bug in waf platform detection.
    8f1173f4a6 fix build errors
    f21af35b0b Merge branch 'master'
    d2aca8d4b5 release 2022-05-03 (#569)
    ff55fed596 can't replace all TEST_ASSERT macros with functions (#568)
    4db8ada411 restore changes clobbered with merge from "master"
    a1f36e1839 Merge branch 'master'
    89a636a6af fix copy/assignment in EncodedString (#567)
    c3fe91d424 latest tweaks to build with C++17 (#566)
    a59a51b571 be sure we use a 64-bit time_t (#565)
    1f79fb3ddf Poly2D::atY() bugfix (#564)
    ac5307662d Testing to see if windows-2019 works with github actions (#563)
    8d0726b37e Fix a bug in waf platform detection.
    80fe8e9f8a Merge branch 'master'
    c662b5aac3 Update ReleaseNotes.md
    ef4a3bbd9a Release 2022-02-22 (aka 2/22/22) (#562)
    33b0f3f6eb Merge branch 'master'
    8bd0c8cf4a Merge branch 'main' of github.com:mdaus/coda-oss
    0a0e6cf145 use char16_t on Linux (#560)
    7e41b4b5e4 Merge branch 'feature/use-cpp11-code'
    fe65bfddfb fix units for ICC, sys::filesystem (#559)
    fc99e4b3e6 recreate from "master"
    510317c07a use std::filesystem to "implement" sys::filesystem
    895f6c77cd always implement sys::filesystem
    0d83ae22fc "units" changes from master
    b58173b781 latest from "master" (not quite)
    793e3442c8 Squashed commit of the following:
    91a729f5a2 re-create from "master"
    def979170b update to GSL 4.0.0 (#558)
    fe365e5a41 fix XML validation for UTF-8 (#557)
    502e5829b8 support conversion to std::wstring (#556)
    e69422596a Delete codeql-analysis.yml
    45bc6a9640 Create codeql-analysis.yml
    87d9a7ef54 remove CodeQL
    eab5ecb899 Update build_unittest.yml
    8ab12d47e9 Delete codeql-analysis.yml
    9e542092b8 try running CodeQL as part of build-linux-cmake
    de0c50651e Create codeql-analysis.yml
    049608782b tweaks to build in "coda" (#554)
    0ba24233b9 replace sys::U8string with coda_oss::u8string (#553)
    bcee6551f2 add EncodedString class (#552)
    c2eecd3925 simplify implementation of EncodedStringView (#551)
    c1320ef00d fix 'typename' for other compilers (#550)
    ac3b93931f tweaks to make "main" build easier (#549)
    78da741cf5 remove sys/Optional.h (#548)
    f31730ac77 put our std work-arounds in one place (#547)
    9b7bb571a9 Add an EncodedStringView class (#545)
    c0e1da5201 another batch of tweaks to cleanup compiler warnings, etc. (#546)
    0f3bfd9d05 added missing "virtual", support unique_ptr (#544)
    ca32f99c03 Add option to specify curl installation location. (#501)
    2df9c1a819 allow std::filesystem::path to be used for validation (#543)
    2891435760 add SinCos for units::Angle (#542)
    e430eddefb Delete log4j as 1) it's old, 2) coda-oss doesn't use it, and 3) remove any questions about security vulnerability (#541)
    bb11134fd0 xml.lite tweaks (#540)
    955b33e215 Release 2021_12_13 (#539)
    d73d74d5c1 xml.lite tweaks (#537)
    3a90e25c6f use more C++11 functionality (#538)
    9ca2a0e50c remove more compiler warnings (#536)
    0ec9da1e91 be sure == and != are in-sync (#535)
    9084be32c4 fix size_t compiler warnings (#534)
    abd6469ec8 fix ICC errors (#533)
    09cb36fff4 update version number before cutting a new release (#532)
    c29e4d2988 fix ICC warnings/errors from high-side (#531)
    91f8f1c089 simplify our std:: implementations (#530)
    7c633c7bb5 Further reduce use of std::auto_ptr (#529)
    d85883749c Provide support for creating simple version numbers (#528)
    b035825929 Merge pull request #527 from mdaus/fix-crypt-h-clash
    ffed3d6339 Disable encryption support in minizip build and remove crypt.h header
    ee2b2bf8c0 Merge pull request #525 from mdaus/swig-fix
    3c02ff2893 Fix config-python prefix issue
    6149053d4e Add new config-python module for SWIG compatibility workarounds
    30acf5b9af mt::transform_async(), mem::SharedPtr, math::SinCos() (#526)
    21efd6a6c9 Implement better workaround for lack of SWIG support for "final"
    60837a62ea Revert unneeded changes
    0bc994dea7 Fix SWIG path issue for waf build
    070f4e9150 Update SWIG generated files
    f8472b0c46 Fix SWIG path issues and warnings
    e10707f758 Set minimum SWIG version to 4.0.1
    b8cdba5c75 Fix waf SWIG build issue
    2bd0ee39e5 Enable SWIG in Github waf build
    f2b001146f Try fixing SWIG compile issue again
    afafabcc28 Fix SWIG compile issue on Linux due to missing macro
    7c8d4a81d5 Add SWIG to the CI flow
    4023d721c5 Regenerate SWIG bindings
    1d8c70109c Add some compile definitions needed by SWIG for CMake build
    e5cc58545f Remove some functions which return unique_ptr from SWIG bindings (incompatible).
    965a2913dd Remove "final" specifier from structs bound in SWIG (incompatible)
    f1bec56014 Merge branch 'master' of https://github.com/mdaus/coda-oss
    c01c4d7de5 do in-line initialization (#524)
    fb7230ea1e Update CMakeLists.txt
    5dfb056898 tweaks for C++17 (#523)
    1a7d3ab522 Merge pull request #515 from mdaus/security-and-conan-updates
    d13885df66 make it easier to create a new Element with the right encoding (#522)
    3fb09e73ab Merge pull request #359 from mdaus/parseArgUpdate
    0d546a8f1b Tweak some ArgumentParser tests for the ignoreUnknownArguments option
    14bd1f26d4 Merge remote-tracking branch 'origin/master' into parseArgUpdate
    cf398c0d36 tweak code for C++11/C++17 (#521)
    2d0322b070 reduce use of std::auto_ptr (#520)
    853320e90f reduce use of deprecated C++98 code (#519)
    4752ba2221 Replace some warning pragmas with macros
    32685554ff Merge remote-tracking branch 'origin/master' into security-and-conan-updates
    f0350c0cfd Merge pull request #518 from mdaus/bugfix/python3.9-related
    fc01df0d8c fix typos in gcc macros
    9d356f36cd fix gcc impl
    8124da763f remove unreachable code
    d034b3a849 clobber warnings from numpy innards
    9941a401e1 macros to disable warnings around system headers
    8a725bb8f3 Merge pull request #516 from mdaus/mbraswell-enablecpp17-windows
    2e7b8165ae Fixed pragma stuff on gcc
    9775bb02d9 Fixed pragma stuff on gcc
    680d3cce41 Merge branch 'master' of https://github.com/mdaus/coda-oss
    8ffd6ed790 forgot to add "units" to CMakeFiles.txt
    06835676e5 Remove Auto_ptr flag and make disable warnings cross_platform compatible
    d62efece56 Merge branch 'master' of https://github.com/mdaus/coda-oss into mbraswell-enablecpp17-windows
    d04042ee9a Merge pull request #517 from mdaus/develop/compiler-warning-helpers
    cf5cd16b33 Fix macro usage on gcc
    a88bbcd202 Macros to narrowly target disabling warnings
    c0d5cdf004 Formatting Changes
    be019b44b2 Formatting Changes
    2eb04dc9e7 Fixed compiler warnings and added option to compile cpp17 with waf on windows
    5d9f27faeb Refactor coda-oss conan recipe
    ce66457149 Disable warning for MSVC2017 and earlier
    ecfefbfbec Merge remote-tracking branch 'origin/master' into security-and-conan-updates
    8b1479881d Merge pull request #514 from mdaus/develop/fix-unused-symbol-errors
    1d9a4ec712 Add conan option to use std::regex instead of pcre
    6dd5d44576 add required include
    4c0ae77811 add required include
    1873ceeb8a parameterize build (somewhat)
    c9ef567a7a fix Release compile error
    e6b47e94ee fix compiler error
    eff205ba2d helper macro to fix unusual targets
    342098a32c Fix CMake build for modules without include files
    5625706ebf Enable cpp17 option for windows builds
    98e12b138e Use consistent line endings for *.in template files
    d01fea0b73 Configure coda_add_module to install more file extension types
    30823f673b Delete stray file
    ac7760ba22 Load dependency targets when loading coda-oss for conan build
    14781cab8e Implement conan build for openjpeg and pcre2 dependencies
    9d955efa53 Exclude unsupported XML backend wrappers from CMake build to remove warnings
    1e8c9b2643 Merge remote-tracking branch 'origin/master' into security-and-conan-updates
    772d804951 Implement conan build for libjpeg dependency
    98b653dea4 Implement conan build for xerces-c dependency
    11323e8e98 Implement conan build for zlib dependency
    d0e6bf2c4b Improve conan test_package
    a03e1294e1 Fix uninitialized member variable warning in mt::AbstractTiedThreadPool
    c7bb47b5f8 Remove member variable duplicated in derived class io::ToggleOutputStream
    0838ac2ca2 Use consistent line endings for conan recipes and CMake files.
    2768e5f07e Update libjpeg to v9d
    d75f55bcac Update zlib to 1.2.11
    ca2f84cff3 Fix warning in GSL for MSVC 2015 and earlier
    1babd19b55 Fix warning in thread tests for MSVC
    2f17632496 Fix warning in except module for Visual Studio 2015 and earlier
    a485bf6bb1 Fix BIGENDIAN redefinition warning
    59543e42b2 Disable warning in dbi for MSVC 2017 and earlier
    b4b212834b Fix warnings in numpyutils for MSVC 2017 and earlier
    2b179b6587 Fix integer overflow issue
    898151ad75 Hook up simple "units" (#513)
    4d6beeecc5 Merge pull request #511 from mdaus/develop/horizontal-improved-numerical-precision
    c1878b228e Fix for numerical precision issues surrounding horizontal lines
    7d1442c66c Merge pull request #510 from mbraswell/fix-testnumelements-build
    58fc85f096 Whitespace change to trigger workflow
    ab74026b9f Fix wscript to successfully build test_num_elements
    323283cd78 Merge pull request #509 from mbraswell/develop-mbraswell-cpp17
    16a5502896 Added option to enable cpp17
    b0625cf5a2 tweak debug stuff (#508)
    8455494878 fix RowCol casting (#507)
    01fbb5f008 Get std::u8string working right with C++20 (#506)
    df9413efae more "noexcept" for fewer code-analysis diagnostics (#505)
    e6219f97f9 reduce compiler warnings/code-analysis diagnostics (#504)
    4c9ea0ef18 tweaks for VS2019 16.10 (#503)
    0d8ea070a5 reduce compiler warnings (#502)
    625b8b59d4 reduce compiler warnings (#500)
    3795758da0 get rid of more compiler warnings/code-analysis diagnostics (#499)
    427f91be85 reduce compiler-warnings and code-analysis diagnostics (#498)
    c82dd9e370 cleanup compiler and code-analysis diagnistics (#496)
    b5105b54ae reduce compiler warnings (#495)
    e0099cc269 Develop/compiler optimizations (#494)
    0eeb3f9638 tweaks to python wrappers made in "nitro" (#492)
    5f91f70604 fix printf() format string (#491)
    55b855a865 Delete codeql-analysis.yml
    603c192d3b Update codeql-analysis.yml
    f306979e87 Update codeql-analysis.yml
    4a1f78f8ef Create codeql-analysis.yml
    3c80a65680 add back coda_oss::filesystem::path (#490)
    eaea659ed3 tweak how std:: features are exposed (#489)
    0492f0d95f simplify code exposing std:: routines (#488)
    e5f3d77701 remove code-analysis diagnostics (#485)
    5be599e5af make HOME and USERPROFILE the same (#484)
    62b22ae019 cleanup more compiler warnings (#483)
    c32ec7dcc1 add unit-tests for env-var editing (#482)
    311aea4623 allow an environment-variable to be "edited" during expansion (#481)
    bbcab13103 static_assert is C++11, don't use it when checking for C++11 (#480)
    068562f589 fix glitches in expandEnviromentVariables() (#479)
    30ed1d95e2 produce a new Path::expandEnviromentVariables() function (#478)
    074a873b28 remove compiler warnings (#477)
    e29f65479f latest C++17 tweaks (#476)
    c4e681b0ae tweak code when wchar_t is a built-in type (#474)
    8449ac29a4 wchar_t might not be a built-in type on old systems (#473)
    a62bdb3e64 add operator= to sys::Optional (#472)
    8e310a776d use compiler-provided macros to determine features (#470)
    88405c8edb "constexpr" can be hard to get right with older compilers; don't even try (#471)
    b195ab3efc need at least VS2017 to use the real GSL (#469)
    2978f9114f tweaks to build with older compilers (#468)
    7235b898d3 The (old) version of SWIG we're using doesn't like certain C++11 features. (#464)
    cccde7f126 only look in the Win1252->UTF-8 map as a last resort (#467)
    3db09742c1 get rid of more compiler warnings (#465)
    5e0d2e8451 get rid of "char8_t" compiler warning (#463)
    d710bc6882 make getValue() easier to use (#462)
    f5a9284768 make getElement*() be consistent for both 0 and >1 (#461)
    88be6dba35 consistently add C++14/17/20 library features (#459)
    59c3a7e2ef use coda_oss:: as a drop-in replacement for std:: (#458)
    35de4524c4 use sys::Filesystem::path rather than std::string (#457)
    cace666005 make sys::Filesystem::path better conform to std::filesystem::path (#456)
    f395edc891 remove ambiguous overloads w/C++17 (#455)
    eac4371f19 use newly added sys::Optional<> to manage "encoding" (#454)
    243ef5e500 don't derive from std::iterator (#453)
    a48b011411 Arguments should be "const&" to prevent C4866 (#452)
    878bff901f provide std::span (#451)
    81727c4854 remove newly added a new pure virtual as that's a breaking change (#450)
    93cf0f03ef main -> master (#449)
    5af37a7363 be sure code compiles with C++17 (#448)
    82b5aecfb5 build with C++17 (#407)
    6ffb888d79 reduce compiler warnings (#439)
    9137dda7dc GSL (Guideline Support Library) from https://github.com/Microsoft/GSL (#423)
    bc5552cd20 update to xerces-c-3.2.3 (#409)
    6fe09e1dbb update to openjpeg-2.3.1 (#417)
    6405c0ce59 reduce differences in #407 (#438)
    2987bbf8d6 tweak how std::filesystem is enabled (#437)
    8fd3c2f202 tweak how std::endian is enabled (#436)
    138372c886 more straight-forward reduction of std::auto_ptr (#435)
    f13c7cec89 straight-forward reduction of std::auto_ptr (#434)
    d243b08e1b add mem::auto_ptr for transition to C++17 (#432)
    54ed52158e allow clients to specify custom toType and toString (#431)
    7f90aab25e remove trailing underscore from macro (#429)
    999e490686 with C++11, several sys typedefs are the same on both Windows & *nix (#427)
    6f075b1be5 add sys::Byte (#426)
    92221bd0d9 allow except::Throwable to derive from std::exception (#421)
    a8f52d0ad4 reduce compiler warnings (#424)
    63ea20af69 #including <bit> w/C++17 generates warnings (#408)
    10ef060313 reduce compiler warnings (#405)
    cf233fdcfd forgot Conf.cpp changes for sys::Endian (#403)
    cc53b18537 fix several compiler warnings/code-analysis diagnostics (#404)
    1db3751a3c implmeent sys::Endian from C++20 (#402)
    f042cd6bb9 support std::filesystem if desired (#400)
    4895a9f2dc WIN32 is old, but existing code might still use it; _WIN32 is better (#398)
    e2a62f8ec2 make it easier to use xml.lite (#396)
    1059b7da1c allow for explicit use of a UTF-8 string (#395)
    27de8b8a44 Optionally record how std::string is encoded when manipulating XML (#378)
    e0018cea75 implement some <filesystem>-like routines until we can use C++17 (#388)
    cafb2365b7 Merge pull request #363 from mdaus/feature/fix-compiler-warnings
    6a78bec201 use the existing sys::ubyte rather than making our own pre-C++17 std::byte
    14c9fc4ca4 fix a couple of G++ compiler warnings via static_cast<>
    e596a60070 std::numeric_limits<T>::epsilon() can be "constexpr"
    78b0f6bb26 another try at removing the compiler warning from tiff::split()
    8e1de21e17 fixed typo; added a few nots about why we're not using strncpy()
    fed3ba8cdb retore previous tiff::split() code as the change got rid of the compiler warning but wasn't portable
    98a589616d get rid of g++ strncpy() warning
    798f847117 don't use memset(0) with C++ objects
    7f697d078c casting result of system() to void doesn't get rid of compiler warning
    d55a849c51 remove new g++ compiler warnings in WSL
    d0aaa29884 Merge pull request #361 from mdaus/feature/fix-compiler-warnings
    cc62e866b0 fix compiler warnings
    d45c1f9a09 Updates based on peer review comments which include changing ostream to pointer, adding a couple of more tests, and updating all auto_ptr to unique_ptr in unit test.
    fb12ba1266 Update ArgumentParser to use a stream as an argument if the ignore unknown argument flag is set to true.
    536d2b0cad Added ability to ignore unknown arguments in the ArgumentParser.
    27288f49bb Merge pull request #358 from mdaus/conan-options
    fd5e1eecb7 Expose additional CMake options in conan recipe
    c972161793 Remove unneeded CMake function

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

commit 09af7ec
Author: Dan Smith <[email protected]>
Date:   Fri Nov 18 10:14:31 2022 -0500

    latest from coda-oss
  • Loading branch information
Dan Smith committed Nov 25, 2022
1 parent bd300e6 commit 4cd5826
Show file tree
Hide file tree
Showing 42 changed files with 60 additions and 196 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ class Row
std::vector< Field > mData;
};

//typedef mem::auto_ptr< Row > pRow;
//typedef std::unique_ptr< Row > pRow;

/*!
* \class ResultSet
Expand Down Expand Up @@ -303,7 +303,7 @@ class ResultSet
Row mCurrentRow;
};

typedef mem::auto_ptr< ResultSet > pResultSet;
typedef std::unique_ptr< ResultSet > pResultSet;

/*!
* \class DatabaseConnection
Expand Down
2 changes: 1 addition & 1 deletion externals/coda-oss/modules/c++/io/include/io/DbgStream.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ struct DbgStream : public OutputStream
}
protected:
//! The bound stream
mem::auto_ptr<OutputStream> mStream;
std::unique_ptr<OutputStream> mStream;
//! On or off??
bool mOn = false;
};
Expand Down
4 changes: 2 additions & 2 deletions externals/coda-oss/modules/c++/io/include/io/ProxyStreams.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ struct CODA_OSS_API ProxyInputStream : public InputStream
return mProxy->read(buffer, len);
}

mem::auto_ptr<InputStream> mProxy;
std::unique_ptr<InputStream> mProxy;
bool mOwnPtr;
};

Expand Down Expand Up @@ -117,7 +117,7 @@ struct CODA_OSS_API ProxyOutputStream : public OutputStream
}

protected:
mem::auto_ptr<OutputStream> mProxy;
std::unique_ptr<OutputStream> mProxy;
bool mOwnPtr = false;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ using path = std::filesystem::path;
#else
using path = coda_oss::filesystem::path;
#endif
mem::auto_ptr<logging::Logger> setupLogger(
std::unique_ptr<logging::Logger> setupLogger(
const path& program,
const std::string& logLevel = "warning",
const path& logFile = "console",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ struct CODA_OSS_API StreamHandler : public Handler
// used for the bulk of the logging for speed
void emitRecord(const LogRecord* record) override;

mem::auto_ptr<io::OutputStream> mStream;
std::unique_ptr<io::OutputStream> mStream;

private:
bool mClosed;
Expand Down
4 changes: 2 additions & 2 deletions externals/coda-oss/modules/c++/logging/source/Setup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

#include "logging/Setup.h"

mem::auto_ptr<logging::Logger>
std::unique_ptr<logging::Logger>
logging::setupLogger(const path& program_,
const std::string& logLevel,
const path& logFile_,
Expand Down Expand Up @@ -89,5 +89,5 @@ logging::setupLogger(const path& program_,
logHandler->setFormatter(formatter.release());
log->addHandler(logHandler.release(), true);

return mem::auto_ptr<logging::Logger>(log.release());
return std::unique_ptr<logging::Logger>(log.release());
}
5 changes: 2 additions & 3 deletions externals/coda-oss/modules/c++/mem/include/mem/AutoPtr.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#pragma once

#include <memory>
#include <type_traits>

#include "coda_oss/memory.h"
#include "mem/SharedPtr.h"
Expand Down Expand Up @@ -83,13 +82,13 @@ class AutoPtr final
}

template<typename U>
AutoPtr& operator=(mem::auto_ptr<U> p) noexcept
AutoPtr& operator=(std::auto_ptr<U> p) noexcept
{
ptr_.reset(p.release());
return *this;
}
template <typename U>
AutoPtr(mem::auto_ptr<U> p) noexcept
AutoPtr(std::auto_ptr<U> p) noexcept
{
*this = p;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ namespace mem
/*!
* \class ScopedCloneablePtr
* \brief This class provides RAII for object allocations via new. It is a
* light wrapper around std::auto_ptr and has the same semantics
* light wrapper around std::unique_ptr and has the same semantics
* except that the copy constructor and assignment operator are deep
* copies (by using T's clone() method) rather than transferring
* ownership.
*
* This is useful for cases where you have a class which has a member
* variable that's dynamically allocated and you want to provide a
* valid copy constructor / assignment operator. With raw pointers or
* std::auto_ptr's, you'll have to write the copy constructor /
* std::unique_ptr's, you'll have to write the copy constructor /
* assignment operator for this class - this is tedious and
* error-prone since you need to include all the members in the class.
* Using ScopedCloneablePtr's instead, the compiler-generated copy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ namespace mem
/*!
* \class ScopedCopyablePtr
* \brief This class provides RAII for object allocations via new. It is a
* light wrapper around std::auto_ptr and has the same semantics
* light wrapper around std::unique_ptr and has the same semantics
* except that the copy constructor and assignment operator are deep
* copies (that is, they use T's copy constructor) rather than
* transferring ownership.
*
* This is useful for cases where you have a class which has a member
* variable that's dynamically allocated and you want to provide a
* valid copy constructor / assignment operator. With raw pointers or
* std::auto_ptr's, you'll have to write the copy constructor /
* std::unique_ptr's, you'll have to write the copy constructor /
* assignment operator for this class - this is tedious and
* error-prone since you need to include all the members in the class.
* Using ScopedCopyablePtr's instead, the compiler-generated copy
Expand Down
16 changes: 2 additions & 14 deletions externals/coda-oss/modules/c++/mem/include/mem/ScopedPtr.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ namespace mem
/*!
* \class ScopedPtr
* \brief This class provides RAII for object allocations via new. It is a
* light wrapper around std::auto_ptr and has the same semantics
* light wrapper around std::unique_ptr and has the same semantics
* except that the copy constructor and assignment operator are deep
* copies (by using T's clone() method) rather than transferring
* ownership.
*
* This is useful for cases where you have a class which has a member
* variable that's dynamically allocated and you want to provide a
* valid copy constructor / assignment operator. With raw pointers or
* std::auto_ptr's, you'll have to write the copy constructor /
* std::unique_ptr's, you'll have to write the copy constructor /
* assignment operator for this class - this is tedious and
* error-prone since you need to include all the members in the class.
* Using ScopedCloneablePtr's instead, the compiler-generated copy
Expand Down Expand Up @@ -77,12 +77,6 @@ class ScopedPtr
{
reset(std::move(ptr));
}
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
explicit ScopedPtr(mem::auto_ptr<T> ptr)
{
reset(ptr);
}
#endif

ScopedPtr(const ScopedPtr& rhs)
{
Expand Down Expand Up @@ -161,12 +155,6 @@ class ScopedPtr
{
mPtr = std::move(ptr);
}
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
void reset(mem::auto_ptr<T> ptr)
{
reset(std::unique_ptr<T>(ptr.release()));
}
#endif
};
}

Expand Down
23 changes: 0 additions & 23 deletions externals/coda-oss/modules/c++/mem/include/mem/SharedPtrCpp11.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,6 @@

namespace mem
{
// This won't work everywhere since C++11's std::unique_ptr<> often requires
// "&&" and std::move. But for member data and the like it can reduce some
// boiler-plate code; note that it's often possible to just use std::unique_ptr
// directly. This is mostly needed to support existing interfaces.
#if CODA_OSS_cpp17 // std::auto_ptr removed in C++17
#if defined(CODA_OSS_no_autoptr) && (!CODA_OSS_no_autoptr)
#error "std::auto_ptr was removed in C++17."
#endif
#define CODA_OSS_autoptr_is_std 0 // mem::auto_ptr != std::auto_ptr
#else // C++11 or C++14 still have std::auto_ptr, but it's depricated
#ifdef CODA_OSS_no_autoptr // don't use std::auto_ptr even if it's available
#define CODA_OSS_autoptr_is_std 0 // mem::auto_ptr != std::auto_ptr
#else
#define CODA_OSS_autoptr_is_std 1 // mem::auto_ptr == std::auto_ptr
#endif
#endif
template <typename T> using auto_ptr =
#if CODA_OSS_autoptr_is_std
std::auto_ptr<T>;
#else
std::unique_ptr<T>;
#endif

// Pretty much give-up on mem::SharedPtr as it's too hard to get something that will
// compile with all the different compilers; let somebody else worry about that
// via std::shared_ptr. The only code change is use_count() instead of getCount(),
Expand Down
16 changes: 0 additions & 16 deletions externals/coda-oss/modules/c++/mem/include/mem/VectorOfPointers.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,6 @@ struct VectorOfPointers
mValues.resize(mValues.size() + 1);
mValues.back() = value.release();
}
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
template <typename OtherT>
void push_back(mem::auto_ptr<OtherT> value)
{
std::unique_ptr<OtherT> scopedValue(value.release());
push_back(std::move(scopedValue));
}
#endif

typedef typename std::vector<T*>::iterator iterator;
typedef typename std::vector<T*>::const_iterator const_iterator;
Expand Down Expand Up @@ -199,14 +191,6 @@ template <typename T>
mValues.resize(mValues.size() + 1);
mValues.back().reset(value.release());
}
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
template <typename OtherT>
void push_back(mem::auto_ptr<OtherT> value)
{
std::unique_ptr<OtherT> scopedValue(value.release());
push_back(std::move(scopedValue));
}
#endif

template <typename OtherT>
void push_back(std::shared_ptr<OtherT> value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ class AbstractCPUAffinityInitializer
* \returns a new thread initializer. In general, this should return
* a different affinity initializer each time it is called.
*/
mem::auto_ptr<AbstractCPUAffinityThreadInitializer> newThreadInitializer()
std::unique_ptr<AbstractCPUAffinityThreadInitializer> newThreadInitializer()
{
return mem::auto_ptr<AbstractCPUAffinityThreadInitializer>(
return std::unique_ptr<AbstractCPUAffinityThreadInitializer>(
newThreadInitializerImpl());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ class AbstractTiedThreadPool : public AbstractThreadPool<Request_T>
mAffinityInit = affinityInit;
}

virtual mem::auto_ptr<CPUAffinityThreadInitializer>
virtual std::unique_ptr<CPUAffinityThreadInitializer>
getCPUAffinityThreadInitializer()
{
mem::auto_ptr<CPUAffinityThreadInitializer> threadInit(nullptr);
std::unique_ptr<CPUAffinityThreadInitializer> threadInit(nullptr);

// If we were passed a schematic
// for initializing thread affinity...
Expand All @@ -74,11 +74,11 @@ class AbstractTiedThreadPool : public AbstractThreadPool<Request_T>
#if CODA_OSS_cpp17
std::unique_ptr<CPUAffinityThreadInitializer>&& init) = 0;
#else
mem::auto_ptr<CPUAffinityThreadInitializer> init) = 0;
std::unique_ptr<CPUAffinityThreadInitializer> init) = 0;
virtual mt::TiedWorkerThread<Request_T>*
newTiedWorker(mt::RequestQueue<Request_T>* q,
std::unique_ptr<CPUAffinityThreadInitializer>&& init) {
mem::auto_ptr<CPUAffinityThreadInitializer> init_(init.release());
std::unique_ptr<CPUAffinityThreadInitializer> init_(init.release());
return newTiedWorker(q, init_);
}
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ namespace mt
{
struct AbstractNextCPUProviderLinux
{
virtual mem::auto_ptr<const sys::ScopedCPUMaskUnix> nextCPU() = 0;
virtual std::unique_ptr<const sys::ScopedCPUMaskUnix> nextCPU() = 0;
};

/*!
Expand Down Expand Up @@ -69,9 +69,9 @@ class CPUAffinityInitializerLinux : public AbstractCPUAffinityInitializer
* \returns a new CPUAffinityInitializerLinux for the next available
* CPU that can be bound to.
*/
mem::auto_ptr<CPUAffinityThreadInitializerLinux> newThreadInitializer()
std::unique_ptr<CPUAffinityThreadInitializerLinux> newThreadInitializer()
{
return mem::auto_ptr<CPUAffinityThreadInitializerLinux>(
return std::unique_ptr<CPUAffinityThreadInitializerLinux>(
newThreadInitializerImpl());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ class CPUAffinityInitializerWin32 : public AbstractCPUAffinityInitializer
* \todo Not yet implemented
* \returns NULL
*/
mem::auto_ptr<CPUAffinityThreadInitializerWin32> newThreadInitializer()
std::unique_ptr<CPUAffinityThreadInitializerWin32> newThreadInitializer()
{
return mem::auto_ptr<CPUAffinityThreadInitializerWin32>(
return std::unique_ptr<CPUAffinityThreadInitializerWin32>(
newThreadInitializerImpl());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ class CPUAffinityThreadInitializerLinux :
*/
CPUAffinityThreadInitializerLinux(
std::unique_ptr<const sys::ScopedCPUMaskUnix>&& cpu);
#if CODA_OSS_autoptr_is_std // std::auto_ptr removed in C++17
CPUAffinityThreadInitializerLinux(
mem::auto_ptr<const sys::ScopedCPUMaskUnix> cpu);
#endif

/*!
* Attempt to bind to the affinity mask given during construction
Expand Down
12 changes: 1 addition & 11 deletions externals/coda-oss/modules/c++/mt/include/mt/ThreadGroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,6 @@ struct CODA_OSS_API ThreadGroup
* \param runnable auto_ptr to sys::Runnable
*/
void createThread(std::unique_ptr<sys::Runnable>&& runnable);
#if CODA_OSS_autoptr_is_std
void createThread(mem::auto_ptr<sys::Runnable> runnable);
#endif

/*!
* Waits for all threads to complete.
Expand Down Expand Up @@ -138,7 +135,7 @@ struct CODA_OSS_API ThreadGroup
* the internal CPUAffinityInitializer. If no initializer
* was created, will return NULL.
*/
mem::auto_ptr<CPUAffinityThreadInitializer> getNextInitializer();
std::unique_ptr<CPUAffinityThreadInitializer> getNextInitializer();

/*!
* \class ThreadGroupRunnable
Expand All @@ -164,13 +161,6 @@ struct CODA_OSS_API ThreadGroup
mt::ThreadGroup& parentThreadGroup,
std::unique_ptr<CPUAffinityThreadInitializer>&& threadInit =
std::unique_ptr<CPUAffinityThreadInitializer>(nullptr));
#if CODA_OSS_autoptr_is_std
ThreadGroupRunnable(
mem::auto_ptr<sys::Runnable> runnable,
mt::ThreadGroup& parentThreadGroup,
mem::auto_ptr<CPUAffinityThreadInitializer> threadInit =
mem::auto_ptr<CPUAffinityThreadInitializer>(nullptr));
#endif

ThreadGroupRunnable(const ThreadGroupRunnable&) = delete;
ThreadGroupRunnable& operator=(const ThreadGroupRunnable&) = delete;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ class TiedWorkerThread : public mt::WorkerThread<Request_T>
#if !CODA_OSS_cpp17
TiedWorkerThread(
mt::RequestQueue<Request_T>* requestQueue,
mem::auto_ptr<CPUAffinityThreadInitializer> cpuAffinityInit =
mem::auto_ptr<CPUAffinityThreadInitializer>(nullptr)) :
std::unique_ptr<CPUAffinityThreadInitializer> cpuAffinityInit =
std::unique_ptr<CPUAffinityThreadInitializer>(nullptr)) :
TiedWorkerThread(requestQueue, std::unique_ptr<CPUAffinityThreadInitializer>(cpuAffinityInit.release()))
{
}
Expand Down
Loading

0 comments on commit 4cd5826

Please sign in to comment.