![]() |
![]() ![]() ![]() ![]() |
![]() |
fused_function_objectBoost , Chapter 1. Fusion 2.2 , Adapters
|
||||||||||||||||||||
|
Параметр |
Описание |
По умолчанию |
|---|---|---|
|
Notation
RrОбъект, конвертируемый в R
sПоследовательность аргументов, принятых r
fПример fused<R>
|
Выражение |
Семантика |
|---|---|
|
Создает слитую функцию, как описано выше, инициализирует целевую функцию с |
|
Создает слитую функцию, как описано выше, пытается использовать конструктор по умолчанию |
|
Звонки |
template<class SeqOfSeqs, class Func> typenameresult_of::transform< zip_view<SeqOfSeqs> const, fused_function_object<Func const &> >::type n_ary_transform(SeqOfSeqs const & s, Func const & f) { returntransform(zip_view<SeqOfSeqs>(s), fused_function_object<Func const &>(f)); } struct sub { template <typename Sig> struct result; template <class Self, typename T> struct result< Self(T,T) > { typedef typename remove_reference<T>::type type; }; template<typename T> T operator()(T lhs, T rhs) const { return lhs - rhs; } }; void try_it() {vector<int,float> a(2,2.0f);vector<int,float> b(1,1.5f);vector<int,float> c(1,0.5f); assert(c == n_ary_transform(vector_tie(a,b), sub())); }
Статья fused_function_object раздела Chapter 1. Fusion 2.2 Adapters может быть полезна для разработчиков на c++ и boost.
реклама |