Commit Graph

42 Commits

Author SHA1 Message Date
Tinko Bartels
624d6aae2b Fix a number of broken links. 2019-05-24 12:56:27 -04:00
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
Jorge Lodos
f15a3178dc Bugfix: container_.size() is a valid value indicating EOF 2016-02-07 22:22:01 -06: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
Jonathan Turkanis
e2a9e26c6a renamed include guards to reflect namespace
[SVN r46000]
2008-05-31 22:52:28 +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
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
9cc19290e6 changes from iostreams_dev not merged by svnmerge for some reason; better error reporting for file_offset_64bit_test.cpp; added 'std::' all over the place for Intel on Linux and Darwin; commented out stream_state_test.cpp because it seems to be a test for the standard library, and it is not clear that the standard requires that the test pass
[SVN r42440]
2008-01-03 19:10:48 +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
Joaquín M. López Muñoz
cc047a985c extended Tru64 workaround to CW 9.4
[SVN r36377]
2006-12-14 08:37:19 +00:00
Jonathan Turkanis
a8709e3555 renamed streambuf_facade, stream_facade and several filters
[SVN r30128]
2005-07-15 23:55:05 +00:00
Jonathan Turkanis
39cd8a924d Tru64 workaround (2nd try)
[SVN r30022]
2005-07-12 21:34:30 +00:00
Jonathan Turkanis
b4b2024b21 added friend decl for Tru64
[SVN r29989]
2005-07-11 15:54:06 +00:00
Jonathan Turkanis
a0723c5e8a CodeWarrior 95 workaround
[SVN r29384]
2005-06-02 17:27:36 +00:00
Victor A. Wagner Jr.
572089a168 Deleted - extraneous \r and ' ' from the ends of lines
VC++8.0 doesn't tolerate the extra \r and the ' ' just waste space


[SVN r29374]
2005-06-02 12:41:54 +00:00
Jonathan Turkanis
83c465fd77 Metrowerks fix
[SVN r29355]
2005-06-01 23:43:12 +00:00
Jonathan Turkanis
395322a36e rewrote put_char
[SVN r29273]
2005-05-29 21:55:19 +00:00
Jonathan Turkanis
55d7409d0c added multi-char and dual-use filers
[SVN r29272]
2005-05-29 21:54:39 +00:00
Jonathan Turkanis
cab324a305 fixed output_filter::close
[SVN r29271]
2005-05-29 21:53:38 +00:00
Jonathan Turkanis
f4c3ba7e77 misc
[SVN r29270]
2005-05-29 21:52:52 +00:00
Jonathan Turkanis
7a76201328 initial commitment
[SVN r29269]
2005-05-29 21:51:43 +00:00
Jonathan Turkanis
08cdff77fb initial commitment
[SVN r29230]
2005-05-26 16:48:04 +00:00
Jonathan Turkanis
b840132c32 replaced <locale> classification functions with function from <cctype>
[SVN r29131]
2005-05-21 20:23:11 +00:00
Jonathan Turkanis
d130e08f0a renamed io_char
[SVN r29094]
2005-05-20 05:00:34 +00:00
Jonathan Turkanis
6bcd9ddf17 renamed io_category
[SVN r29092]
2005-05-20 04:11:12 +00:00
Victor A. Wagner Jr.
ced3670c94 Changed - \r\r\n to \r\n so that vc8.0 can compile them
[SVN r29091]
2005-05-20 03:59:33 +00:00
Jonathan Turkanis
294da13110 replaced by uncommenting_fsm
[SVN r29089]
2005-05-20 02:47:01 +00:00
Jonathan Turkanis
051ed80b7a misc
[SVN r29085]
2005-05-20 02:25:27 +00:00
Jonathan Turkanis
0d287b614c substituted basic_string::erase() for basic_string::clear()
[SVN r29018]
2005-05-18 00:25:20 +00:00
Jonathan Turkanis
1bf5ac3b1f fixed close()
[SVN r29017]
2005-05-18 00:23:18 +00:00
Jonathan Turkanis
9080454b02 moved to test directory
[SVN r29014]
2005-05-18 00:14:00 +00:00
Jonathan Turkanis
d7ceb42fed renamed from test.cpp
[SVN r29009]
2005-05-17 22:45:03 +00:00
Jonathan Turkanis
0ef5411670 renamed example_test.cpp
[SVN r29007]
2005-05-17 22:38:14 +00:00
Jonathan Turkanis
8cd22c0826 obsolete
[SVN r28619]
2005-05-02 22:49:06 +00:00
Jonathan Turkanis
e846e235bd initial commitment
[SVN r28615]
2005-05-02 21:49:35 +00:00
Jonathan Turkanis
e5c721d5b8 obsolete
[SVN r28614]
2005-05-02 21:41:24 +00:00
Jonathan Turkanis
b517ba0633 obsolete
[SVN r28613]
2005-05-02 21:27:58 +00:00
Jonathan Turkanis
c0564c3c7c initial commitment
[SVN r26900]
2005-01-28 23:54:41 +00:00