view_tools.h

Back to Array views

pastel/sys/view/

// Description: Algorithms for array views

#ifndef PASTELSYS_VIEW_TOOLS_H
#define PASTELSYS_VIEW_TOOLS_H

#include "pastel/sys/view/view.h"

namespace Pastel
{

    template <integer N, typename Type, typename Image_View>
    void clear(
        const NoDeduction<Type>& color,
        const View<N, Type, Image_View>& image);

    template <
        integer N,
        typename Input_Element,
        typename Input_ConstView,
        typename Output_Element,
        typename Output_View>
        void copy(
        const ConstView<N, Input_Element, Input_ConstView>& input,
        const View<N, Output_Element, Output_View>& output);

    template <
        integer N,
        typename Input_Element,
        typename Input_ConstView,
        typename Output_Element,
        typename Output_View,
        typename TransformFunctor>
        void transform(
        const ConstView<N, Input_Element, Input_ConstView>& input,
        const View<N, Output_Element, Output_View>& output,
        const TransformFunctor& transform);

    template <
        integer N,
        typename Output_Element,
        typename Output_View,
        typename TransformFunctor>
        void transform(
        const View<N, Output_Element, Output_View>& output,
        const TransformFunctor& transform);

}

#include "pastel/sys/view/view_tools.hpp"

#endif