oln::image2d< T, Exact > Class Template Reference

#include <image2d.hh>

Inheritance diagram for oln::image2d< T, Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::image2d< T, Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef image2d< T, Exact > self_type
typedef image_id< image2d<
T, Exact > >::value_type 
value_type
typedef image_id< image2d<
T, Exact > >::exact_type 
exact_type
typedef image_id< image2d<
T, Exact > >::impl_type 
impl_type
typedef oln::image< image_id<
image2d< T, Exact > >::dim,
value_type, impl_type, exact_type > 
super_type

Public Member Functions

 image2d (coord nrows, coord ncols, coord border=2)
 Allocate memory to contain an image2d with ncols column and nrows rows plus a border width equal to 2 by default.

 image2d (const image2d_size &size)
 Allocate memory to contain an image2d with a size equal to size.

 image2d (self_type &rhs)
 Build a new image2d by performing a shallow copy of rhs, the points are not duplicated, but shared between rhs and the new image.

 image2d (const io::internal::anything &r)
 Perform a shallow copy from r to the new image, the points are not duplicated, but shared between the two images.

image2doperator= (const io::internal::anything &r)
 Perform a shallow copy from rhs to the current image, the points are ot duplicated, but shared between the two images.

exact_type & operator= (self_type rhs)
 Perform a shallow copy from r to the current image, the points are not duplicated but shared between the two images.

 image2d (const self_type &rhs)

Static Public Member Functions

std::string name ()

Protected Member Functions

exact_type clone_ () const
 Return a deep copy of the current image.


Friends

class abstract::image< exact_type >

Detailed Description

template<class T, class Exact>
class oln::image2d< T, Exact >

To instantiate an image2d with oln::rgb_8 as value_type, one can write:
oln::image2d<ntg::rgb_8> t = load("img.ppm");

Definition at line 89 of file image2d.hh.


Member Typedef Documentation

template<class T, class Exact>
typedef image_id<image2d<T, Exact> >::impl_type oln::image2d< T, Exact >::impl_type
 

Underlying implementation.

Reimplemented from oln::image< Dim, T, Impl, Exact >.

Definition at line 101 of file image2d.hh.

template<class T, class Exact>
typedef image_id<image2d<T, Exact> >::value_type oln::image2d< T, Exact >::value_type
 

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

Reimplemented from oln::image< Dim, T, Impl, Exact >.

Definition at line 99 of file image2d.hh.


Constructor & Destructor Documentation

template<class T, class Exact>
oln::image2d< T, Exact >::image2d self_type &  rhs  )  [inline]
 

Build a new image2d by performing a shallow copy of rhs, the points are not duplicated, but shared between rhs and the new image.

See also:
abstract::image::clone()

Definition at line 147 of file image2d.hh.

00147                             : // shallow copy
00148       super_type(rhs)
00149     {
00150       mlc_init_static_hierarchy(Exact);
00151     }

template<class T, class Exact>
oln::image2d< T, Exact >::image2d const io::internal::anything r  )  [inline]
 

Perform a shallow copy from r to the new image, the points are not duplicated, but shared between the two images.

See also:
abstract::image::clone()

Definition at line 161 of file image2d.hh.

00162       : super_type()
00163     {
00164       mlc_init_static_hierarchy(Exact);
00165       r.assign(*this);
00166     }


Member Function Documentation

template<class T, class Exact>
exact_type& oln::image2d< T, Exact >::operator= self_type  rhs  )  [inline]
 

Perform a shallow copy from r to the current image, the points are not duplicated but shared between the two images.

See also:
abstract::image::clone()

Reimplemented from oln::abstract::image_with_impl< Impl, Exact >.

Definition at line 189 of file image2d.hh.

00190     {
00191       return this->exact().assign(rhs.exact());
00192     }

template<class T, class Exact>
image2d& oln::image2d< T, Exact >::operator= const io::internal::anything r  )  [inline]
 

Perform a shallow copy from rhs to the current image, the points are ot duplicated, but shared between the two images.

See also:
abstract::image::clone()

Definition at line 176 of file image2d.hh.

00177     {
00178       return r.assign(*this);
00179     }


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