コード例 #1
0
ファイル: munger_test.c プロジェクト: LarBob/executor
static void
munger_test (handle_state h_s,
	     offset_state offset_s,
	     ptr_state ptr1_s,
	     len_state len1_s,
	     ptr_state ptr2_s,
	     len_state len2_s)
{
  Handle h;
  LONGINT offset;
  Ptr ptr1;
  LONGINT len1;
  Ptr ptr2;
  LONGINT len2;
  LONGINT retval;
  LONGINT d0;

  h = new_handle (h_s);
  offset = new_offset (offset_s, GetHandleSize (h));
  ptr1 = new_ptr (ptr1_s);
  len1 = new_len (len1_s);
  ptr2 = new_ptr (ptr2_s);
  len2 = new_len (len2_s);

  dump_handle (h);
  retval = Munger_invoker (h, offset, ptr1, len1, ptr2, len2, &d0);
  dump_handle (h);
  dump_retval_d0 (retval, d0);

  if (h_s >= handle_nil_master)
    DisposeHandle (h);
}
コード例 #2
0
ファイル: MP.cpp プロジェクト: hleclerc/Soca
MP MP::new_file( QString name, MP model ) {
    MP res = new_obj( "File" );
    res[ "name" ] = name;
    res[ "_ptr" ] = new_ptr( model );
    res[ "_info" ] = new_obj();
    return res;
}
コード例 #3
0
ModelPointer ModelPointer::new_file( QString name, ModelPointer model ) {
    ModelPointer res = new_obj( "File" );
    res[ "name" ] = name;
    res[ "_ptr" ] = new_ptr( model );
    res[ "_info" ] = new_obj();
    return res;
}
コード例 #4
0
ファイル: test_ptr.cpp プロジェクト: cargabsj175/bombono-dvd
void TestPtr()
{
    bool b = false;

    // конструкторы
    {
        Ptr<set_bool> ptr1;
        Ptr<set_bool> ptr2((set_bool*)0);

        Ptr<set_bool> ptr3(new set_bool(b));
        BOOST_CHECK( b );
    }
    BOOST_CHECK( !b );

    // get(), operator =
    {
        Ptr<set_bool> ptr;
        BOOST_CHECK( !ptr.get() );

        set_bool* p_sb = new set_bool(b); 
        ptr = p_sb;

        BOOST_CHECK( ptr.get() == p_sb );
        BOOST_CHECK( b );

        Ptr<set_bool> new_ptr(ptr);
        BOOST_CHECK( new_ptr.get() == p_sb );
        BOOST_CHECK( b );
    }
    BOOST_CHECK( !b );

    // reset()
    {
        Ptr<set_bool> ptr(new set_bool(b)); 

        ptr.reset((set_bool*)0);
        BOOST_CHECK( !b );

        ptr.reset( new set_bool(b) );
        BOOST_CHECK( b );
    }

    // if( ptr )
    // operator *
    {
        Ptr<int> ptr;
        if( ptr )
            BOOST_CHECK( false );

        int* p_int = new int(5);
        ptr = p_int;

        if( ptr )
            BOOST_CHECK( true );
        BOOST_CHECK( 5 == *ptr );
    }

    // operator ->
    {
        typedef std::pair<int, int> iint;
        Ptr<iint> pair_ptr(new iint(1,2));
        BOOST_CHECK( pair_ptr->first  == 1 );
        BOOST_CHECK( pair_ptr->second == 2 );
    }
}
コード例 #5
0
ファイル: rc_ptr.hpp プロジェクト: aoziczero/deprecated-tcode
 void reset( Object* t = nullptr ) {
     rc_ptr new_ptr( t );
     swap( new_ptr );
 }