# saga::detail::monitorable< Derived > Struct Template Reference

The SAGA monitorable interface. More...

`#include <monitorable.hpp>`

Inheritance diagram for saga::detail::monitorable< Derived >:

[legend]

List of all members.

## Public Types
typedef saga::monitorable::cookie_handle | cookie_handle
| A cookie_handle is a unique identifier for a callback.
## Public Member Functions
std::vector< saga::metric > | list_metrics (void) const
| Lists all metrics assiciated with this object instance.
saga::metric | get_metric (std::string name) const
| Returns a metric associated with this object instance.
cookie_handle | add_callback (std::string name, saga::callback cb)
| Adds a callback to this object instance.
void | remove_callback (std::string name, cookie_handle cookie)
| Removes a callback from this object instance.

## Detailed Description

### template<typename Derived>
struct saga::detail::monitorable< Derived >

The SAGA monitorable interface.

TODO .

## Member Typedef Documentation

template<typename Derived>

typedef saga::monitorable::cookie_handle saga::detail::monitorable< Derived >::cookie_handle

A cookie_handle is a unique identifier for a callback.

TODO .

## Member Function Documentation

template<typename Derived>

std::vector< saga::metric > saga::detail::monitorable< Derived >::list_metrics | ( | void |  | ) | const`[inline]`

Lists all metrics assiciated with this object instance.

Returns:
  A vector of available. metrics

TODO .

References saga::IncorrectState.

template<typename Derived>

saga::metric saga::detail::monitorable< Derived >::get_metric | ( | std::string | name | ) | const`[inline]`

Returns a metric associated with this object instance.

Parameters:

  | name | The metric's name

Returns:
  The metric identified by name

TODO .

References saga::IncorrectState.

template<typename Derived>

saga::monitorable::cookie_handle saga::detail::monitorable< Derived >::add_callback | ( | std::string | name,
|  | saga::callback | cb |
| ) |  |  | `[inline]`

Adds a callback to this object instance.

Parameters:

  | name | The new callback's name
  | cb | The callback object

Returns:
  A unique handle to the new callback

TODO .

References saga::IncorrectState.

template<typename Derived>

void saga::detail::monitorable< Derived >::remove_callback | ( | std::string | name,
|  | cookie_handle | cookie |
| ) |  |  |

Removes a callback from this object instance.

Parameters:

  | name | The callback's name
  | cookie | The callback's unique handle

TODO .

The documentation for this struct was generated from the following files:

- detail/monitorable.hpp
- monitorable_impl.hpp