# Parma_Watchdog_Library::Handler_Flag< Flag_Base, Flag > Class Template Reference

A kind of Handler that installs a flag onto a flag-holder. More...

`#include <pwl.hh>`

Inherits Parma_Watchdog_Library::Handler.

List of all members.

## Public Member Functions

| Handler_Flag (const Flag_Base *volatile &holder, Flag &flag)
| Constructor with a given function.
void | act () const

## Detailed Description

### template<typename Flag_Base, typename Flag>
class Parma_Watchdog_Library::Handler_Flag< Flag_Base, Flag >

A kind of Handler that installs a flag onto a flag-holder.

The template class Handler_Flag<Flag_Base, Flag> is an handler whose job is to install a flag onto an holder for the flag. The flag is of type `Flag` and the holder is a (volatile) pointer to `Flag_Base`. Installing the flag onto the holder means making the holder point to the flag, so that it must be possible to assign a value of type `Flag*` to an entity of type `Flag_Base*`. The class `Flag` must provide the method

        int priority() const

returning an integer priority associated to the flag.

The handler will install its flag onto the holder only if the holder is empty, namely, it is the null pointer, or if the holder holds a flag of strictly lower priority.

## Member Function Documentation

template<typename Flag_Base , typename Flag >

void Parma_Watchdog_Library::Handler_Flag< Flag_Base, Flag >::act | ( |  | ) | const`[inline, virtual]`

Does its job: installs the flag onto the holder, if a flag with an higher priority has not already been installed.

Implements Parma_Watchdog_Library::Handler.

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

- pwl.hh