1#ifndef _RHEOLEF_FUNCTIONAL_SGI_EXT_H
2#define _RHEOLEF_FUNCTIONAL_SGI_EXT_H
24 template <
class _Operation1,
class _Operation2>
26 :
public std::unary_function<typename _Operation2::argument_type,
27 typename _Operation1::result_type>
37 typename _Operation1::result_type
38 operator()(
const typename _Operation2::argument_type& __x)
const
42 template <
class _Operation1,
class _Operation2>
43 inline unary_compose<_Operation1, _Operation2>
44 compose1(
const _Operation1& __fn1,
const _Operation2& __fn2)
47 template <
class _Operation1,
class _Operation2,
class _Operation3>
49 :
public std::unary_function<typename _Operation2::argument_type,
50 typename _Operation1::result_type>
59 const _Operation3& __z)
62 typename _Operation1::result_type
63 operator()(
const typename _Operation2::argument_type& __x)
const
67 template <
class _Operation1,
class _Operation2,
class _Operation3>
68 inline binary_compose<_Operation1, _Operation2, _Operation3>
69 compose2(
const _Operation1& __fn1,
const _Operation2& __fn2,
70 const _Operation3& __fn3)
72 (__fn1, __fn2, __fn3); }
_Operation1::result_type operator()(const typename _Operation2::argument_type &__x) const
binary_compose(const _Operation1 &__x, const _Operation2 &__y, const _Operation3 &__z)
_Operation1::result_type operator()(const typename _Operation2::argument_type &__x) const
unary_compose(const _Operation1 &__x, const _Operation2 &__y)
This file is part of Rheolef.
unary_compose< _Operation1, _Operation2 > compose1(const _Operation1 &__fn1, const _Operation2 &__fn2)
binary_compose< _Operation1, _Operation2, _Operation3 > compose2(const _Operation1 &__fn1, const _Operation2 &__fn2, const _Operation3 &__fn3)