Fermat
Classes | Functions
Basic Functors Module

Detailed Description

This module implements several basic functors

Classes

struct  cugar::unary_function_tag
 
struct  cugar::binary_function_tag
 
struct  cugar::ternary_function_tag
 
struct  cugar::default_predicate< T >
 
struct  cugar::constant_functor< T, R >
 
struct  cugar::one_fun< T, R >
 
struct  cugar::one_or_zero
 
struct  cugar::not_functor< T >
 
struct  cugar::minus_one< T >
 
struct  cugar::binder1st< F, C >
 
struct  cugar::binder2nd< F, C >
 
struct  cugar::component_functor< Vector_type >
 
struct  cugar::sqr_functor< T >
 
struct  cugar::greater_than_zero< T >
 
struct  cugar::equal_functor< T >
 
struct  cugar::not_equal_functor< T >
 
struct  cugar::eq_constant< T >
 
struct  cugar::neq_constant< T >
 
struct  cugar::if_true_functor< T, R >
 
struct  cugar::if_constant< T, R >
 
struct  cugar::compose_unary< F1, F2 >
 
struct  cugar::compose_binary< F, G1, G2 >
 
struct  cugar::compose_unary_after_binary< F1, F2 >
 
struct  cugar::composition_type< F1, F2, T1, T2 >
 
struct  cugar::composition_type< F1, F2, unary_function_tag, binary_function_tag >
 
struct  cugar::composition_type< F1, F2, unary_function_tag, unary_function_tag >
 
struct  cugar::min_functor< T >
 
struct  cugar::max_functor< T >
 
struct  cugar::add< T >
 
struct  cugar::binary_or< T >
 
struct  cugar::binary_and< T >
 
struct  cugar::mask_and< T >
 
struct  cugar::mask_or< T >
 
struct  cugar::l_bit_shift< T >
 
struct  cugar::r_bit_shift< T >
 
struct  cugar::clamped_cosine_functor< Vector_type >
 
struct  cugar::abs_cosine_functor< Vector_type >
 
struct  cugar::less< T >
 
struct  cugar::greater< T >
 
struct  cugar::leading_bits< word_type >
 
struct  cugar::shift_left< word_type >
 
struct  cugar::shift_right< word_type >
 
struct  cugar::hi_bits_functor< T, U >
 
struct  cugar::hi_bits_functor< uint8, uint32 >
 
struct  cugar::hi_bits_functor< uint16, uint32 >
 
struct  cugar::hi_bits_functor< uint32, uint32 >
 
struct  cugar::hi_bits_functor< uint32, uint64 >
 
struct  cugar::is_true_functor< T >
 
struct  cugar::is_false_functor< T >
 
struct  cugar::gather_functor< Iterator, index_type >
 

Functions

template<typename F , typename C >
binder1st< F, C > cugar::bind1st (const F &f, const C c)
 
template<typename F , typename C >
binder2nd< F, C > cugar::bind2nd (const F &f, const C c)
 
template<typename F1 , typename F2 >
composition_type< F1, F2, typename F1::function_tag, typename F2::function_tag >::type cugar::compose (const F1 f1, const F2 f2)
 
template<typename F , typename G1 , typename G2 >
compose_binary< F, G1, G2 > cugar::compose (const F f, const G1 g1, const G2 g2)
 
template<typename Iterator >
gather_functor< Iterator > cugar::make_gather_functor (const Iterator perm)
 

Function Documentation

◆ compose() [1/2]

template<typename F1 , typename F2 >
composition_type<F1,F2,typename F1::function_tag,typename F2::function_tag>::type cugar::compose ( const F1  f1,
const F2  f2 
)

compose two functions

◆ compose() [2/2]

template<typename F , typename G1 , typename G2 >
compose_binary<F,G1,G2> cugar::compose ( const F  f,
const G1  g1,
const G2  g2 
)

compose a binary function after two unary ones