Bridge Class Template Reference
[Design patterns]

#include <ql/Patterns/bridge.hpp>

Inheritance diagram for Bridge:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T, class T_impl>
class QuantLib::Bridge< T, T_impl >

The Bridge pattern made explicit.

The typical use of this class is:

        class FooImpl;
        class Foo : public Bridge<Foo,FooImpl> {
            ...
        };
which makes it possible to pass instances of class Foo by value while retaining polymorphic behavior.


Public Types

typedef T_impl Impl

Public Member Functions

bool empty () const

Protected Member Functions

 Bridge (const boost::shared_ptr< Impl > &impl=boost::shared_ptr< Impl >())

Protected Attributes

boost::shared_ptr< Impl > impl_