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_type & operator= (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

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_type & assign (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 ()
 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>::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< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 89 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< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 87 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::abstract::generic_morpher< SrcType, Exact >, oln::morpher::super_slicing_morpher< SrcType, Exact >, oln::morpher::subq_morpher< SrcType, N, Exact >, oln::image< image_id< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::image2d< T >, oln::image2d< unsigned >, oln::image2d< std::vector< oln::point2d > >, oln::morpher::super_color_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_color_morpher< const SrcType, image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_slicing_morpher< const SrcType, image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 100 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< const SrcType, IterType, Exact >, oln::image< image_id< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 81 of file image_with_impl.hh.

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::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, Exact >, oln::morpher::abstract::generic_morpher< SrcType, 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< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 75 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::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< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_piece_morpher< const SrcType, image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::super_piece_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_slicing_morpher< const SrcType, image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 95 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::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, Exact >, oln::morpher::abstract::generic_morpher< SrcType, 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< image2d< T, Exact > >::dim, image_id< image2d< T, Exact > >::value_type, image_id< image2d< T, Exact > >::impl_type, image_id< image2d< T, Exact > >::exact_type >, oln::image< image_id< image3d< T, Exact > >::dim, image_id< image3d< T, Exact > >::value_type, image_id< image3d< T, Exact > >::impl_type, image_id< image3d< T, Exact > >::exact_type >, oln::image< image_id< image2d< unsigned, Exact > >::dim, image_id< image2d< unsigned, Exact > >::value_type, image_id< image2d< unsigned, Exact > >::impl_type, image_id< image2d< unsigned, Exact > >::exact_type >, oln::image< image_id< image2d< std::vector< oln::point2d >, Exact > >::dim, image_id< image2d< std::vector< oln::point2d >, Exact > >::value_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::impl_type, image_id< image2d< std::vector< oln::point2d >, Exact > >::exact_type >, oln::image< image_id< image1d< T, Exact > >::dim, image_id< image1d< T, Exact > >::value_type, image_id< image1d< T, Exact > >::impl_type, image_id< image1d< T, Exact > >::exact_type >, oln::image2d< T >, oln::image2d< unsigned >, oln::image2d< std::vector< oln::point2d > >, oln::morpher::abstract::generic_morpher< const SrcType, image_id< iter_morpher< const SrcType, IterType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, oln::image_id< subq_morpher< SrcType, N, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< color_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< color_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< const , image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::abstract::generic_morpher< SrcType, image_id< iter_morpher< SrcType, IterType, Exact > >::exact_type >, and oln::morpher::abstract::generic_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 91 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 >::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< std::vector< oln::point2d > >::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       }

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[]()

Reimplemented in oln::morpher::color_morpher< SrcType, Exact >, oln::morpher::piece_morpher< SrcType, Exact >, and oln::morpher::slicing_morpher< SrcType, Exact >.

Definition at line 227 of file image_with_impl.hh.

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

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[]()

Reimplemented in oln::morpher::color_morpher< SrcType, Exact >, oln::morpher::color_morpher< const SrcType, 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 >, and oln::morpher::subq_morpher< SrcType, N, Exact >.

Definition at line 211 of file image_with_impl.hh.

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

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< T >, oln::image2d< unsigned >, and oln::image2d< std::vector< oln::point2d > >.

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_piece_morpher< SrcType, Exact >, oln::morpher::super_slicing_morpher< SrcType, Exact >, oln::morpher::super_piece_morpher< const SrcType, image_id< piece_morpher< const SrcType, Exact > >::exact_type >, oln::morpher::super_piece_morpher< SrcType, image_id< piece_morpher< SrcType, Exact > >::exact_type >, oln::morpher::super_slicing_morpher< const SrcType, image_id< slicing_morpher< const SrcType, Exact > >::exact_type >, and oln::morpher::super_slicing_morpher< SrcType, image_id< slicing_morpher< SrcType, Exact > >::exact_type >.

Definition at line 153 of file image_with_impl.hh.

Referenced by oln::topo::dmap< T, T2 >::compute(), and oln::topo::dmap< T, T2 >::to_image().

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


The documentation for this class was generated from the following file:
Generated on Thu Apr 15 20:14:56 2004 for Olena by doxygen 1.3.6-20040222