{}
void reset()
- { _dptr.reset(); }
+ { _Ptr().swap( _dptr ); }
void reset( typename _Ptr::element_type * dptr )
- { _dptr.reset( dptr ); }
+ { _Ptr( dptr ).swap( _dptr ); }
void swap( RW_pointer & rhs )
{ _dptr.swap( rhs._dptr ); }
{}
void reset()
- { _dptr.reset(); }
+ { _Ptr().swap( _dptr ); }
void reset( typename _Ptr::element_type * dptr )
- { _dptr.reset( dptr ); }
+ { _Ptr( dptr ).swap( _dptr ); }
void swap( RWCOW_pointer & rhs )
{ _dptr.swap( rhs._dptr ); }
void assertUnshared()
{
if ( !unique() )
- _dptr.reset( rwcowClone( _dptr.get() ) );
+ _Ptr( rwcowClone( _dptr.get() ) ).swap( _dptr );
}
private:
//
// CLASS NAME : Selectable
//
- /** Collects ResObject of same kind and name.
+ /** Collects PoolItems of same kind and name.
+ *
+ * Selectable is a status wrapper. That's why it offers the
+ * PoolItems ResObjects but hides their individual ResStatus.
+ * The ui::Status is calculated from (and transated to)
+ * PoolItems individual ResStatus values.
*
* \note There's one Selectable per installed item, in case more
* than one item is intalled.