View concepts (details)¶
Table of Contents
View¶
-
template<typename
Vw>
conceptView¶ - Refines the
template <typename Ima> Imageconcept. - Is basicaly an alias.
Possible implementation
template <typename V, Vw = remove_cvref<V>> concept View = Image<Vw>;
- Refines the
WritableView¶
-
template<typename
WView>
conceptWritableView¶ - Refines the
template <typename V> Viewconcept. - Refines the
template <typename Ima> WritableImageconcept.
Possible implementation
template <typename WV, WView = remove_cvref<WV>> concept WritableView = View<WView> && WritableImage<WView>;
- Refines the
FilterView¶
-
template<typename
FView, typenamePred>
conceptFilterView¶ - Refines the
template <typename V> Viewconcept. Predmodels thetemplate <typename F, typename... Args> Predicateconcept.
Notation
-
const_pixel_type
cpix¶
Valid Expressions
Possible implementation
template <typename FV, typename Pred, FView = remove_cvref<FV>> concept FilterView = View<FView> && Predicate<Pred, FView::const_pixel_type>;
- Refines the
WritableFilterView¶
-
template<typename
WFView, typenamePred>
conceptWritableFilterView¶ - Refines the
template <typename WV> WritableViewconcept. - Refines the
template <typename FView, typename Pred> FilterViewconcept. Predmodels thetemplate <typename F, typename... Args> Predicateconcept.
Notation
-
pixel_type
pix¶
Valid Expressions
Possible implementation
template <typename WFV, typename Pred, WFView = remove_cvref<WFV>> concept WritableFilterView = WritableView<WFView> && FilterView<WFView, Pred> && Predicate<Pred, WFView::pixel_type>;
- Refines the
TransformView¶
-
template<typename
TView, typenameFunc>
conceptTransformView¶ - Refines the
template <typename V> Viewconcept. Funcmodels thetemplate <typename R, typename F, typename... Args> InvocableRconcept.
Notation
-
using
const_pixel_type= PView::const_pixel_type¶
-
const_pixel_type
cpix¶
Valid Expressions
func(cpix)return-type models thetemplate <typename ToPix, typename FromPix> TransformedPixelconcept with ToPix = decltype(func(cpix)) and FromPix = TView::const_pixel_type.
Possible implementation
template <typename TV, typename Func, TView = remove_cvref<TV>> concept TransformView = View<TView> && Invocable<Func, TView::const_pixel_type> && TransformedPixel< invoke_result_t<Func, TView::const_pixel_type>, TView::const_pixel_type>;
- Refines the
WritableTransformView¶
-
template<typename
WTView, typenameFunc, typenameFuncInverse>
conceptWritableTransformView¶ - Refines the
template <typename TView, typename Func> TransformViewconcept. Funcmodels thetemplate <typename R, typename F, typename... Args> InvocableRconcept.FuncInversemodels thetemplate <typename R, typename F, typename... Args> InvocableRconcept whereRmodels thetemplate <typename Pix> Pixelconcept.
Notation
-
FuncInverse
func_inverse¶
-
pixel_type
pix¶
Valid Expressions
func(pix)return-type models thetemplate <typename ToPix, typename FromPix> TransformedPixelconcept with ToPix = decltype(func(pix)) and FromPix = WTView::pixel_type.func_inverse(func(pix))return-type modelstemplate <typename Pix> Pixeland is the same aspixel_type.
Possible implementation
template <typename WTV, typename Func, typename FuncInverse, WTView = remove_cvref<WTV>> concept WritableTransformView = View<WTView> && TransformView<WTView> && Invocable<Func, WTView::pixel_type> && TransformedPixel< invoke_result_t<Func, WTView::pixel_type>, WTView::pixel_type> && Invocable<FuncInverse, invoke_result_t<Func, WTView::pixel_type> && Pixel< invoke_result_t<FuncInverse, invoke_result_t<Func, WTView::pixel_type>> && Same< WTView::pixel_type invoke_result_t<FuncInverse, invoke_result_t<Func, WTView::pixel_type>>;
- Refines the
ProjectorView¶
-
template<typename
PView, typenameProj>
conceptProjectorView¶ - Refines the
template <typename V> Viewconcept. Projmodels thetemplate <typename R, typename F, typename... Args> InvocableRconcept.
Notation
-
const_pixel_type
cpix¶
Valid Expressions
proj(cpix)return-type models thetemplate <typename ToPix, typename FromPix> ProjectedPixelconcept with ToPix = decltype(proj(cpix)) and FromPix = PView::const_pixel_type.
Possible implementation
template <typename PV, typename Proj, PView = remove_cvref<PV>> concept ProjectorView = View<PView> && Invocable<Proj, PView::const_pixel_type> && ProjectedPixel< invoke_result_t<Proj, PView::const_pixel_type>, PView::const_pixel_type>;
- Refines the
WritableProjectorView¶
-
template<typename
WPView, typenameProj>
conceptWritableProjectorView¶ - Refines the
template <typename WV> WritableViewconcept. - Refines the
template <typename PView, typename Proj> ProjectorViewconcept. Projmodels thetemplate <typename R, typename F, typename... Args> InvocableRconcept.
Notation
-
pixel_type
pix¶
Valid Expressions
proj(pix)return-type models thetemplate <typename ToPix, typename FromPix> ProjectedPixelconcept with ToPix = decltype(proj(pix)) and FromPix = WPView::pixel_type.
Possible implementation
template <typename WPV, typename Proj, WPView = remove_cvref<WPV>> concept WritableProjectorView = WritableView<WPView> && ProjectorView<WPView, Proj> && Invocable<Proj, WPView::pixel_type> && ProjectedPixel< invoke_result_t<Proj, WPView::pixel_type>, WPView::pixel_type>;
- Refines the
ZipView¶
-
template<typename
ZView, typename ...FromViews>
conceptZipView¶ - Refines the
template <typename V> Viewconcept.
Notation
-
const_pixel_type
cpix¶
Valid Expressions
cpixmodels thetemplate <typename ZPix, typename... FromPixs> ZippedPixelconcept with ZPix = ZView::const_pixel_type and FromPixs... = FromViews::const_pixel_type....
Possible implementation
template < typename Z, typename... FromViews, ZView = remove_cvref<ZV>> concept ZipView = View<ZView> && View<FromViews>... && ZippedPixel<ZView::const_pixel_type, FromViews::const_pixel_type...>;
- Refines the
WritableZipView¶
-
template<typename
WZView, typename ...FromViews>
conceptWritableZipView¶ - Refines the
template <typename WV> WritableViewconcept. - Refines the
template <typename ZView, typename... FromViews> ZipViewconcept.
Notation
-
pixel_type
pix¶
Valid Expressions
pixmodels thetemplate <typename ZPix, typename... FromPixs> ZippedPixelconcept with ZPix = WZView::pixel_type and FromPixs... = FromViews::const_pixel_type....
Possible implementation
template < typename WZ, typename... FromViews, WZView = remove_cvref<WZV>> concept WritableZipView = WritableView<WZView> && ZipView<WZView> && View<FromViews>... && ZippedPixel<WZView::pixel_type, FromViews::pixel_type...>;
- Refines the