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 + -
显示快捷键?