本文整理汇总了C++中boost::swap方法的典型用法代码示例。如果您正苦于以下问题:C++ boost::swap方法的具体用法?C++ boost::swap怎么用?C++ boost::swap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost
的用法示例。
在下文中一共展示了boost::swap方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: abs
void
grLineTo(int x_arg, int y_arg)
{
int deltax, deltay;
int error;
int ystep;
int x, y;
int x0, y0, x1, y1;
int steep;
x0 = gr_cur_x;
y0 = gr_cur_y;
x1 = x_arg;
y1 = y_arg;
steep = abs(y1 - y0) > abs(x1 - x0);
if (steep) {
swap(x0, y0);
swap(x1, y1);
}
if (x0 > x1) {
swap(x0, x1);
swap(y0, y1);
}
deltax = x1 - x0;
deltay = abs(y1 - y0);
error = 0;
y = y0;
if (y0 < y1) {
ystep = 1;
} else {
ystep = -1;
}
for (x = x0; x <= x1; x++) {
if (steep) {
display::graphics.legacyScreen()->setPixel(y, x, display::graphics.foregroundColor());
} else {
display::graphics.legacyScreen()->setPixel(x, y, display::graphics.foregroundColor());
}
error = error + deltay;
if (2 * error >= deltax) {
y = y + ystep;
error = error - deltax;
}
}
gr_cur_x = x_arg;
gr_cur_y = y_arg;
}
示例2: test
void test()
{
BOOST_TEST( UDT_use_count == 0 ); // reality check
// // test scoped_ptr with a built-in type
// long * lp = new long;
// boost::scoped_ptr<long> sp ( lp );
// BOOST_TEST( sp.get() == lp );
// BOOST_TEST( lp == sp.get() );
// BOOST_TEST( &*sp == lp );
//
// *sp = 1234568901L;
// BOOST_TEST( *sp == 1234568901L );
// BOOST_TEST( *lp == 1234568901L );
// ck( static_cast<long*>(sp.get()), 1234568901L );
// ck( lp, *sp );
//
// sp.reset();
// BOOST_TEST( sp.get() == 0 );
//
// // test scoped_ptr with a user defined type
// boost::scoped_ptr<UDT> udt_sp ( new UDT( 999888777 ) );
// BOOST_TEST( udt_sp->value() == 999888777 );
// udt_sp.reset();
// udt_sp.reset( new UDT( 111222333 ) );
// BOOST_TEST( udt_sp->value() == 111222333 );
// udt_sp.reset( new UDT( 333222111 ) );
// BOOST_TEST( udt_sp->value() == 333222111 );
//
// // test scoped_array with a build-in type
// char * sap = new char [ 100 ];
// boost::scoped_array<char> sa ( sap );
// BOOST_TEST( sa.get() == sap );
// BOOST_TEST( sap == sa.get() );
//
// strcpy( sa.get(), "Hot Dog with mustard and relish" );
// BOOST_TEST( strcmp( sa.get(), "Hot Dog with mustard and relish" ) == 0 );
// BOOST_TEST( strcmp( sap, "Hot Dog with mustard and relish" ) == 0 );
//
// BOOST_TEST( sa[0] == 'H' );
// BOOST_TEST( sa[30] == 'h' );
//
// sa[0] = 'N';
// sa[4] = 'd';
// BOOST_TEST( strcmp( sap, "Not dog with mustard and relish" ) == 0 );
//
// sa.reset();
// BOOST_TEST( sa.get() == 0 );
// test shared_ptr with a built-in type
int * ip = new int;
boost::shared_ptr<int> cp ( ip );
BOOST_TEST( ip == cp.get() );
BOOST_TEST( cp.use_count() == 1 );
*cp = 54321;
BOOST_TEST( *cp == 54321 );
BOOST_TEST( *ip == 54321 );
ck( static_cast<int*>(cp.get()), 54321 );
ck( static_cast<int*>(ip), *cp );
boost::shared_ptr<int> cp2 ( cp );
BOOST_TEST( ip == cp2.get() );
BOOST_TEST( cp.use_count() == 2 );
BOOST_TEST( cp2.use_count() == 2 );
BOOST_TEST( *cp == 54321 );
BOOST_TEST( *cp2 == 54321 );
ck( static_cast<int*>(cp2.get()), 54321 );
ck( static_cast<int*>(ip), *cp2 );
boost::shared_ptr<int> cp3 ( cp );
BOOST_TEST( cp.use_count() == 3 );
BOOST_TEST( cp2.use_count() == 3 );
BOOST_TEST( cp3.use_count() == 3 );
cp.reset();
BOOST_TEST( cp2.use_count() == 2 );
BOOST_TEST( cp3.use_count() == 2 );
cp.reset( new int );
*cp = 98765;
BOOST_TEST( *cp == 98765 );
*cp3 = 87654;
BOOST_TEST( *cp3 == 87654 );
BOOST_TEST( *cp2 == 87654 );
cp.swap( cp3 );
BOOST_TEST( *cp == 87654 );
BOOST_TEST( *cp2 == 87654 );
BOOST_TEST( *cp3 == 98765 );
cp.swap( cp3 );
BOOST_TEST( *cp == 98765 );
BOOST_TEST( *cp2 == 87654 );
BOOST_TEST( *cp3 == 87654 );
cp2 = cp2;
BOOST_TEST( cp2.use_count() == 2 );
BOOST_TEST( *cp2 == 87654 );
cp = cp2;
BOOST_TEST( cp2.use_count() == 3 );
BOOST_TEST( *cp2 == 87654 );
BOOST_TEST( cp.use_count() == 3 );
BOOST_TEST( *cp == 87654 );
//.........这里部分代码省略.........