Public Member Functions | Private Attributes

ACE_Dumpable_Adapter< Concrete > Class Template Reference

This class inherits the interface of the abstract ACE_Dumpable class and is instantiated with the implementation of the concrete component class <class concrete>="">. More...

#include <Dump_T.h>

Inheritance diagram for ACE_Dumpable_Adapter< Concrete >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Dumpable_Adapter< Concrete >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Dumpable_Adapter (const Concrete *t)
 ~ACE_Dumpable_Adapter (void)
virtual void dump (void) const
Concrete * operator-> () const
 Delegate to methods in the Concrete class.

Private Attributes

const Concrete * this_
 Pointer to this of <class concrete>="">.

Detailed Description

template<class Concrete>
class ACE_Dumpable_Adapter< Concrete >

This class inherits the interface of the abstract ACE_Dumpable class and is instantiated with the implementation of the concrete component class <class concrete>="">.

This design is similar to the Adapter and Decorator patterns from the ``Gang of Four'' book. Note that <class concrete>=""> need not inherit from a common class since ACE_Dumpable provides the uniform virtual interface!

Definition at line 40 of file Dump_T.h.


Constructor & Destructor Documentation

template<class Concrete >
ACE_Dumpable_Adapter< Concrete >::ACE_Dumpable_Adapter ( const Concrete *  t  ) 

Definition at line 25 of file Dump_T.cpp.

  : ACE_Dumpable ((const void *) t), this_ (t)
{
  ACE_TRACE ("ACE_Dumpable_Adapter<Concrete>::ACE_Dumpable_Adapter");
}

template<class Concrete >
ACE_Dumpable_Adapter< Concrete >::~ACE_Dumpable_Adapter ( void   ) 

Definition at line 19 of file Dump_T.cpp.

{
  ACE_TRACE ("ACE_Dumpable_Adapter<Concrete>::~ACE_Dumpable_Adapter");
}


Member Function Documentation

template<class Concrete >
void ACE_Dumpable_Adapter< Concrete >::dump ( void   )  const [virtual]

Concrete dump method (simply delegates to the <dump> method of <class concrete>="">).

Implements ACE_Dumpable.

Definition at line 38 of file Dump_T.cpp.

{
#if defined (ACE_HAS_DUMP)
  ACE_TRACE ("ACE_Dumpable_Adapter<Concrete>::dump");
  this->this_->dump ();
#endif /* ACE_HAS_DUMP */
}

template<class Concrete >
Concrete * ACE_Dumpable_Adapter< Concrete >::operator-> ( void   )  const

Delegate to methods in the Concrete class.

Definition at line 32 of file Dump_T.cpp.

{
  return (Concrete *) this->this_;
}


Member Data Documentation

template<class Concrete >
const Concrete* ACE_Dumpable_Adapter< Concrete >::this_ [private]

Pointer to this of <class concrete>="">.

Reimplemented from ACE_Dumpable.

Definition at line 56 of file Dump_T.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines