3.0.0
Freundlich's C++ toolkit
Public Types | Public Member Functions
fcppt::signal::object< T, Base, Enable > Class Template Reference

Detailed Description

template<typename T, template< typename > class Base, typename Enable>
class fcppt::signal::object< T, Base, Enable >

Represents a signal with a non-void return value.

Template Parameters
TThe signal's function type
BaseThe signal's base class (determines the existence of unregister functions)
EnableDummy for SFINAE operations

See the module documentation for more information.

Inheritance diagram for fcppt::signal::object< T, Base, Enable >:

Public Types

typedef Base< T > base
 A typedef for the signal's base class. More...
 
typedef fcppt::type_traits::function_result< T >::type result_type
 A typedef for the function's return type. More...
 
typedef base::function function
 
typedef fcppt::function< result_type(result_type, result_type) > combiner_function
 Typedef to the combiner function. More...
 
typedef fcppt::strong_typedef< result_type,_ > initial_value
 

Public Member Functions

 object (combiner_function &&)
 Construct a signal with a combiner. More...
 
 object (object &&)
 
objectoperator= (object &&)
 
 ~object ()
 
template<typename... Args>
result_type operator() (initial_value &&, Args &&...)
 Call the signal. More...
 

Member Typedef Documentation

◆ base

template<typename T , template< typename > class Base, typename Enable >
typedef Base< T > fcppt::signal::object< T, Base, Enable >::base

A typedef for the signal's base class.

◆ combiner_function

template<typename T , template< typename > class Base, typename Enable >
typedef fcppt::function< result_type ( result_type, result_type ) > fcppt::signal::object< T, Base, Enable >::combiner_function

Typedef to the combiner function.

◆ function

template<typename T , template< typename > class Base, typename Enable >
typedef base::function fcppt::signal::object< T, Base, Enable >::function

◆ initial_value

template<typename T , template< typename > class Base, typename Enable >
typedef fcppt::strong_typedef< result_type ,_> fcppt::signal::object< T, Base, Enable >::initial_value

◆ result_type

template<typename T , template< typename > class Base, typename Enable >
typedef fcppt::type_traits::function_result< T >::type fcppt::signal::object< T, Base, Enable >::result_type

A typedef for the function's return type.

Constructor & Destructor Documentation

◆ object() [1/2]

template<typename T , template< typename > class Base, typename Enable >
fcppt::signal::object< T, Base, Enable >::object ( combiner_function &&  )
explicit

Construct a signal with a combiner.

◆ object() [2/2]

template<typename T , template< typename > class Base, typename Enable >
fcppt::signal::object< T, Base, Enable >::object ( object< T, Base, Enable > &&  )

◆ ~object()

template<typename T , template< typename > class Base, typename Enable >
fcppt::signal::object< T, Base, Enable >::~object ( )

Member Function Documentation

◆ operator()()

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

Call the signal.

◆ operator=()

template<typename T , template< typename > class Base, typename Enable >
object& fcppt::signal::object< T, Base, Enable >::operator= ( object< T, Base, Enable > &&  )