# ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION > Class Template Reference

This class follows the Adaptor pattern and is used to provide External Polymorphism by deriving from ACE_Caching_Strategy. More...

`#include <Caching_Strategies_T.h>`

Inheritance diagram for ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >:

[legend]
Collaboration diagram for ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >:

[legend]
List of all members.

## Public Member Functions

| ACE_Caching_Strategy_Adapter (IMPLEMENTATION *implementation=0, int delete_implementation=0)
| Constructor.
| ~ACE_Caching_Strategy_Adapter (void)
| Destructor.
ATTRIBUTES | attributes (void)
| Accessor method for the timer attributes.
double | purge_percent (void)
| Get the percentage of entries to purge.
void | purge_percent (double percentage)
| Set the percentage of entries to purge.
int | notify_bind (int result, const ATTRIBUTES &attr)
int | notify_find (int result, ATTRIBUTES &attr)
int | notify_unbind (int result, const ATTRIBUTES &attr)
int | notify_trybind (int result, ATTRIBUTES &attr)
int | notify_rebind (int result, const ATTRIBUTES &attr)
IMPLEMENTATION & | implementation (void)
| Accessor to the implementation.
CACHING_UTILITY & | caching_utility (void)
| Purge the cache.
void | dump (void) const
| Dumps the state of the object.

## Private Attributes

IMPLEMENTATION * | implementation_
| Implementation class.
int | delete_implementation_
| Do we need to delete the implementation?

## Detailed Description

### template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
class ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >

This class follows the Adaptor pattern and is used to provide External Polymorphism by deriving from ACE_Caching_Strategy.

This class simply delegates all requests to the IMPLEMNETATION object within. This class should be passed in place of the the abstract base ACE_Caching_Strategy class as part of the External Polymorphism pattern.

## Constructor & Destructor Documentation

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::ACE_Caching_Strategy_Adapter | ( | IMPLEMENTATION * | implementation = `0`,
|  | int | delete_implementation = `0`
| ) |

| Constructor.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::~ACE_Caching_Strategy_Adapter | ( | void |  | ) |

| Destructor.

## Member Function Documentation

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE ATTRIBUTES ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::attributes | ( | void |  | ) | `[virtual]`

| Accessor method for the timer attributes. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE CACHING_UTILITY & ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::caching_utility | ( | void |  | ) | `[virtual]`

| Purge the cache. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE void ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::dump | ( | void |  | ) | const`[virtual]`

| Dumps the state of the object. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE IMPLEMENTATION & ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::implementation | ( | void |  | ) |

| Accessor to the implementation.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::notify_bind | ( | int | result,
|  | const ATTRIBUTES & | attr
| ) | `[virtual]`

| This method acts as a notification about the CONTAINERs bind method call. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::notify_find | ( | int | result,
|  | ATTRIBUTES & | attr
| ) | `[virtual]`

| This method acts as a notification about the CONTAINERs find method call Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::notify_rebind | ( | int | result,
|  | const ATTRIBUTES & | attr
| ) | `[virtual]`

| This method acts as a notification about the CONTAINERs rebind method call Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::notify_trybind | ( | int | result,
|  | ATTRIBUTES & | attr
| ) | `[virtual]`

| This method acts as a notification about the CONTAINERs trybind method call Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::notify_unbind | ( | int | result,
|  | const ATTRIBUTES & | attr
| ) | `[virtual]`

| This method acts as a notification about the CONTAINERs unbind method call Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE void ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::purge_percent | ( | double | percentage | ) | `[virtual]`

| Set the percentage of entries to purge. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
ACE_INLINE double ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::purge_percent | ( | void |  | ) | `[virtual]`

| Get the percentage of entries to purge. Implements ACE_Caching_Strategy< ATTRIBUTES, CACHING_UTILITY >.

## Member Data Documentation

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
int ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::delete_implementation_`[private]`

| Do we need to delete the implementation?

template<class ATTRIBUTES, class CACHING_UTILITY, class IMPLEMENTATION>
IMPLEMENTATION* ACE_Caching_Strategy_Adapter< ATTRIBUTES, CACHING_UTILITY, IMPLEMENTATION >::implementation_`[private]`

| Implementation class.

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

- Caching_Strategies_T.h
- Caching_Strategies_T.inl