Equivalent to std::transform.
More...
Functions |
| template<typename Src , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (Src &src, Dst &dst, Op op) |
| template<typename Src , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (const Src &src, Dst &dst, Op op) |
| template<typename P2 , typename P3 , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (P2 &p2, P3 &p3, Dst &dst, Op op) |
| template<typename P2 , typename P3 , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (P2 &p2, const P3 &p3, Dst &dst, Op op) |
| template<typename P2 , typename P3 , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (const P2 &p2, P3 &p3, Dst &dst, Op op) |
| template<typename P2 , typename P3 , typename Dst , typename Op > |
| PSYNTH_FORCEINLINE Op | psynth::sound::static_transform (const P2 &p2, const P3 &p3, Dst &dst, Op op) |
Detailed Description
Equivalent to std::transform.
Pairs the elements semanticall
Example: Write a generic function that adds two frames into a homogeneous result frame.
template <typename Result>
struct my_plus {
template <typename T1, typename T2>
Result operator()(T1 f1, T2 f2) const { return f1+f2; }
};
template <typename Frame1, typename Frame2, typename Frame3>
void sum_samples(const Frame1& p1, const Frame2& p2, Frame3& result) {
typedef typename sample_type<Frame3>::type result_sample_t;
static_transform(p1,p2,result,my_plus<result_sample_t>());
}
rgb8_frame_t p1(1,2,3);
bgr8_frame_t p2(3,2,1);
rgb8_frame_t result;
sum_samples(p1,p2,result);
assert(result == rgb8_frame_t(2,4,6));
Function Documentation
template<typename Src , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
Src & |
src, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |
template<typename P2 , typename P3 , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
const P2 & |
p2, |
|
|
const P3 & |
p3, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |
template<typename P2 , typename P3 , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
const P2 & |
p2, |
|
|
P3 & |
p3, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |
template<typename P2 , typename P3 , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
P2 & |
p2, |
|
|
const P3 & |
p3, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |
template<typename P2 , typename P3 , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
P2 & |
p2, |
|
|
P3 & |
p3, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |
template<typename Src , typename Dst , typename Op >
| PSYNTH_FORCEINLINE Op psynth::sound::static_transform |
( |
const Src & |
src, |
|
|
Dst & |
dst, |
|
|
Op |
op |
|
) |
| |