4.4.1
Freundlich's C++ toolkit
Loading...
Searching...
No Matches
Public Types | Public Member Functions
fcppt::signal::object< Result(Args...), Base > Class Template Reference

Detailed Description

template<typename Result, typename... Args, template< typename > class Base>
class fcppt::signal::object< Result(Args...), Base >

Represents a signal with a non-void return value.

Template Parameters
BaseThe signal's base class (determines the existence of unregister functions)
Inheritance diagram for fcppt::signal::object< Result(Args...), Base >:

Public Types

using result_type = Result
 A typedef for the function's return type.
 
using base = Base< Result(Args...)>
 A typedef for the signal's base class.
 
using function = typename base::function
 
using combiner_function = fcppt::function< result_type(result_type, result_type)>
 Typedef to the combiner function.
 
using initial_value = fcppt::strong_typedef< result_type,_ >
 

Public Member Functions

 object (combiner_function &&)
 Construct a signal with a combiner.
 
 object (object &&) noexcept
 
objectoperator= (object &&) noexcept
 
 ~object ()
 
Result operator() (initial_value &&, Args...)
 Call the signal.
 

Member Typedef Documentation

◆ base

template<typename Result , typename... Args, template< typename > class Base>
using fcppt::signal::object< Result(Args...), Base >::base = Base<Result(Args...)>

A typedef for the signal's base class.

◆ combiner_function

template<typename Result , typename... Args, template< typename > class Base>
using fcppt::signal::object< Result(Args...), Base >::combiner_function = fcppt::function<result_type(result_type, result_type)>

Typedef to the combiner function.

◆ function

template<typename Result , typename... Args, template< typename > class Base>
using fcppt::signal::object< Result(Args...), Base >::function = typename base::function

◆ initial_value

template<typename Result , typename... Args, template< typename > class Base>
using fcppt::signal::object< Result(Args...), Base >::initial_value = fcppt::strong_typedef< result_type ,_>

◆ result_type

template<typename Result , typename... Args, template< typename > class Base>
using fcppt::signal::object< Result(Args...), Base >::result_type = Result

A typedef for the function's return type.

Constructor & Destructor Documentation

◆ object() [1/2]

template<typename Result , typename... Args, template< typename > class Base>
fcppt::signal::object< Result(Args...), Base >::object ( combiner_function &&  )
explicit

Construct a signal with a combiner.

◆ object() [2/2]

template<typename Result , typename... Args, template< typename > class Base>
fcppt::signal::object< Result(Args...), Base >::object ( object< Result(Args...), Base > &&  )
noexcept

◆ ~object()

template<typename Result , typename... Args, template< typename > class Base>
fcppt::signal::object< Result(Args...), Base >::~object ( )

Member Function Documentation

◆ operator()()

template<typename Result , typename... Args, template< typename > class Base>
Result fcppt::signal::object< Result(Args...), Base >::operator() ( initial_value &&  ,
Args...   
)

Call the signal.

◆ operator=()

template<typename Result , typename... Args, template< typename > class Base>
object & fcppt::signal::object< Result(Args...), Base >::operator= ( object< Result(Args...), Base > &&  )
noexcept