1#ifndef _RHEO_MSG_RIGHT_PERMUTATION_APPLY_H
2#define _RHEO_MSG_RIGHT_PERMUTATION_APPLY_H
53 class InputRandomIterator,
59 InputIterator last_perm,
60 const InputRandomIterator& x,
64 for (; perm != last_perm; y++, perm++) {
75template<
class OutputIterator,
class InputRandomIterator,
class Size>
77 void operator() (OutputIterator rhs,
const InputRandomIterator& lhs, Size i) {
83 class InputRandomIterator,
89 InputIterator last_perm,
90 const InputRandomIterator& x,
93 typedef typename std::iterator_traits<InputIterator>::value_type
size_type;
99template<
class OutputIterator,
class InputRandomIterator,
class Size>
100struct msg_right_permutation_set_pair {
101 typedef typename std::iterator_traits<OutputIterator>::value_type
T;
102 void operator() (OutputIterator rhs,
const InputRandomIterator& lhs, Size i) {
103 *rhs = std::pair<Size,T>(i,lhs [i]);
field::size_type size_type
This file is part of Rheolef.
OutputIterator msg_right_permutation_apply(InputIterator perm, InputIterator last_perm, const InputRandomIterator &x, OutputIterator y, SetOp set_op)
void operator()(OutputIterator rhs, const InputRandomIterator &lhs, Size i)