# Poco

# template < class TArgs, class TDelegate, class TCompare >

# class FIFOStrategy

Library: Foundation
Package: Events
Header: Poco/FIFOStrategy.h

## Inheritance

Direct Base Classes: NotificationStrategy < TArgs, TDelegate >

All Base Classes: NotificationStrategy < TArgs, TDelegate >

## Member Summary

Member Functions: add, clear, empty, notify, operator =, remove

## Types

### ConstIndexIterator

typedef typename DelegateIndex::const_iterator ConstIndexIterator;

### ConstIterator

typedef typename Delegates::const_iterator ConstIterator;

### DelegateIndex

typedef std::map < TDelegate *, Iterator, TCompare > DelegateIndex;

### Delegates

typedef std::list < TDelegate * > Delegates;

### IndexIterator

typedef typename DelegateIndex::iterator IndexIterator;

### Iterator

typedef typename Delegates::iterator Iterator;

## Constructors

### FIFOStrategy

FIFOStrategy();

### FIFOStrategy

FIFOStrategy(
const FIFOStrategy & s
);

## Destructor

### ~FIFOStrategy

~FIFOStrategy();

## Member Functions

### add

void add(
const TDelegate & delegate
);

### clear

void clear();

### empty

bool empty() const;

### notify

void notify(
const void * sender,
TArgs & arguments
);

### operator =

FIFOStrategy & operator = (
const FIFOStrategy & s
);

### remove

void remove(
const TDelegate & delegate
);

## Variables

### _observerIndex

DelegateIndex _observerIndex;

For faster lookup when add/remove is used.

### _observers

Delegates _observers;

Stores the delegates in the order they were added.