smartmontools SVN Rev 5642
Utility to control and monitor storage systems with "S.M.A.R.T."
|
Smart pointer class for device pointers. More...
#include <dev_interface.h>
Public Types | |
typedef Dev | device_type |
Public Member Functions | |
any_device_auto_ptr (device_type *dev=0, smart_device *base_dev=0) | |
Construct from optional pointer to device and optional pointer to base device. | |
~any_device_auto_ptr () | |
Destructor deletes device object. | |
void | operator= (device_type *dev) |
Assign a new pointer. | |
void | reset () |
Delete device object and clear the pointer. | |
device_type * | release () |
Return the pointer and release ownership. | |
void | replace (device_type *dev) |
Replace the pointer. | |
device_type * | get () const |
Return the pointer. | |
device_type & | operator* () const |
Pointer dereferencing. | |
device_type * | operator-> () const |
Pointer dereferencing. | |
operator bool () const | |
For (ptr != 0) check. | |
bool | operator! () const |
For (ptr == 0) check. | |
Private Member Functions | |
void | fail () const |
any_device_auto_ptr (const any_device_auto_ptr< Dev > &) | |
void | operator= (const any_device_auto_ptr< Dev > &) |
Private Attributes | |
device_type * | m_dev |
smart_device * | m_base_dev |
Smart pointer class for device pointers.
Definition at line 743 of file dev_interface.h.
typedef Dev any_device_auto_ptr< Dev >::device_type |
Definition at line 746 of file dev_interface.h.
|
inlineexplicit |
Construct from optional pointer to device and optional pointer to base device.
Definition at line 750 of file dev_interface.h.
|
inline |
Destructor deletes device object.
Definition at line 755 of file dev_interface.h.
|
private |
|
inlineprivate |
Definition at line 815 of file dev_interface.h.
|
inline |
Return the pointer.
Definition at line 792 of file dev_interface.h.
|
inline |
For (ptr != 0) check.
Definition at line 804 of file dev_interface.h.
|
inline |
For (ptr == 0) check.
Definition at line 808 of file dev_interface.h.
|
inline |
Pointer dereferencing.
Definition at line 796 of file dev_interface.h.
|
inline |
Pointer dereferencing.
Definition at line 800 of file dev_interface.h.
|
private |
|
inline |
Assign a new pointer.
Throws if a pointer is already assigned.
Definition at line 760 of file dev_interface.h.
|
inline |
Return the pointer and release ownership.
Definition at line 779 of file dev_interface.h.
|
inline |
Replace the pointer.
Used to call dev->autodetect_open().
Definition at line 788 of file dev_interface.h.
|
inline |
Delete device object and clear the pointer.
Definition at line 768 of file dev_interface.h.
|
private |
Definition at line 813 of file dev_interface.h.
|
private |
Definition at line 812 of file dev_interface.h.