Commit Graph

11 Commits

Author SHA1 Message Date
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
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
f4c3ba7e77 misc
[SVN r29270]
2005-05-29 21:52:52 +00:00
Jonathan Turkanis
08cdff77fb initial commitment
[SVN r29230]
2005-05-26 16:48:04 +00:00