View concepts

View

Let Vw be a type that models View (details).

Then Vw also models Image.

Types

Let Vw inherit all types defined for Image.

Expressions

Let Vw inherit all valid expressions defined for Image.

WritableView

Let WVw be a type that models WritableView (details).

Then WVw also models View and WritableImage.

Types

Let WVw inherit all types defined for View.

Let WVw inherit all types defined for WritableImage.

Expressions

Let WVw inherit all valid expressions defined for View.

Let WVw inherit all valid expressions defined for WritableImage.

FilterView

Let (FVw, Pred) be a couple of types that models FilterView (details).

Then FVw also models View.

Then Pred also models Predicate (fundamentals).

Types

Let FVw inherit all types defined for View.

Expressions

Let FVw inherit all valid expressions defined for View.

Let :
  • pred be an instance of Pred.
  • cpix be an instance of FVw::const_pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
pred(cpix) bool none none Apply pred on cpix

WritableFilterView

Let (WFVw, Pred) be a couple of types that models WritableFilterView (details).

Then WFVw also models FilterView and WritableView.

Then Pred also models Predicate (fundamentals).

Types

Let WFVw inherit all types defined for FilterView.

Let WFVw inherit all types defined for WritableView.

Expressions

Let WFVw inherit all valid expressions defined for FilterView.

Let WFVw inherit all valid expressions defined for WritableView.

Let :
  • pred be an instance of Pred.
  • pix be an instance of WFVw::pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
pred(pix) bool none none Apply pred on pix

TransformView

Let (TVw, Func) be a couple of types that models TransformView (details).

Then TVw also models View.

Then Func also models Invocable (fundamentals).

Types

Let TVw inherit all types defined for View.

Expressions

Let TVw inherit all valid expressions defined for View.

Let :
  • func be an instance of Func.
  • cpix be an instance of TVw::const_pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
func(cpix) /* Implementation defined */ none none Return type models TransformedPixel

WritableTransformView

Let (WTVw, Func, FuncInverse) be a triplet of types that models WritableTransformView (details).

Then (WTVw, Func) also models TransformView.

Then WTVw also models WritableView.

Then FuncInverse also models Invocable (fundamentals).

Types

Let (WTVw, Func) inherit all types defined for TransformView.

Let WTVw inherit all types defined for WritableView.

Expressions

Let (WTVw, Func) inherit all valid expressions defined for TransformView.

Let WTVw inherit all valid expressions defined for WritableView.

Let :
  • func be an instance of Func.
  • func_inverse be an instance of FuncInverse.
  • pix be an instance of WTVw::pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
func(pix) /* Implementation defined */ none none Return type models TransformedPixel
func_inverse(func(pix)) WTVw::pixel_type none none Return type models Pixel

ProjectorView

Let (PVw, Proj) be a couple of types that models ProjectorView (details).

Then PVw also models View.

Then Proj also models Invocable (fundamentals).

Types

Let PVw inherit all types defined for View.

Expressions

Let PVw inherit all valid expressions defined for View.

Let :
  • proj be an instance of Proj.
  • cpix be an instance of PVw::const_pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
proj(cpix) /* Implementation defined */ none none Return type models ProjectedPixel

WritableProjectorView

Let (WPVw, Proj) be a triplet of types that models WritableProjectorView (details).

Then (WPVw, Proj) also models ProjectorView.

Then WPVw also models WritableView.

Types

Let (WPVw, Proj) inherit all types defined for ProjectorView.

Let WPVw inherit all types defined for WritableView.

Expressions

Let (WPVw, Proj) inherit all valid expressions defined for ProjectorView.

Let WPVw inherit all valid expressions defined for WritableView.

Let :
  • proj be an instance of Proj.
  • pix be an instance of WPVw::pixel_type.

Then we have the following valid expressions :

Expression Return type Pre-condition Post-condition Description
proj(pix) /* implementaion defined */ none none Return type models ProjectedPixel

ZipView

Let (ZVw, FromVws...) be a couple of types that models ProjectorView (details).

Then ZVw also models View.

Then FromVws... also model View.

Types

Let ZVw inherit all types defined for View.

Then we can define :

Expressions

Let ZVw inherit all valid expressions defined for View.

WritableZipView

Let (WZVw, FromVws...) be a triplet of types that models WritableZipView (details).

Then (WZVw, FromVws...) also models ZipView.

Then WZVw also models WritableView.

Types

Let (WZVw, FromVws...) inherit all types defined for ZipView.

Let WZVw inherit all types defined for WritableView.

Then we can define :

Expressions

Let (WZVw, FromVws...) inherit all valid expressions defined for ZipView.

Let WZVw inherit all valid expressions defined for WritableView.