You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(89) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(208) |
Feb
(76) |
Mar
(55) |
Apr
(74) |
May
(43) |
Jun
(116) |
Jul
(109) |
Aug
(46) |
Sep
(36) |
Oct
(106) |
Nov
(159) |
Dec
(128) |
| 2007 |
Jan
(54) |
Feb
(225) |
Mar
(200) |
Apr
(229) |
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Douglas G. <dg...@us...> - 2005-12-18 20:20:52
|
Update of /cvsroot/boost-sandbox/boost-sandbox/libs/parallel/build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5441/libs/parallel/build Modified Files: Jamfile Log Message: boost/parallel/mpi/collectives.hpp: - Just include the sub-headers for each collective libs/parallel/build/Jamfile: - Add broadcast.cpp libs/parallel/doc/Jamfile.v2: - Include all of the headers for te collectives boost/parallel/mpi/all_gather.hpp, boost/parallel/mpi/broadcast.hpp, boost/parallel/mpi/gather.hpp, boost/parallel/mpi/reduce.hpp: - Individual headers for each collective boost/parallel/mpi/detail/computation_tree.hpp, libs/parallel/src/mpi/computation_tree.cpp: - Moved the computation tree code here. libs/parallel/src/mpi/broadcast.cpp: - broadcast() implementation, which now does direct sends instead of using a tree. boost/parallel/mpi/detail/environment.hpp: - Moved max_tag_value here. libs/parallel/test/broadcast_test.cpp: - Just include broadcast() header. Index: Jamfile =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/parallel/build/Jamfile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Jamfile 5 Dec 2005 04:49:40 -0000 1.4 +++ Jamfile 18 Dec 2005 20:20:44 -0000 1.5 @@ -14,7 +14,9 @@ import ./mpi.jam ; SOURCES = blocking_process_group + broadcast collectives + computation_tree content_oarchive mpi_datatype_cache mpi_datatype_oarchive |
|
From: Andreas H. <and...@us...> - 2005-12-17 11:12:10
|
Update of /cvsroot/boost-sandbox/boost-sandbox/libs/statechart/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1813/libs/statechart/doc Modified Files: faq.html index.html performance.html Log Message: Minor changes Index: index.html =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/statechart/doc/index.html,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -r1.65 -r1.66 --- index.html 1 Sep 2005 18:40:31 -0000 1.65 +++ index.html 17 Dec 2005 11:12:02 -0000 1.66 @@ -22,7 +22,7 @@ <p align="center">(formerly known as boost::fsm)</p> <h2 align="center">Overview</h2> <p align="center"><font size="2">Version: - <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y/%m/%d" startspan -->2005/09/01<!--webbot bot="Timestamp" endspan i-checksum="12860" --></font></td> + <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y/%m/%d" startspan -->2005/12/17<!--webbot bot="Timestamp" endspan i-checksum="12457" --></font></td> </tr> </table> <hr> @@ -242,7 +242,7 @@ </ol> <h2><a name="Change_history">Change history</a></h2> <p>(<font color="#FF0000">red</font> = points raised during formal review)</p> -<p>XX September, 2005</p> +<p>17 December, 2005</p> <ul> <li>Added detailed performance data to the performance document</li> <li>Added the Performance "example" and the associated @@ -256,9 +256,13 @@ Rob Steward and Dave Gomboc. The more detailed performance measurements have shown that the time spent for event dispatch is almost always small compared to the time spent for - state-entry and state-exit. See - <a href="Speed%20versus%20scalability%20tradeoffs">Speed versus scalability + state-entry and state-exit. See + <a href="performance.html#Speed versus scalability tradeoffs">Speed versus scalability tradeoffs</a> in the performance document for more information</font></li> + <li>Fixed an order of declaration bug which caused a compile-time error in + event_base.hpp when compiled with GCC3.4.2 on HP-UX (the error neither showed + up on GCC3.4.2 on MinGW nor on MSVC7.1)</li> + <li>Tested with 1.33.1 version of the boost distribution</li> </ul> <p>14 August, 2005</p> <ul> @@ -575,7 +579,7 @@ </ul> <hr> <p>Revised -<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->01 September, 2005<!--webbot bot="Timestamp" endspan i-checksum="39337" --></p> +<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->17 December, 2005<!--webbot bot="Timestamp" endspan i-checksum="38520" --></p> <p><i>© Copyright <a href="mailto:ahd...@ya...">Andreas Huber Dönni</a> 2003-2005. <font color="#FF0000"><b>The link refers to a <a href="http://en.wikipedia.org/wiki/Honeypot">spam honeypot</a>. Please remove the words spam and trap Index: faq.html =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/statechart/doc/faq.html,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- faq.html 1 Sep 2005 11:31:22 -0000 1.18 +++ faq.html 17 Dec 2005 11:12:02 -0000 1.19 @@ -549,7 +549,7 @@ base destructors can alter the order of destruction.</p> <hr> <p>Revised -<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->14 August, 2005<!--webbot bot="Timestamp" endspan i-checksum="34605" --></p> +<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->17 December, 2005<!--webbot bot="Timestamp" endspan i-checksum="38520" --></p> <p><i>© Copyright <a href="mailto:ahd...@ya...">Andreas Huber Dönni</a> 2003-2005. <font color="#FF0000"><b>The link refers to a <a href="http://en.wikipedia.org/wiki/Honeypot">spam honeypot</a>. Please remove the words spam and trap Index: performance.html =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/statechart/doc/performance.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- performance.html 10 Sep 2005 11:00:53 -0000 1.5 +++ performance.html 17 Dec 2005 11:12:02 -0000 1.6 @@ -139,11 +139,9 @@ due to the fact that in the 100% case it is known at compile-time that the current state will never change</li> <li>The data points with 100% in-state reaction ratio and speed optimized - RTTI show that modern compilers seem to inline the computationally - complex-looking dispatch code so aggressively that dispatch is reduced to + RTTI show that modern compilers seem to inline the complex-looking dispatch code so aggressively that dispatch is reduced to little more than it actually is, one virtual function call followed by a - linear search for a suitable reaction. For instance, in the case of the 1-bit - Bitmachine, Intel9.0 seems to produce dispatch code that is equally efficient + linear search for a suitable reaction. For instance, in the case of the 1-bit Bitmachine, Intel9.0 seems to produce dispatch code that is equally efficient like the two virtual function calls in the Handcrafted machine</li> <li>On all compilers and in all variants the time spent in event dispatch is dwarfed by the time spent to exit the current state and enter the target @@ -233,7 +231,7 @@ <code>asynchronous_state_machine<></code>, <code>fifo_scheduler<></code>, <code>fifo_worker<></code>). This redirects all allocations to the passed custom allocator and should satisfy the needs of just about any project</li> - <li>Additionally, it is possible to separately customize <b>state</b> memory + <li>Additionally, it is possible to <b>separately</b> customize <b>state</b> memory management by overloading <code>operator new()</code> and <code>operator delete()</code> for all state classes but this is probably only useful under rare circumstances</li> @@ -317,7 +315,7 @@ </ol> <hr> <p>Revised -<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->05 September, 2005<!--webbot bot="Timestamp" endspan i-checksum="39345" --></p> +<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->17 December, 2005<!--webbot bot="Timestamp" endspan i-checksum="38520" --></p> <p><i>© Copyright <a href="mailto:ahd...@ya...">Andreas Huber Dönni</a> 2003-2005. <font color="#FF0000"><b>The link refers to a <a href="http://en.wikipedia.org/wiki/Honeypot">spam honeypot</a>. Please remove the words spam and trap |
|
From: Andreas H. <and...@us...> - 2005-12-15 19:09:09
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/statechart In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24677/boost/statechart Modified Files: event_base.hpp Log Message: Fixed an order of declaration issue (found on GCC3.4.2). Index: event_base.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/statechart/event_base.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- event_base.hpp 18 Jun 2005 10:09:42 -0000 1.14 +++ event_base.hpp 15 Dec 2005 19:09:01 -0000 1.15 @@ -53,17 +53,7 @@ detail::counted_base<> > base_type; public: ////////////////////////////////////////////////////////////////////////// - intrusive_ptr< const event_base > intrusive_from_this() const - { - if ( base_type::ref_counted() ) - { - return intrusive_ptr< const event_base >( this ); - } - else - { - return clone(); - } - } + intrusive_ptr< const event_base > intrusive_from_this() const; protected: ////////////////////////////////////////////////////////////////////////// @@ -107,6 +97,29 @@ #ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP } // namespace statechart #endif +namespace statechart +{ + + + +// We're implementing this here so that GCC3.4.2 can find +// intrusive_ptr_add_ref, which is indirectly called from the intrusive_ptr +// ctor. +inline intrusive_ptr< const event_base > event_base::intrusive_from_this() const +{ + if ( base_type::ref_counted() ) + { + return intrusive_ptr< const event_base >( this ); + } + else + { + return clone(); + } +} + + + +} // namespace statechart } // namespace boost |
|
From: Daryle L. W. <dlw...@us...> - 2005-12-14 09:10:12
|
Update of /cvsroot/boost-sandbox/boost-sandbox/libs/io/test/cstdio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16450/boost-sandbox/libs/io/test/cstdio Added Files: cstdio_test.cpp simple_input_test.cpp simple_output_test.cpp string_input_test.cpp string_output_test.cpp Log Message: Added library that reimagines <cstdio> through C++ --- NEW FILE: simple_output_test.cpp --- // Boost cstdio_simple_output_test.cpp test file ---------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. // Revision History // 13 Dec 2005 Initial version (Daryle Walker) #include <boost/io/cstdio/simple_output.hpp> // for iputc, iputs #include <boost/test/auto_unit_test.hpp> // for BOOST_AUTO_UNIT_TEST, etc. #include <sstream> // for std::ostringstream #include <string> // for std::string #include <strstream> // for std::ostrstream BOOST_AUTO_TEST_SUITE( simple_output_tests ); // Simple character output that successfully writes BOOST_AUTO_TEST_CASE( iputc_pass_test ) { std::ostringstream oss; char const sample = 'x'; BOOST_CHECK( boost::io::cstdio::iputc(sample, oss) ); BOOST_CHECK( oss ); BOOST_CHECK_EQUAL( oss.str(), std::string(1u, sample) ); } // Simple character output that fails to write BOOST_AUTO_TEST_CASE( iputc_fail_test ) { char const sample = 'x'; char buffer[ 1 ]; std::ostrstream oss( buffer, sizeof(buffer) ); oss.freeze(); // prevent re-allocations oss.put( '\0' ); // exhaust the only element available BOOST_CHECK( not boost::io::cstdio::iputc(sample, oss) ); BOOST_CHECK( not oss ); } // Simple C-string output that successfully writes BOOST_AUTO_TEST_CASE( iputs_pass_test ) { std::ostringstream oss; char const sample[] = "Hello world"; BOOST_CHECK( boost::io::cstdio::iputs(sample, oss) ); BOOST_CHECK( oss ); BOOST_CHECK_EQUAL( oss.str(), sample ); } // Simple C-string output that fails to write BOOST_AUTO_TEST_CASE( iputs_fail_test ) { char const sample[] = "Hello world"; char buffer[ sizeof(sample) / 2u ]; std::ostrstream oss( buffer, sizeof(buffer) ); oss.freeze(); // prevent re-allocations BOOST_CHECK( not boost::io::cstdio::iputs(sample, oss) ); BOOST_CHECK( not oss ); } BOOST_AUTO_TEST_SUITE_END(); --- NEW FILE: cstdio_test.cpp --- // Boost cstdio_test.cpp test file -----------------------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. // Revision History // 12 Dec 2005 Initial version (Daryle Walker) #define BOOST_AUTO_TEST_MAIN "cstdio extensions test" #include <boost/io/cstdio.hpp> // for ??? #include <boost/test/auto_unit_test.hpp> // for BOOST_AUTO_UNIT_TEST, etc. // Put other Boost headers here // Put Standard headers here // Types // e.g. using boost::my_new_type; // e.g. typedef long_and_complicated easy; // Testing preparations // e.g. BOOST_TEST_DONT_PRINT_LOG_VALUE( some_unprintable_type ); // Describe what classes (and thier members) I'm testing here BOOST_AUTO_TEST_CASE( my_first_test ) { } --- NEW FILE: string_input_test.cpp --- // Boost string_input_test.cpp test file -----------------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. // Revision History // 13 Dec 2005 Initial version (Daryle Walker) #include <boost/io/cstdio/string_input.hpp> // for igets #include <boost/test/auto_unit_test.hpp> // for BOOST_AUTO_UNIT_TEST, etc. #include <sstream> // for std::istringstream #include <string> // for std::string BOOST_AUTO_TEST_SUITE( string_input_tests ); // C++-string input that successfully reads BOOST_AUTO_TEST_CASE( cpp_igets_pass_test ) { using boost::io::cstdio::igets; std::string temp( "Hello There,\nWorld" ); std::istringstream iss( temp ); BOOST_CHECK( igets(temp, iss) ); BOOST_CHECK_EQUAL( temp, "Hello There," ); BOOST_CHECK( igets(temp, iss) ); BOOST_CHECK_EQUAL( temp, "World" ); BOOST_CHECK( iss.eof() ); } // C++-string input that fails to read BOOST_AUTO_TEST_CASE( cpp_igets_fail_test ) { std::string temp( "" ); std::istringstream iss( temp ); BOOST_CHECK( (iss.get(), iss.fail()) ); // start off in a bad state BOOST_CHECK( not boost::io::cstdio::igets(temp, iss) ); } BOOST_AUTO_TEST_SUITE_END(); --- NEW FILE: simple_input_test.cpp --- // Boost cstdio_simple_input_test.cpp test file ----------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. // Revision History // 13 Dec 2005 Initial version (Daryle Walker) #include <boost/io/cstdio/simple_input.hpp> // for igetc, iungetc, igets #include <boost/test/auto_unit_test.hpp> // for BOOST_AUTO_UNIT_TEST, etc. #include <cstring> // for std::strcmp #include <sstream> // for std::istringstream, std::stringstream #include <string> // for std::char_traits, std::string #include <strstream> // for std::istrstream typedef std::char_traits<char> traits_t; BOOST_AUTO_TEST_SUITE( simple_input_tests ); // Simple character input that successfully reads BOOST_AUTO_TEST_CASE( igetc_pass_test ) { char const sample = 'x'; std::istringstream iss( std::string(1u, sample) ); BOOST_CHECK( traits_t::eq_int_type(boost::io::cstdio::igetc( iss ), traits_t::to_int_type( sample )) ); } // Simple character input that fails to read BOOST_AUTO_TEST_CASE( igetc_fail_test ) { std::istringstream iss( std::string("") ); BOOST_CHECK( traits_t::eq_int_type(boost::io::cstdio::igetc( iss ), traits_t::eof()) ); BOOST_CHECK( iss.eof() ); } // Simple character put-back that successfully pushes BOOST_AUTO_TEST_CASE( iungetc_pass_test ) { char const sample1 = 'x', sample2 = 'y'; std::stringstream ss( std::string(1u, sample1) ); BOOST_CHECK( traits_t::eq_int_type(traits_t::to_int_type( sample1 ), ss.get()) ); BOOST_CHECK( boost::io::cstdio::iungetc(sample2, ss) ); BOOST_CHECK( traits_t::eq_int_type(traits_t::to_int_type( sample2 ), ss.peek()) ); } // Simple character put-back that fails to push BOOST_AUTO_TEST_CASE( iungetc_fail_test ) { std::istrstream iss( "Hello world" ); BOOST_CHECK( traits_t::eq_int_type(traits_t::to_int_type( 'H' ), iss.get()) ); //iss.freeze(); BOOST_CHECK( not boost::io::cstdio::iungetc('i', iss) ); BOOST_CHECK( not iss ); } // Simple C-string input that successfully reads BOOST_AUTO_TEST_CASE( igets_pass_test ) { using boost::io::cstdio::igets; using std::strcmp; char temp[] = "00000000000000000000000000"; std::istringstream iss( std::string("Hello there,\nWorld") ); BOOST_CHECK( igets(temp, 3, iss) ); BOOST_CHECK_EQUAL( 0, strcmp(temp, "He") ); BOOST_CHECK( igets(temp, 13, iss) ); BOOST_CHECK( 0 != strcmp(temp, "llo there,\nW") ); BOOST_CHECK_EQUAL( 0, strcmp(temp, "llo there,\n") ); BOOST_CHECK( igets(temp, sizeof(temp), iss) ); BOOST_CHECK_EQUAL( 0, strcmp(temp, "World") ); BOOST_CHECK( iss.eof() ); } // Simple C-string input that fails to read BOOST_AUTO_TEST_CASE( igets_fail_test ) { char temp[ 10 ]; std::istringstream iss( std::string("") ); BOOST_CHECK( (iss.get(), iss.fail()) ); // start off in a bad state BOOST_CHECK( not boost::io::cstdio::igets(temp, sizeof(temp), iss) ); } BOOST_AUTO_TEST_SUITE_END(); --- NEW FILE: string_output_test.cpp --- // Boost string_output_test.cpp test file ----------------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. // Revision History // 13 Dec 2005 Initial version (Daryle Walker) #include <boost/io/cstdio/string_output.hpp> // for iputs #include <boost/test/auto_unit_test.hpp> // for BOOST_AUTO_UNIT_TEST, etc. #include <sstream> // for std::ostringstream #include <string> // for std::string #include <strstream> // for std::ostrstream BOOST_AUTO_TEST_SUITE( string_output_tests ); // C++-string output that successfully writes BOOST_AUTO_TEST_CASE( cpp_iputs_pass_test ) { std::ostringstream oss; std::string const sample( "Hello world" ); BOOST_CHECK( boost::io::cstdio::iputs(sample, oss) ); BOOST_CHECK( oss ); BOOST_CHECK_EQUAL( oss.str(), sample ); } // C++-string output that fails to write BOOST_AUTO_TEST_CASE( cpp_iputs_fail_test ) { char const sample_base[] = "Hello world"; std::string const sample( sample_base ); char buffer[ sizeof(sample_base) / 2u ]; std::ostrstream oss( buffer, sizeof(buffer) ); oss.freeze(); BOOST_CHECK( not boost::io::cstdio::iputs(sample, oss) ); BOOST_CHECK( not oss ); } BOOST_AUTO_TEST_SUITE_END(); |
|
From: Daryle L. W. <dlw...@us...> - 2005-12-14 09:10:11
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/io/cstdio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16450/boost-sandbox/boost/io/cstdio Added Files: simple_input.hpp simple_output.hpp string_input.hpp string_output.hpp Log Message: Added library that reimagines <cstdio> through C++ --- NEW FILE: string_input.hpp --- // Boost io/cstdio/string_input.hpp header file ----------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. /** \file \brief C-like string input for C++ input streams Contains analog of the \c std::fgets function, using C++ strings and input streams instead of null-terminated strings and \c std::FILE pointers. */ #ifndef BOOST_IO_CSTDIO_STRING_INPUT_HPP #define BOOST_IO_CSTDIO_STRING_INPUT_HPP #include <istream> // for std::basic_istream #include <string> // for std::basic_string, std::getline namespace boost { namespace io { namespace cstdio { // Forward declarations ----------------------------------------------------// //! Reads a string from an input stream template < typename Ch, class Tr, class Al > bool igets( ::std::basic_string<Ch, Tr, Al> &s, ::std::basic_istream<Ch, Tr> &i ); } // namespace cstdio } // namespace io } // namespace boost // String reading function definition --------------------------------------// /** Receives a C++ string to an input stream, unformatted. It works by calling <code>std::getline( <var>i</var>, <var>s</var> )</code>, so it will stop early if a newline character is encountered (which is extracted but not stored). Otherwise, the reading stops only if the stream ends or the string size limit of <code><var>s</var>.max_size()</code> characters is reached. \param s The string to store the characters read. \param i The input stream to perform the reading. \retval true If \p i is not in a failed state after the write. \retval false If \p i is in a failed state after the write. */ template < typename Ch, class Tr, class Al > inline bool boost::io::cstdio::igets ( std::basic_string<Ch, Tr, Al> & s, std::basic_istream<Ch, Tr> & i ) { return not std::getline( i, s ).fail(); } #endif // BOOST_IO_CSTDIO_STRING_INPUT_HPP --- NEW FILE: simple_input.hpp --- // Boost io/cstdio/simple_input.hpp header file ----------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. /** \file \brief C-like character and pointer-string input for C++ input streams Contains analogs of the \c std::fgetc and \c std::fgets functions, using C++ input streams instead of \c std::FILE* as the source. An analog of \c std::ungetc is provided too. */ #ifndef BOOST_IO_CSTDIO_SIMPLE_INPUT_HPP #define BOOST_IO_CSTDIO_SIMPLE_INPUT_HPP #include <ios> // for std::streamsize #include <istream> // for std::basic_istream namespace boost { namespace io { namespace cstdio { // Forward declarations ----------------------------------------------------// //! Reads a single character from an input stream template < typename Ch, class Tr > typename Tr::int_type igetc( ::std::basic_istream<Ch, Tr> &i ); //! Unreads a single character back into an input stream template < typename Ch, class Tr > bool iungetc( Ch c, ::std::basic_istream<Ch, Tr> &i ); //! Reads a string of characters from an input stream template < typename Ch, class Tr > bool igets( Ch *s, ::std::streamsize n, ::std::basic_istream<Ch, Tr> &i ); } // namespace cstdio } // namespace io } // namespace boost // Single-character reading function definitions ---------------------------// /** Receives a single character from an input stream, unformatted. It works by calling <code><var>i</var>.get()</code>. \param i The input stream to perform the reading. \return For a successful read, a copy of the read character (expanded by <code>Tr::to_int_type</code>), <code>Tr::eof()</code> otherwise. */ template < typename Ch, class Tr > inline typename Tr::int_type boost::io::cstdio::igetc ( std::basic_istream<Ch, Tr> & i ) { return i.get(); } /** Places a single character back into an input stream. It works by calling <code><var>i</var>.putback( <var>c</var> )</code>. \param c The character to be placed back. \param i The input stream to be affected. \retval true If \p i is in a good state after the put-back. \retval false If \p i is not in a good state after the put-back. */ template < typename Ch, class Tr > inline bool boost::io::cstdio::iungetc ( Ch c, std::basic_istream<Ch, Tr> & i ) { return i.putback( c ).good(); } // C-string reading function definition ------------------------------------// /** Receives a null-terminated string from an input stream, unformatted. It works by calling <code><var>i</var>.get( <var>s</var>, <var>n</var> )<code>, so it will append a null terminator after the copied characters. If \c get ended by encountering a newline character, that character will be extracted from the stream and copied into the string before the null terminator. (If newline handling is done, it has an effect of resetting \c gcount to 1.) \param s The buffer to store the characters read. \param n The size of the buffer. The buffer size has to account for the null terminator, so the maximum characters read is one less. \param i The input stream to perform the reading. \retval true If \p i is not in a failed state after the read. \retval false If \p i is in a failed state after the read. */ template < typename Ch, class Tr > bool boost::io::cstdio::igets ( Ch * s, std::streamsize n, std::basic_istream<Ch, Tr> & i ) { bool result = not i.get( s, n ).fail(); std::streamsize const count = i.gcount(); // Make sure that the reading ended only because of a newline if ( result && (count < n - 1) && !i.eof() ) { result = not i.ignore().fail(); // extract the newline Tr::move( s + count + 1, s + count, 1 ); // move the null terminator Tr::assign( s[count], i.widen('\n') ); // insert a newline } return result; } #endif // BOOST_IO_CSTDIO_SIMPLE_INPUT_HPP --- NEW FILE: simple_output.hpp --- // Boost io/cstdio/simple_output.hpp header file ---------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. /** \file \brief C-like character and pointer-string output for C++ output streams Contains analogs of the \c std::fputc and \c std::fputs functions, using C++ output streams instead of \c std::FILE* as the sink. */ #ifndef BOOST_IO_CSTDIO_SIMPLE_OUTPUT_HPP #define BOOST_IO_CSTDIO_SIMPLE_OUTPUT_HPP #include <ostream> // for std::basic_ostream namespace boost { namespace io { namespace cstdio { // Forward declarations ----------------------------------------------------// //! Writes a single character to an output stream template < typename Ch, class Tr > bool iputc( Ch c, ::std::basic_ostream<Ch, Tr> &o ); //! Writes a null-terminated string to an output stream template < typename Ch, class Tr > bool iputs( Ch const *s, ::std::basic_ostream<Ch, Tr> &o ); } // namespace cstdio } // namespace io } // namespace boost // Single-character writing function definition ----------------------------// /** Sends a single character to an output stream, unformatted. It works by calling <code><var>o</var>.put( <var>c</var> )</code>. \param c The character to be written. \param o The output stream to perform the writing. \retval true If \p o is in a good state after the write. \retval false If \p o is not in a good state after the write. */ template < typename Ch, class Tr > inline bool boost::io::cstdio::iputc ( Ch c, std::basic_ostream<Ch, Tr> & o ) { return o.put( c ).good(); } // C-string writing function definition ------------------------------------// /** Sends a null-terminated string to an output stream, unformatted. It works by calling <code><var>o</var>.write( <var>s</var>, Tr::length(<var>s</var>) )</code>. \param s The string to be written. \param o The output stream to perform the writing. \retval true If \p o is in a good state after the write. \retval false If \p o is not in a good state after the write. */ template < typename Ch, class Tr > inline bool boost::io::cstdio::iputs ( Ch const * s, std::basic_ostream<Ch, Tr> & o ) { return o.write( s, static_cast<std::streamsize>(Tr::length( s )) ).good(); } #endif // BOOST_IO_CSTDIO_SIMPLE_OUTPUT_HPP --- NEW FILE: string_output.hpp --- // Boost io/cstdio/string_output.hpp header file ---------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. /** \file \brief C-like string output for C++ output streams Contains analog of the \c std::fputs function, using C++ strings and output streams instead of null-terminated strings and \c std::FILE pointers. */ #ifndef BOOST_IO_CSTDIO_STRING_OUTPUT_HPP #define BOOST_IO_CSTDIO_STRING_OUTPUT_HPP #include <ostream> // for std::basic_ostream #include <string> // for std::basic_string namespace boost { namespace io { namespace cstdio { // Forward declarations ----------------------------------------------------// //! Writes a string to an output stream template < typename Ch, class Tr, class Al > bool iputs( ::std::basic_string<Ch, Tr, Al> const &s, ::std::basic_ostream<Ch, Tr> &o ); } // namespace cstdio } // namespace io } // namespace boost // String writing function definition --------------------------------------// /** Sends a C++ string to an output stream, unformatted. It works by calling <code><var>o</var>.write( <var>s</var>.data(), <var>s</var>.length() )</code>. \param s The string to be written. \param o The output stream to perform the writing. \retval true If \p o is in a good state after the write. \retval false If \p o is not in a good state after the write. */ template < typename Ch, class Tr, class Al > inline bool boost::io::cstdio::iputs ( std::basic_string<Ch, Tr, Al> const & s, std::basic_ostream<Ch, Tr> & o ) { return o.write( s.data(), static_cast<std::streamsize>(s.length()) ).good(); } #endif // BOOST_IO_CSTDIO_STRING_OUTPUT_HPP |
|
From: Daryle L. W. <dlw...@us...> - 2005-12-14 09:10:11
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/io In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16450/boost-sandbox/boost/io Added Files: cstdio.hpp Log Message: Added library that reimagines <cstdio> through C++ --- NEW FILE: cstdio.hpp --- // Boost io/cstdio.hpp header file -----------------------------------------// // Copyright 2005 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.) // See <http://www.boost.org/libs/io/> for the library's home page. /** \file \brief C and C++ I/O facilities in terms of the other Express the C library's facilities for I/O in terms of C++ concepts. Adapt the C++ standard I/O facilities into functions like the C library. */ /** \dir cstdio \brief Components for \<boost/io/cstdio.hpp\> The header files within this directory section the various facilities into separate closures. Items within those header files are in the namespace <code>boost::io::cstdio</code>. The grouping header file \<boost/io/cstdio.hpp\> places the item names within namespace <code>boost::io</code> with <code>using</code> directives. */ #ifndef BOOST_IO_CSTDIO_HPP #define BOOST_IO_CSTDIO_HPP // Group #includes #include <boost/io/cstdio/simple_output.hpp> #include <boost/io/cstdio/string_output.hpp> #include <boost/io/cstdio/simple_input.hpp> #include <boost/io/cstdio/string_input.hpp> namespace boost { namespace io { // types and macros (constants and variables) // FILE, fpos_t, _IOFBF, _IOLBF, _IONBF, BUFSIZ, EOF, FOPEN_MAX, FILENAME_MAX, // L_tmpnam, SEEK_CUR, SEEK_END, SEEK_SET, TMP_MAX, stderr, stdin, stdout // wide character input functions // fwscanf, wscanf, vfwscanf, vwscanf // wide character output functions // _removed_, fwprintf, wprintf, vfwprintf, vwprintf // wide character input/output functions // _removed_, wide character input functions, wide character output functions // byte input/output functions // fprintf, fread, fscanf, fwrite, printf, scanf, vfprintf, vfscanf, vprintf, // vscanf, _removed_ // operations on files // remove, rename, tmpfile, tmpnam // file access functions // fclose, fflush, fopen, freopen, setbuf, setvbuf // formatted input/output functions // fprintf, fscanf, printf, scanf, snprintf, sprintf, sscanf, vfprintf, // vfscanf, vprintf, vscanf, vsnprintf, vsprintf, vsscanf // FINISHED: character input/output functions // direct input/output functions // fread, fwrite // file positioning functions // fgetpos, fseek, fsetpos, ftell, rewind // error handling functions // clearerr, feof, ferror, perror // Re-declarations of #included items into a higher namespace --------------// // simple_output.hpp and string_output.hpp using cstdio::iputc; using cstdio::iputs; // simple_input.hpp and string_input.hpp using cstdio::igetc; using cstdio::iungetc; using cstdio::igets; } // namespace io } // namespace boost #endif // BOOST_IO_CSTDIO_HPP |
|
From: Daryle L. W. <dlw...@us...> - 2005-12-14 08:33:38
|
Update of /cvsroot/boost-sandbox/boost-sandbox/libs/io/test/cstdio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9806/cstdio Log Message: Directory /cvsroot/boost-sandbox/boost-sandbox/libs/io/test/cstdio added to the repository |
|
From: Daryle L. W. <dlw...@us...> - 2005-12-14 08:26:37
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/io/cstdio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8676/cstdio Log Message: Directory /cvsroot/boost-sandbox/boost-sandbox/boost/io/cstdio added to the repository |
|
From: Larry E. <cpp...@us...> - 2005-12-14 02:33:13
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/range In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6251 Removed Files: iterator_range.hpp Log Message: Moved to main cvs. No longer needed in sandbox. --- iterator_range.hpp DELETED --- |
|
From: Douglas G. <dg...@us...> - 2005-12-13 04:17:24
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/graph In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20829 Removed Files: bandwidth.hpp wavefront.hpp Log Message: Removed some files that are already in Boost --- bandwidth.hpp DELETED --- --- wavefront.hpp DELETED --- |