static_for_each
[Algorithms and Utility Functions]


Detailed Description

Equivalent to std::for_each. Pairs the elements semantically.

Example: Use static_for_each to increment a planar pixel iterator

struct increment { 
    template <typename Incrementable> 
    void operator()(Incrementable& x) const { ++x; } 
};

template <typename ColorBase>
void increment_elements(ColorBase& cb) {
    static_for_each(cb, increment());
}

bits8 red[2], green[2], blue[2];
rgb8c_planar_ptr_t p1(red,green,blue);
rgb8c_planar_ptr_t p2=p1;
increment_elements(p1);
++p2;
assert(p1 == p2);


Functions

template<typename P1, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, Op op)
template<typename P1, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, Op op)
template<typename P1, typename P2, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, P2 &p2, Op op)
template<typename P1, typename P2, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, const P2 &p2, Op op)
template<typename P1, typename P2, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, P2 &p2, Op op)
template<typename P1, typename P2, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, const P2 &p2, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, P2 &p2, P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, P2 &p2, const P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, const P2 &p2, P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (P1 &p1, const P2 &p2, const P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, P2 &p2, P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, P2 &p2, const P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, const P2 &p2, P3 &p3, Op op)
template<typename P1, typename P2, typename P3, typename Op>
GIL_FORCEINLINE Op static_for_each (const P1 &p1, const P2 &p2, const P3 &p3, Op op)

Generated on Sat May 2 13:50:17 2009 for Generic Image Library by  doxygen 1.5.6