Shortcuts

Template Class Invocable

Class Documentation

template<typename Functor>
class ripple::Invocable

The Invocable type defines an object which stores a functor which can be invoked.

Note

This class always owns the functor.

Note

This class always owns the functor object.

Template Parameters
  • Functor: The type of the functor to invoke.

Template Parameters
  • Functor: The type of the functor to invoke.

Public Functions

template<typename F>
Invocable(F &&functor) noexcept

Takes a functor to store for the invocable.

Parameters
  • functor: The functor to store.

Template Parameters
  • F: The type of the functor.

Invocable(const Functor &functor) noexcept

Takes a functor and copies it into this invocable.

Parameters
  • functor: The functor to store.

Invocable(const Invocable &other) noexcept

Copy constructor which simply copies the functor from the other invocable into this one.

Parameters
  • other: The other invocable object to copy.

Invocable(Invocable &&other) noexcept

Move constructor which moves the functor from the other invocable into this one.

Parameters
  • other: The other invocable object to move.

auto operator=(const Invocable &other) noexcept -> Invocable&

Copy assignment to copy the invocable from the other invocable into this one.

Return

A reference to the modified invocable.

Parameters
  • other: The other invocable to copy from.

auto operator=(Invocable &&other) noexcept -> Invocable&

Move assignment to move the invocable from the other invocable into this one.

Return

A reference to the modified invocable.

Parameters
  • other: The other invocable to move into this one.

template<typename ...Args>
auto operator()(Args&&... args) const noexcept -> void

Overload of the function call operator to invoke the invocable.

This overload preserves the state of the invocable, passing the arguments to the stored functor.

Todo:

Add compile time check that the Args are all convertible to the type of the arguments for the functor.

Parameters
  • args: The arguments to invoke the functor with.

Template Parameters
  • Args: The types of the additional arguments.

template<typename ...Args>
auto operator()(Args&&... args) noexcept -> void

Overload of the function call operator to invoke the invocable.

This overload may not preserve the state of the invocable., and passes the arguments to the stored functor.

Todo:

Add compile time check that the Args are all convertible to the type of the arguments for the functor.

Parameters
  • args: The arguments to invoke the functor with.

Template Parameters
  • Args: The types of the additional arguments.

Docs

Access comprehensive developer documentation for Ripple

View Docs

Tutorials

Get tutorials to help with understand all features

View Tutorials

Examples

Find examples to help get started

View Examples