Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page # 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)