Composite Class Template Reference
[Design patterns]

#include <ql/patterns/composite.hpp>

List of all members.


Detailed Description

template<class T>
class QuantLib::Composite< T >

Composite pattern.

The typical use of this class is:

        class CompositeFoo : public Composite<Foo> {
            ...
        };
which causes CompositeFoo to inherit from Foo and provides it with methods for adding components. Of course, any abstract Foo interface must still be implemented.


Protected Types

typedef std::list< boost::shared_ptr<
T > >::iterator 
iterator
typedef std::list< boost::shared_ptr<
T > >::const_iterator 
const_iterator

Protected Member Functions

void add (const boost::shared_ptr< T > &c)

Protected Attributes

std::list< boost::shared_ptr<
T > > 
components_