CVB++ 15.0
decl_visit.hpp
1#pragma once
2
3namespace Cvb
4{
5 CVB_BEGIN_INLINE_NS
6
7 class PointCloud;
8 class Plane;
9 class ImagePlane;
10
375
396 template <class VISITOR>
397 auto Visit(VISITOR &&visitor, const PointCloud &cloud);
398
425 template <class T, class VISITOR>
426 auto VisitAs(VISITOR &&visitor, const PointCloud &cloud);
427
428 template <template <class...> class T, class VISITOR>
429 auto VisitAs(VISITOR &&visitor, const PointCloud &cloud);
430
431#ifdef CVB_DOXYGEN
461 template <class VISITOR, class... PLNS>
462 auto Visit(VISITOR &&visitor, const Plane &plane, const PLNS &...planes);
463
490 template <class T, class VISITOR, class... PLNS>
491 auto VisitAs(VISITOR &&visitor, const Plane &plane, const PLNS &...planes);
492
493 template <template <class...> class T, class VISITOR, class... PLNS>
494 auto VisitAs(VISITOR &&visitor, const Plane &plane, const PLNS &...planes);
495
516 template <class VISITOR, class... PLANEARGS>
517 auto Visit(VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes);
518
542 template <class PIXEL_TYPE, class VISITOR, class... PLANEARGS>
543 auto VisitAs(VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes);
544
545 template <template <class...> class PIXEL_TYPE, class VISITOR, class... PLANEARGS>
546 auto VisitAs(VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes);
547#endif
548
579 template <class VISITOR, class PLANE_T, class... PLANEARGS,
580 std::enable_if_t<std::is_same<typename PlaneTraits<PLANE_T>::PlaneT, PLANE_T>::value, int> = 0>
581 auto Visit(VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes);
582
612 template <class T, class VISITOR, class PLANE_T, class... PLANEARGS,
613 std::enable_if_t<std::is_same<typename PlaneTraits<PLANE_T>::PlaneT, PLANE_T>::value, int> = 0>
614 auto VisitAs(VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes);
615
616 template <template <class...> class T, class VISITOR, class PLANE_T, class... PLANEARGS,
617 std::enable_if_t<std::is_same<typename PlaneTraits<PLANE_T>::PlaneT, PLANE_T>::value, int> = 0>
618 auto VisitAs(VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes);
619
620 CVB_END_INLINE_NS
621} // namespace Cvb
auto VisitAs(VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes)
Creates Cvb::Blocks based on the planes objects' access traits and PIXEL_TYPE and calls the given vis...
auto Visit(VISITOR &&visitor, const ImagePlane &plane, const PLANEARGS &...planes)
Creates Cvb::Blocks based on the planes objects' access traits and pixel type, and calls the given vi...
auto Visit(VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &...planes)
Creates a Cvb::Block based on the plane and planes objects' access traits and pixel type and calls th...
auto Visit(VISITOR &&visitor, const Plane &plane, const PLNS &...planes)
Creates a Cvb::Block based on the plane and planes objects' access traits and pixel type and calls th...
auto VisitAs(VISITOR &&visitor, const PointCloud &cloud)
Creates a Cvb::Block based on the cloud object's access trait and given pixel type T and calls the gi...
Definition detail_visit.hpp:913
auto VisitAs(VISITOR &&visitor, const Plane &plane, const PLNS &...planes)
Creates a Cvb::Block based on the plane and planes objects' access traits and given pixel type T and ...
Image plane information container.
Definition decl_image_plane.hpp:29
Plane information container.
Definition decl_plane.hpp:25
A point cloud object.
Definition decl_point_cloud.hpp:62
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17