Commit Graph

49 Commits

Author SHA1 Message Date
James E. King III
5692d34219 clean up some coverity-identified issues, mostly uninitialized class members 2018-08-13 22:28:27 -04:00
James E. King III
d7f1b82682 Added CI framework
- travis with valgrind, cppcheck, ubsan, codecov, covscan (future)
      - appveyor with MSVC 2010 through 2017, cygwin 32/64, mingw 32/64
      - README, LICENSE, etc.

Additional fixes for cygwin builds to work
2018-07-30 09:14:56 -04:00
Edward Diener
623c608793 Removed executable flag. 2017-09-16 07:15:09 -04:00
Edward Diener
d595901ae4 Merge branch 'bugfix/10561' of https://github.com/jlodos/iostreams into develop_test 2016-12-10 08:15:32 -05:00
Jorge Lodos
ec09583209 Bugfix in test_seekable_... functions and new dual_seekable_test function. 2016-02-07 22:24:51 -06:00
Marcel Raad
9e31b98833 Fix MSVC compiler warnings
- silenced narrowing conversion warnings with explicit casts
- fixed a variable shadowing warning by removing an unused variable
2015-09-17 13:08:11 +02:00
Jonathan Turkanis
e21ce6efba merged branch 'bugfix/warnings-2015-09-01' into develop; silenced numerous compiler warnings for msvc, gcc, and clang 2015-09-03 15:50:36 -04:00
Alex Henrie
61ba23892f Correct spelling of "suppress" 2015-02-07 01:59:21 -07:00
Stephen Kelly
6d11f179dd Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Jürgen Hunold
df7ae7c3e6 Fix: use official Boost.Filesystem API.
[SVN r78191]
2012-04-25 13:41:38 +00:00
Daniel James
e438cff79d Fix headers.
[SVN r63448]
2010-06-30 12:04:02 +00:00
Daniel James
df5b5e6650 Some more windows fixes for my recent iostreams changes.
[SVN r63434]
2010-06-29 15:03:37 +00:00
Daniel James
944cd0d024 Fix call to unique_path on windows. Refs #2325.
[SVN r63433]
2010-06-29 14:30:29 +00:00
Daniel James
04d9e47c57 Try to improve file_descriptor's ownership policies. Refs #3517
* Deprecate the old 'close_on_exit' constructors.
* Introduce new constructors from file handle, taking either
  `never_close_handle` or `close_handle`.
* Close current file handle when opening a new file handle,
  if it would have been closed in the destructor.

[SVN r63430]
2010-06-29 14:15:13 +00:00
Daniel James
581486bcf0 Use unique_path instead of tmpnam. Refs #2325.
[SVN r63429]
2010-06-29 14:13:52 +00:00
Steven Watanabe
fd81a28296 Rejigger file_descriptors handling of std::ios_base::openmode to match std::fstream. In particular, truncate existing files, if std::ios_base::trunc is passed. Refs #3323.
[SVN r62934]
2010-06-14 15:56:00 +00:00
Beman Dawes
7eb5702836 iostreams: fix for LWG issue 811, which it causing GCC 4.4.x errors
[SVN r56666]
2009-10-09 12:16:38 +00:00
Beman Dawes
3918269904 Quiet GCC warnings
[SVN r56022]
2009-09-04 22:20:40 +00:00
Marshall Clow
553eefe79e Replaced all occurrences of non-ASCII copyright symbol with '(c)' for people using non-ASCII code pages
[SVN r43992]
2008-04-02 01:42:32 +00:00
Jonathan Turkanis
5344f24a11 switched from <wchar.h> to <cwchar>, for stdcxx (which is conforming in this case)
[SVN r43243]
2008-02-13 19:42:10 +00:00
Jonathan Turkanis
ecbd2bd5e8 merged changes from iostreams_dev, revisions 42962-43059: updated copyright notices
[SVN r43061]
2008-02-02 22:10:46 +00:00
Jonathan Turkanis
f05fc1b347 overhaul of dual_use filters: close() is now called just once; suppressed Borland/Dinkumware warnings in mapped_file.hpp
[SVN r42778]
2008-01-14 20:47:17 +00:00
Jonathan Turkanis
9ea25a989b merged changes from iostreams_dev, revisions 42441-42469; added 'std::' for Intel on Linux/Darwin; added STDCXX workaround for codecvt; fixed docs for invert.hpp
[SVN r42471]
2008-01-05 04:51:49 +00:00
Jonathan Turkanis
9dccd2482b ported changes from branches/iostreams_dev revisions 42343-42356
[SVN r42357]
2007-12-30 04:19:38 +00:00
Jonathan Turkanis
8c65fa7d15 ported changes from branches/iostreams_dev revisions 42265-42306
[SVN r42307]
2007-12-26 05:45:15 +00:00
Jonathan Turkanis
4f85a131de I. Changed signature and specification of boost::iostreams::close(),
and made corresponding changes throughout the iostreams library.
   New spec is:
   
   template<typename T>
   void close(T& t);

     Convenience function for closing a device; calls close(t, in) and 
     close(t, out).

   template<typename T>
   void close(T& t, openmode which);

   template<typename T, typename Sink>
   void close(T& t, Sink& snk, openmode which);

     These two functions should only be called by the library implementation
     or by advanced users. The openmode parameter must always equal in or 
     out, never in | out.

     There are three cases:

     1. If T is not closable and which == out, calls boost::iostreams::flush

     2. If T operates on a single sequence, and is NOT a dual-use filter:

        a. If which == in and the mode of T is convertible to input but
           not to output, calls t.close() (or t.close(snk))

        b. If which == out and the mode of T is not convertible to input or
           is convertible to input and to output, calls t.close() 
           (or t.close(snk))

        The effect of a. and b. is that for any T in this category, 
        close() is called exactly once.

     3. If T operates on two sequences or is a dual-use filter, calls
        t.close(which) (or t.close(snk, which))

     If multiple operations that might throw must be called in the course
     of closing a filter or device, all of the operations are attempted
     and the first exception thrown by any of the operations is rethrown

  The new test close_test.cpp contains 95 checks verifying that the operation
  behaves as sepcified.

  This affects the following files:

    chain.hpp
    close.hpp
    code_converter.hpp
    combine.hpp
    compose.hpp
    copy.hpp
    detail/adapter/basic_adapter.hpp [removed]
    detail/adapter/device_adapter.hpp [new]
    detail/adapter/direct_adapter.hpp
    detail/adapter/filter_adapter.hpp [new]
    detail/adapter/mode_adapter.hpp
    detail/broken_overload_resolution/stream_buffer.hpp
    detail/closer.hpp [removed]
    detail/config/limits.hpp
    detail/execute.hpp [new]
    detail/functional.hpp [new]
    detail/streambuf/direct_streambuf.hpp
    detail/streambuf/indirect_streambuf.hpp
    detail/streambuf/linked_streambuf.hpp
    detail/vc6/close.hpp
    device/null.hpp
    filter/aggregate.hpp
    filter/bzip2.hpp
    filter/gzip.hpp
    filter/line.hpp
    filter/newline.hpp
    filter/symmetric.hpp
    filter/test.hpp
    invert.hpp
    restrict.hpp
    tee.hpp
    example/finite_state_filter.hpp
    test/Jamfile.v2
    test/close_test.cpp [new]
    test/code_converter_test.cpp
    test/execute_test.cpp [new]
    test/operation_sequence_test.cpp [new]

II. When exceptions are caught and ignored, we now use catch (...)
    uniformly instead of catch (std::exception&). This affects the 
    following files:

    stream_buffer.hpp
    src/mapped_file.cpp

III. Unnecessary dependence on Boost.Range has been eliminated. This
     affects the following files:

    detail/is_iterator_range.hpp
    detail/resolve.hpp
    traits.hpp
    test/Jamfile.v2
    test/filtering_stream_test.cpp
    test/offset_test.cpp
    test/seek_test.hpp
    test/seekable_filter_test.cpp
    test/sequence_test.cpp [new]
    test/wide_stream_test.cpp

IV. There are several fixes to the documentation. This affects the
    following files:

    doc/classes/symmetric_filter.html
    doc/guide/concepts.html
    doc/guide/modes.html
    doc/tutorial/container_device.html [serious error in algorithm]
    doc/tutorial/dictionary_filters.html [unused member variable]
    doc/tutorial/multichar_filters.html

V. Other changes include:

    stream.hpp [missing include directive]
    example/container_device.hpp [serious error in algorithm]
    example/container_device_example.cpp [outdated naming]
    example/container_sink_example.cpp [outdated naming]
    example/container_source_example.cpp [outdated naming]
    example/dictionary_filter.hpp [unused member variable]
    test/compose_test.cpp [added comments]
    test/example_test.cpp [reformatted]

[SVN r42047]
2007-12-14 19:30:07 +00:00
John Maddock
3f66947198 Added Kim Barrett's patches that merge the changes from 1.33.1 into cvs HEAD.
[SVN r37788]
2007-05-26 12:42:44 +00:00
Andreas Huber
5f19054216 Fixed license & copyright issues.
[SVN r36505]
2006-12-24 09:14:17 +00:00
Jonathan Turkanis
1b1a424a3e putback_test.hpp
[SVN r29689]
2005-06-19 20:47:37 +00:00
Jonathan Turkanis
7eebbf9ccf replaced >= max with > max
[SVN r29296]
2005-05-30 07:52:39 +00:00
Jonathan Turkanis
3022d98bc3 VC6 fix
[SVN r29223]
2005-05-26 09:05:55 +00:00
Jonathan Turkanis
6bcd9ddf17 renamed io_category
[SVN r29092]
2005-05-20 04:11:12 +00:00
Jonathan Turkanis
db8fa6e5ec added comment
[SVN r28616]
2005-05-02 21:53:47 +00:00
Jonathan Turkanis
58b65b7b7e added support for non-blocking i/o
[SVN r28426]
2005-04-22 19:29:05 +00:00
Jonathan Turkanis
1379d5f21c large seek offset support
[SVN r28227]
2005-04-13 21:25:45 +00:00
Jonathan Turkanis
800c0f694c fixed flushable filter
[SVN r28220]
2005-04-13 16:27:13 +00:00
Jonathan Turkanis
088221f841 initial commitment
[SVN r28131]
2005-04-11 15:41:45 +00:00
Jonathan Turkanis
c098b6c44d added newline to test data; switched to binary mode where necessary
[SVN r28048]
2005-04-07 18:13:13 +00:00
Jonathan Turkanis
bd308d492b added flushable_output_filter; reformatted
[SVN r28047]
2005-04-07 18:12:28 +00:00
Jonathan Turkanis
811441b7ca added #error directive for platforms without wide streams
[SVN r27383]
2005-02-15 08:01:31 +00:00
Jonathan Turkanis
f4ae19c6c9 disabled global optimization for VC6
[SVN r27372]
2005-02-14 07:14:29 +00:00
Jonathan Turkanis
5fd81effc2 compiled w/ min/max guidelines
[SVN r27294]
2005-02-09 22:19:00 +00:00
Jonathan Turkanis
c636331d15 reformatting
[SVN r27265]
2005-02-09 01:10:21 +00:00
Jonathan Turkanis
ca39c0c829 additional support for 'old' iostreams
[SVN r27237]
2005-02-08 09:02:47 +00:00
Jonathan Turkanis
7971f6540e preliminary support for 'old' iostreams
[SVN r27214]
2005-02-07 08:02:42 +00:00
Jonathan Turkanis
74db877f09 renamed config/locale.hpp --> config/wide_streams.hpp
[SVN r27213]
2005-02-07 08:02:09 +00:00
Jonathan Turkanis
e11d869497 updated to avoid explicit spec of template args, for VC6
[SVN r27103]
2005-02-04 21:04:11 +00:00
Jonathan Turkanis
f98662a33f removed return statement from function returning void
[SVN r27102]
2005-02-04 20:59:42 +00:00
Jonathan Turkanis
c0564c3c7c initial commitment
[SVN r26900]
2005-01-28 23:54:41 +00:00