Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_Service_Object_Ptr Class Reference

This is a smart pointer that holds onto the associated <ACE_Service_Object> * until the current scope is left, at which point the object's <fini> hook is called and the service_object_ gets deleted. More...

`#include <Service_Object.h>`

Collaboration diagram for ACE_Service_Object_Ptr:

[legend]
List of all members.

## Public Methods
| ACE_Service_Object_Ptr (ACE_Service_Object *so)
| Acquire ownership of the <so>. More...
| ~ACE_Service_Object_Ptr (void)
| Release the held <ACE_Service_Object> by calling its <fini> hook. More...
ACE_Service_Object * | operator-> ()
| Smart pointer to access the underlying <ACE_Service_Object>. More...
## Private Attributes
ACE_Service_Object * | service_object_
| Holds the service object until we're done. More...

## Detailed Description

This is a smart pointer that holds onto the associated <ACE_Service_Object> * until the current scope is left, at which point the object's <fini> hook is called and the service_object_ gets deleted.

This class is similar to the Standard C++ Library class <auto_ptr>. It is used in conjunction with statically linked <ACE_Service_Objects>, as shown in the ./netsvcs/server/main.cpp example.

## Constructor & Destructor Documentation

ACE_INLINE ACE_Service_Object_Ptr::ACE_Service_Object_Ptr | ( | ACE_Service_Object * | so | ) |

| Acquire ownership of the <so>.

ACE_INLINE ACE_Service_Object_Ptr::~ACE_Service_Object_Ptr | ( | void |  | ) |

| Release the held <ACE_Service_Object> by calling its <fini> hook.

## Member Function Documentation

ACE_INLINE ACE_Service_Object * ACE_Service_Object_Ptr::operator-> | ( | void |  | ) |

| Smart pointer to access the underlying <ACE_Service_Object>.

## Member Data Documentation

ACE_Service_Object* ACE_Service_Object_Ptr::service_object_`[private]`

| Holds the service object until we're done.

The documentation for this class was generated from the following files:

- Service_Object.h
- Service_Object.i