iostream_tests.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 87 行

CPP
87
字号
/*=============================================================================    Phoenix V1.2.1    Copyright (c) 2001-2003 Joel de Guzman    Use, modification and distribution is subject to the Boost Software    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at    http://www.boost.org/LICENSE_1_0.txt)==============================================================================*/#include <iostream>#include <vector>#include <algorithm>#include <string>#include <boost/detail/lightweight_test.hpp>#include <boost/config.hpp>#ifdef BOOST_NO_STRINGSTREAM#include <strstream>#define SSTREAM strstreamstd::string GETSTRING(std::strstream& ss){    ss << ends;    std::string rval = ss.str();    ss.freeze(false);    return rval;}#else#include <sstream>#define GETSTRING(ss) ss.str()#define SSTREAM stringstream#endif//#define PHOENIX_LIMIT 15#include <boost/spirit/include/phoenix1_primitives.hpp>#include <boost/spirit/include/phoenix1_composite.hpp>#include <boost/spirit/include/phoenix1_operators.hpp>#include <boost/spirit/include/phoenix1_special_ops.hpp>using namespace phoenix;using namespace std;///////////////////////////////////////////////////////////////////////////////intmain(){    int     i100 = 100;    string hello = "hello";    const char* world = " world";///////////////////////////////////////////////////////////////////////////////////  IO streams/////////////////////////////////////////////////////////////////////////////////    vector<int> v;    v.push_back(1);    v.push_back(2);    v.push_back(3);    v.push_back(4);    v.push_back(5);    char const* msg = "cout assert\n";    (cout << arg1)(msg);    (cout << val(hello) << world << ", you da man!\n")();    for_each(v.begin(), v.end(), cout << arg1 << ',');    cout << endl;#ifdef __BORLANDC__ // *** See special_ops.hpp why ***    (cout << arg1 << "this is it, shukz:" << hex_ << arg2 << endl_ << endl_)(msg, i100);#else    (cout << arg1 << "this is it, shukz:" << hex << arg2 << endl << endl)(msg, i100);#endif    int in;    int out = 12345;    SSTREAM sstr;    (sstr << arg1)(out);    (sstr >> arg1)(in);    BOOST_TEST(in == out);///////////////////////////////////////////////////////////////////////////////////  End asserts/////////////////////////////////////////////////////////////////////////////////    return boost::report_errors();    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?