Public Types | Protected Member Functions

mln::Function< E > Struct Template Reference
[Functions]

Base class for implementation of function-objects. More...

#include <function.hh>

Inherits mln::Object< E >.

Inherited by mln::Function_n2v< E >, mln::Function_v2v< E >, mln::Function_vv2b< E >, and mln::Function_vv2v< E >.

List of all members.

Public Types

typedef Function< void > category
typedef E exact_t

Protected Member Functions

 Function ()
 An operator() has to be provided.
 Function (const Function &)
Function< E > & operator= (const Function< E > &)

Detailed Description

template<typename E>
struct mln::Function< E >

Base class for implementation of function-objects.

The parameter E is the exact type.

Definition at line 64 of file function.hh.


Member Typedef Documentation

template<typename E>
typedef Function<void> mln::Function< E >::category

Reimplemented from mln::Object< E >.

Reimplemented in mln::Function_n2v< E >, mln::Function_v2v< E >, mln::Function_v2b< E >, mln::Function_vv2v< E >, mln::Function_vv2b< E >, mln::Function_n2v< white_gaussian< V > >, mln::Function_v2v< f_rgb_to_hsi_< T_hsi > >, mln::Function_v2v< id2element< G, Elt > >, mln::Function_v2v< f_box2d_t >, mln::Function_v2v< function< meta::hue< value::hsi_< H, S, I > > > >, mln::Function_v2v< mahalanobis< V > >, mln::Function_v2v< f_hsi_to_rgb_< T_rgb > >, mln::Function_v2v< dashed_line_f< I, dim > >, mln::Function_v2v< viota_t< S > >, mln::Function_v2v< chess >, mln::Function_v2v< is_dot >, mln::Function_v2v< component< T, i > >, mln::Function_v2v< projection< P, dir > >, mln::Function_v2v< sqrt >, mln::Function_v2v< rgbn_to_lbl8< n > >, mln::Function_v2v< qrde >, mln::Function_v2v< value_at_index< T > >, mln::Function_v2v< function< meta::sat< value::hsl_< H, S, L > > > >, mln::Function_v2v< has< I > >, mln::Function_v2v< is_edge >, mln::Function_v2v< is_row_odd >, mln::Function_v2v< mysqrt >, mln::Function_v2v< my_values_t >, mln::Function_v2v< cast< V > >, mln::Function_v2v< big_chess< B > >, mln::Function_v2v< function< meta::sat< value::hsi_< H, S, I > > > >, mln::Function_v2v< rgb8_to_rgbn< n > >, mln::Function_v2v< keep_specific_colors >, mln::Function_v2v< function< meta::second< util::couple< T, U > > > >, mln::Function_v2v< my_box2d >, mln::Function_v2v< cos< V > >, mln::Function_v2v< wrap< L > >, mln::Function_v2v< iota >, mln::Function_v2v< f_hsl_to_rgb_< T_rgb > >, mln::Function_v2v< ref_data >, mln::Function_v2v< f_16_to_8 >, mln::Function_v2v< test >, mln::Function_v2v< linear_sat< V, T, R > >, mln::Function_v2v< linfty_norm< V, R > >, mln::Function_v2v< round_sat_< R > >, mln::Function_v2v< is_pixel >, mln::Function_v2v< function< meta::to_enc< T > > >, mln::Function_v2v< mirror< B > >, mln::Function_v2v< index_of_value< bool > >, mln::Function_v2v< is_n_face< N > >, mln::Function_v2v< rgb_to_luma< T_luma > >, mln::Function_v2v< function< meta::inty< value::hsi_< H, S, I > > > >, mln::Function_v2v< to23bits >, mln::Function_v2v< function< meta::green< value::rgb< n > > > >, mln::Function_v2v< function< meta::red< value::rgb< n > > > >, mln::Function_v2v< to19bits >, mln::Function_v2v< function< meta::first< util::couple< T, U > > > >, mln::Function_v2v< all_to< T > >, mln::Function_v2v< is_separator >, mln::Function_v2v< saturate< V > >, mln::Function_v2v< qt_rgb_to_int_u< n > >, mln::Function_v2v< is_simple_cell< I > >, mln::Function_v2v< var_< V > >, mln::Function_v2v< edge_to_color< I, V > >, mln::Function_v2v< ch_function_value< F, V > >, mln::Function_v2v< viota_t >, mln::Function_v2v< l1_norm< V, R > >, mln::Function_v2v< colorize >, mln::Function_v2v< tautology >, mln::Function_v2v< index_of_value< T > >, mln::Function_v2v< fold< P, dir_0, dir_1, dir_2 > >, mln::Function_v2v< translation< n, C > >, mln::Function_v2v< l1_norm< V > >, mln::Function_v2v< round< R > >, mln::Function_v2v< point_from_value< T > >, mln::Function_v2v< convert< V > >, mln::Function_v2v< to27bits >, mln::Function_v2v< to16bits >, mln::Function_v2v< wrap >, mln::Function_v2v< not_to_remove >, mln::Function_v2v< tofloat01 >, mln::Function_v2v< abs< V > >, mln::Function_v2v< unary< Fun, T > >, mln::Function_v2v< rotation< n, C > >, mln::Function_v2v< enc< V > >, mln::Function_v2v< f_box1d_t >, mln::Function_v2v< threshold< V > >, mln::Function_v2v< saturate_rgb8 >, mln::Function_v2v< f_rgb_to_hsl_< T_hsl > >, mln::Function_v2v< rgb_to_int_u< n > >, mln::Function_v2v< to8bits >, mln::Function_v2v< function< meta::hue< value::hsl_< H, S, L > > > >, mln::Function_v2v< rgb_to_dist< T, n > >, mln::Function_v2v< value_at_index< bool > >, mln::Function_v2v< my_ext >, mln::Function_v2v< cast_p2v_expr_< V, F > >, mln::Function_v2v< linear< V, T, R > >, mln::Function_v2v< l2_norm< V, R > >, mln::Function_v2v< lnot< V > >, mln::Function_v2v< translation_t< P > >, mln::Function_v2v< function< meta::lum< value::hsl_< H, S, I > > > >, mln::Function_v2v< binary< Fun, T1, T2 > >, mln::Function_v2v< f_box3d_t >, mln::Function_v2v< function< meta::blue< value::rgb< n > > > >, mln::Function_v2v< antilogy >, mln::Function_v2b< f_box2d_t >, mln::Function_v2b< dashed_line_f< I, dim > >, mln::Function_v2b< chess >, mln::Function_v2b< is_dot >, mln::Function_v2b< has< I > >, mln::Function_v2b< is_edge >, mln::Function_v2b< is_row_odd >, mln::Function_v2b< big_chess< B > >, mln::Function_v2b< keep_specific_colors >, mln::Function_v2b< my_box2d >, mln::Function_v2b< is_pixel >, mln::Function_v2b< is_n_face< N > >, mln::Function_v2b< is_separator >, mln::Function_v2b< is_simple_cell< I > >, mln::Function_v2b< tautology >, mln::Function_v2b< not_to_remove >, mln::Function_v2b< f_box1d_t >, mln::Function_v2b< threshold< V > >, mln::Function_v2b< lnot< V > >, mln::Function_v2b< f_box3d_t >, mln::Function_v2b< antilogy >, mln::Function_vv2v< myfun >, mln::Function_vv2v< land< L, R > >, mln::Function_vv2v< vec< V > >, mln::Function_vv2v< land_not< L, R > >, mln::Function_vv2v< dist >, mln::Function_vv2v< min< L, R > >, mln::Function_vv2v< lor< L, R > >, mln::Function_vv2v< max< V > >, mln::Function_vv2v< diff_abs< V > >, mln::Function_vv2v< d_t >, mln::Function_vv2v< dist_t >, mln::Function_vv2v< lxor< L, R > >, mln::Function_vv2b< le< L, R > >, mln::Function_vv2b< eq< L, R > >, mln::Function_vv2b< gt< L, R > >, mln::Function_vv2b< lt< L, R > >, mln::Function_vv2b< implies< L, R > >, and mln::Function_vv2b< ge< L, R > >.

Definition at line 66 of file function.hh.

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 173 of file object.hh.


Constructor & Destructor Documentation

template<typename E >
mln::Function< E >::Function (  )  [inline, protected]

An operator() has to be provided.

Its signature depends on the particular function-object one considers.

Definition at line 219 of file function.hh.

template<typename E >
mln::Function< E >::Function ( const Function< E > &  rhs  )  [inline, protected]

Definition at line 226 of file function.hh.


Member Function Documentation

template<typename E>
Function< E > & mln::Function< E >::operator= ( const Function< E > &   )  [inline, protected]

Definition at line 234 of file function.hh.