oln::abstract::image_with_impl< Impl, Exact > Class Template Reference

#include <image_with_impl.hh>

Inheritance diagram for oln::abstract::image_with_impl< Impl, Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::abstract::image_with_impl< Impl, Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef image_traits< Exact
>::point_type 
point_type
typedef image_traits< Exact
>::iter_type 
iter_type
typedef image_traits< Exact
>::fwd_iter_type 
fwd_iter_type
typedef image_traits< Exact
>::bkd_iter_type 
bkd_iter_type
typedef image_traits< Exact
>::value_type 
value_type
typedef image_traits< Exact
>::size_type 
size_type
typedef image_traits< Exact
>::impl_type 
impl_type
typedef image_with_impl< Impl,
Exact > 
self_type
typedef Exact exact_type
typedef image_with_type_with_dim_switch<
Exact >::ret 
super_type

Public Member Functions

 image_with_impl (self_type &rhs)
exact_typeoperator= (self_type rhs)
 Perform a shallow copy from rhs to the current image, the points will not be duplicated but shared between the two images.
const impl_typeimpl () const
 Return the core data of the image.
const size_typesize () const
 Get the size of the image.
impl_typeimpl ()
 Return the core data of the image.
void clone_to (impl_type *output_data) const
 Create a copy of the current image data, at the output_data address.
void clear ()
 Free the image data.

Static Public Member Functions

static std::string name ()

Protected Member Functions

const value_type at (const point_type &p) const
 Return a reference to the value stored at p in the current image.
value_typeat (const point_type &p)
 Return the value stored at p in the current image.
exact_typeassign (exact_type rhs)
 Perform a shallow copy from rhs to the current image, the points will not be duplicated but shared between the two images.
 ~image_with_impl ()
 image_with_impl ()
 Empty constructor for image_with_impl, set impl_ to 0.
 image_with_impl (impl_type *impl)
 Assign impl to this->impl_.

Friends

class image< exact_type >
class image_with_dim< image_id< Exact >::dim, exact_type >
class image_with_type< typename image_id< Exact >::value_type, Exact >

Detailed Description

template<class Impl, class Exact>
class oln::abstract::image_with_impl< Impl, Exact >

This class contains all the implementation relative methods.

Definition at line 69 of file image_with_impl.hh.


Member Typedef Documentation

template<class Impl, class Exact>
typedef image_traits<Exact>::point_type oln::abstract::image_with_impl< Impl, Exact >::point_type

Prefer the macro oln_point_type(I) to retrieve the point_type of an image.

See also:
point

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::morpher::border_morpher< SrcType, BehaviorType, Exact >, oln::morpher::border_morpher< const SrcType, BehaviorType, Exact >, oln::morpher::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, Exact >, oln::morpher::func_morpher< SrcType, Ftor, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::morpher::iter_morpher< SrcType, IterType, Exact >, oln::morpher::iter_morpher< const SrcType, IterType, Exact >, oln::morpher::piece_morpher< SrcType, Exact >, oln::morpher::piece_morpher< const SrcType, Exact >, oln::morpher::slicing_morpher< SrcType, Exact >, oln::morpher::slicing_morpher< const SrcType, Exact >, oln::morpher::subq_morpher< SrcType, N, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 75 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::iter_type oln::abstract::image_with_impl< Impl, Exact >::iter_type

Prefer the macro oln_iter_type(I) to retrieve the iter_type of an image.

See also:
iter

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::morpher::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::morpher::iter_morpher< SrcType, IterType, Exact >, oln::morpher::iter_morpher< const SrcType, IterType, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 81 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::fwd_iter_type oln::abstract::image_with_impl< Impl, Exact >::fwd_iter_type

Forward iterator type.

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 87 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::bkd_iter_type oln::abstract::image_with_impl< Impl, Exact >::bkd_iter_type

Backward iterator type.

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 89 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::value_type oln::abstract::image_with_impl< Impl, Exact >::value_type

Prefer the macro oln_value_type(I) to retrieve the value_type of an image.

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::image1d< T, Exact >, oln::image2d< T, Exact >, oln::image3d< T, Exact >, oln::morpher::border_morpher< SrcType, BehaviorType, Exact >, oln::morpher::border_morpher< const SrcType, BehaviorType, Exact >, oln::morpher::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, Exact >, oln::morpher::func_morpher< SrcType, Ftor, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::morpher::iter_morpher< SrcType, IterType, Exact >, oln::morpher::iter_morpher< const SrcType, IterType, Exact >, oln::morpher::piece_morpher< SrcType, Exact >, oln::morpher::piece_morpher< const SrcType, Exact >, oln::morpher::slicing_morpher< SrcType, Exact >, oln::morpher::slicing_morpher< const SrcType, Exact >, oln::morpher::subq_morpher< SrcType, N, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::image2d< oln::lrde::ufmt::basic_najman::node >, oln::image2d< int >, oln::image2d< T >, oln::image2d< unsigned >, oln::image2d< bool >, oln::image2d< std::vector< oln::oln::point2d > >, oln::image2d< super::point >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 91 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::size_type oln::abstract::image_with_impl< Impl, Exact >::size_type

Indicate how the image size is handled.

See also:
image_size

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >, oln::morpher::border_morpher< SrcType, BehaviorType, Exact >, oln::morpher::border_morpher< const SrcType, BehaviorType, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::morpher::super_piece_morpher< SrcType, Exact >, oln::morpher::piece_morpher< SrcType, Exact >, oln::morpher::piece_morpher< const SrcType, Exact >, oln::morpher::super_slicing_morpher< SrcType, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::morpher::super_border_morpher< SrcType, BehaviorType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::super_piece_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 95 of file image_with_impl.hh.

template<class Impl, class Exact>
typedef image_traits<Exact>::impl_type oln::abstract::image_with_impl< Impl, Exact >::impl_type

Underlying implementation.

Reimplemented in oln::image< Dim, T, Impl, Exact >, oln::image1d< T, Exact >, oln::image2d< T, Exact >, oln::image3d< T, Exact >, oln::morpher::super_color_morpher< SrcType, Exact >, oln::morpher::func_morpher< SrcType, Ftor, Exact >, oln::morpher::abstract::generic_morpher< SrcType, Exact >, oln::morpher::super_slicing_morpher< SrcType, Exact >, oln::morpher::subq_morpher< SrcType, N, Exact >, oln::image< image_id< oln::image3d< T, Exact > >::dim, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::value_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::impl_type, image_id< oln::image3d< T, Exact > >::image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< super::point, Exact > >::dim, image_id< oln::image2d< super::point, Exact > >::value_type, image_id< oln::image2d< super::point, Exact > >::impl_type, image_id< oln::image2d< super::point, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::dim, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::value_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::impl_type, image_id< oln::image2d< oln::lrde::ufmt::basic_najman::node, Exact > >::exact_type >, oln::image< image_id< oln::image2d< T, Exact > >::dim, image_id< oln::image2d< T, Exact > >::value_type, image_id< oln::image2d< T, Exact > >::impl_type, image_id< oln::image2d< T, Exact > >::exact_type >, oln::image< image_id< oln::image1d< T, Exact > >::dim, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::value_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::impl_type, image_id< oln::image1d< T, Exact > >::image_id< image1d< T, Exact > >::exact_type >, oln::image< image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::dim, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::value_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::impl_type, image_id< oln::image2d< std::vector< oln::oln::oln::point2d >, Exact > >::exact_type >, oln::image< image_id< oln::image2d< unsigned, Exact > >::dim, image_id< oln::image2d< unsigned, Exact > >::value_type, image_id< oln::image2d< unsigned, Exact > >::impl_type, image_id< oln::image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< oln::image2d< int, Exact > >::dim, image_id< oln::image2d< int, Exact > >::value_type, image_id< oln::image2d< int, Exact > >::impl_type, image_id< oln::image2d< int, Exact > >::exact_type >, oln::image< image_id< oln::image2d< bool, Exact > >::dim, image_id< oln::image2d< bool, Exact > >::value_type, image_id< oln::image2d< bool, Exact > >::impl_type, image_id< oln::image2d< bool, Exact > >::exact_type >, oln::image2d< oln::lrde::ufmt::basic_najman::node >, oln::image2d< int >, oln::image2d< T >, oln::image2d< unsigned >, oln::image2d< bool >, oln::image2d< std::vector< oln::oln::point2d > >, oln::image2d< super::point >, oln::morpher::super_color_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_color_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::func_morpher< SrcType, Ftor, Exact > >::oln::image_id< func_morpher< SrcType, Ftor, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::iter_morpher< SrcType, IterType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< oln::morpher::subq_morpher< SrcType, N, Exact > >::oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::color_morpher< SrcType, Exact > >::image_id< oln::morpher::color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 100 of file image_with_impl.hh.


Constructor & Destructor Documentation

template<class Impl, class Exact>
oln::abstract::image_with_impl< Impl, Exact >::image_with_impl ( self_type rhs  )  [inline]

/brief Construct a new image by performing a shallow copy, the points will not be duplicated but shared between rhs and the current image.

See also:
image::clone()

Definition at line 119 of file image_with_impl.hh.

00120         : super_type(rhs)
00121       {
00122         assertion(rhs.has_impl());
00123         impl_ = rhs.impl();
00124         impl_->ref();
00125       }


Member Function Documentation

template<class Impl, class Exact>
exact_type& oln::abstract::image_with_impl< Impl, Exact >::operator= ( self_type  rhs  )  [inline]

Perform a shallow copy from rhs to the current image, the points will not be duplicated but shared between the two images.

See also:
image::clone()

Reimplemented in oln::image1d< T, Exact >, oln::image2d< T, Exact >, oln::image3d< T, Exact >, oln::image2d< oln::lrde::ufmt::basic_najman::node >, oln::image2d< int >, oln::image2d< T >, oln::image2d< unsigned >, oln::image2d< bool >, oln::image2d< std::vector< oln::oln::point2d > >, and oln::image2d< super::point >.

Definition at line 135 of file image_with_impl.hh.

00136       {
00137         return this->exact().assign(rhs.exact());
00138       }

template<class Impl, class Exact>
const size_type& oln::abstract::image_with_impl< Impl, Exact >::size (  )  const [inline]

Get the size of the image.

Returns:
The size.

Reimplemented in oln::morpher::super_border_morpher< SrcType, BehaviorType, Exact >, oln::morpher::super_piece_morpher< SrcType, Exact >, oln::morpher::super_slicing_morpher< SrcType, Exact >, oln::morpher::super_border_morpher< SrcType, BehaviorType, image_id< oln::morpher::border_morpher< SrcType, BehaviorType, Exact > >::image_id< self_type >::exact_type >, oln::morpher::super_piece_morpher< SrcType, image_id< oln::morpher::piece_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< oln::morpher::slicing_morpher< SrcType, Exact > >::image_id< self_type >::exact_type >.

Definition at line 153 of file image_with_impl.hh.

Referenced by oln::topo::dmap< T, T2 >::compute(), oln::geom::translate< T, F, Exact >::operator()(), oln::geom::rotate_enlarge< T, Access >::operator()(), oln::geom::ftor_rotate_enlarge< T, Access >::operator()(), oln::geom::rotate< T, Access >::operator()(), oln::geom::ftor_rotate< T, Access >::operator()(), and oln::topo::dmap< T, T2 >::to_image().

00154       {
00155         assertion(this->has_impl());
00156         return this->exact().impl()->size();
00157       }

template<class Impl, class Exact>
const value_type oln::abstract::image_with_impl< Impl, Exact >::at ( const point_type p  )  const [inline, protected]

Return a reference to the value stored at p in the current image.

Warning:
This method must not be overloaded, unlike operator[].
See also:
image::operator[]()

Definition at line 211 of file image_with_impl.hh.

00212       {
00213         return impl_->at(p);
00214       }

template<class Impl, class Exact>
value_type& oln::abstract::image_with_impl< Impl, Exact >::at ( const point_type p  )  [inline, protected]

Return the value stored at p in the current image.

Warning:
This method must not be overloaded, unlike operator[].
See also:
image::operator[]()

Definition at line 227 of file image_with_impl.hh.

00228       {
00229         return impl_->at(p);
00230       }

template<class Impl, class Exact>
exact_type& oln::abstract::image_with_impl< Impl, Exact >::assign ( exact_type  rhs  )  [inline, protected]

Perform a shallow copy from rhs to the current image, the points will not be duplicated but shared between the two images.

See also:
image::clone()

Definition at line 240 of file image_with_impl.hh.

Referenced by oln::image3d< T, Exact >::operator=(), and oln::image2d< super::point >::operator=().

00241       {
00242         assertion(rhs.impl() != 0);
00243         if ( &rhs == this )
00244           return this->exact();
00245         if (this->impl() != 0)
00246           this->impl()->unref();
00247         this->impl_ = rhs.impl();
00248         this->impl()->ref();
00249         return this->exact();
00250       }


The documentation for this class was generated from the following file:
Generated on Tue Feb 20 20:25:07 2007 for Olena by  doxygen 1.5.1