Public Types | Public Member Functions | Protected Attributes

mln::value::graylevel< n > Struct Template Reference

General gray-level class on n bits. More...

#include <graylevel.hh>

Inheritance diagram for mln::value::graylevel< n >:
Inheritance graph

List of all members.

Public Types

typedef Integer< void > category
typedef C enc
 Encoding associated type.
typedef V equiv
 Equivalent associated type.
typedef graylevel< n > exact_t
typedef N interop
 Interoperation associated type.

Public Member Functions

 graylevel ()
 Constructor without argument.
 graylevel (const graylevel< n > &rhs)
 Copy constructor.
 graylevel (int val)
 Constructor from int.
template<unsigned m>
 graylevel (const graylevel< m > &rhs)
 Constructor from any graylevel.
C & handle_ ()
graylevel< n > & operator= (const graylevel< n > &rhs)
 Assigment.
graylevel< n > & operator= (int val)
 Assigment with int.
template<unsigned m>
graylevel< n > & operator= (const graylevel< m > &rhs)
 Assigment with any graylevel.
const C & to_enc () const
 Explicit conversion towards encoding type.
to_equiv () const
 Explicit conversion towards equivalent type.
float to_float () const
 Conversion to float between 0 and 1.
to_interop () const
 Explicit conversion towards interoperation type.
unsigned value () const
 Access to std type.

 graylevel (const mln::literal::black_t &)
 Ctors with literals.
 graylevel (const mln::literal::medium_gray_t &)
 graylevel (const mln::literal::white_t &)

graylevel< n > & operator= (const mln::literal::black_t &)
 Assigment with literals.
graylevel< n > & operator= (const mln::literal::medium_gray_t &)
graylevel< n > & operator= (const mln::literal::white_t &)

Protected Attributes

enc v_

Detailed Description

template<unsigned n>
struct mln::value::graylevel< n >

General gray-level class on n bits.

Definition at line 257 of file graylevel.hh.


Member Typedef Documentation

typedef Integer<void> mln::value::Integer< graylevel< n > >::category [inherited]

Reimplemented from mln::value::Scalar< graylevel< n > >.

Definition at line 60 of file concept/integer.hh.

template<typename V, typename C, typename N, typename E>
typedef C mln::value::internal::value_like_< V, C, N, E >::enc [inherited]

Encoding associated type.

Reimplemented in mln::value::internal::gray_< n >, and mln::value::label< n >.

Definition at line 60 of file value_like.hh.

template<typename V, typename C, typename N, typename E>
typedef V mln::value::internal::value_like_< V, C, N, E >::equiv [inherited]

Equivalent associated type.

Reimplemented in mln::value::internal::gray_< n >.

Definition at line 57 of file value_like.hh.

typedef graylevel< n > mln::Object< graylevel< n > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename V, typename C, typename N, typename E>
typedef N mln::value::internal::value_like_< V, C, N, E >::interop [inherited]

Interoperation associated type.

Definition at line 63 of file value_like.hh.


Constructor & Destructor Documentation

template<unsigned n>
mln::value::graylevel< n >::graylevel (  )  [inline]

Constructor without argument.

Definition at line 436 of file graylevel.hh.

template<unsigned n>
mln::value::graylevel< n >::graylevel ( const graylevel< n > &  rhs  )  [inline]

Copy constructor.

Definition at line 463 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
mln::value::graylevel< n >::graylevel ( int  val  )  [inline]

Constructor from int.

Definition at line 443 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
template<unsigned m>
mln::value::graylevel< n >::graylevel ( const graylevel< m > &  rhs  )  [inline]

Constructor from any graylevel.

Definition at line 481 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_, and mln::value::graylevel< n >::value().

template<unsigned n>
mln::value::graylevel< n >::graylevel ( const mln::literal::black_t  )  [inline]

Ctors with literals.

Definition at line 499 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
mln::value::graylevel< n >::graylevel ( const mln::literal::medium_gray_t  )  [inline]

Definition at line 515 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
mln::value::graylevel< n >::graylevel ( const mln::literal::white_t  )  [inline]

Definition at line 532 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.


Member Function Documentation

template<typename V, typename C, typename N, typename E>
C& mln::value::internal::value_like_< V, C, N, E >::handle_ (  )  [inline, inherited]

Definition at line 76 of file value_like.hh.

Referenced by mln::value::operator>>().

template<unsigned n>
graylevel< n > & mln::value::graylevel< n >::operator= ( const mln::literal::white_t  )  [inline]

Definition at line 540 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
graylevel< n > & mln::value::graylevel< n >::operator= ( int  val  )  [inline]

Assigment with int.

Definition at line 453 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
graylevel< n > & mln::value::graylevel< n >::operator= ( const mln::literal::black_t  )  [inline]

Assigment with literals.

Definition at line 507 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
graylevel< n > & mln::value::graylevel< n >::operator= ( const mln::literal::medium_gray_t  )  [inline]

Definition at line 523 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
graylevel< n > & mln::value::graylevel< n >::operator= ( const graylevel< n > &  rhs  )  [inline]

Assigment.

Definition at line 472 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

template<unsigned n>
template<unsigned m>
graylevel< n > & mln::value::graylevel< n >::operator= ( const graylevel< m > &  rhs  )  [inline]

Assigment with any graylevel.

Definition at line 490 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_, and mln::value::graylevel< n >::value().

template<typename V , typename C , typename N , typename E >
const C & mln::value::internal::value_like_< V, C, N, E >::to_enc (  )  const [inline, inherited]
template<typename V , typename C , typename N , typename E >
V mln::value::internal::value_like_< V, C, N, E >::to_equiv (  )  const [inline, inherited]

Explicit conversion towards equivalent type.

Definition at line 102 of file value_like.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

Referenced by mln::convert::over_load::from_to_().

template<unsigned n>
float mln::value::graylevel< n >::to_float (  )  const [inline]

Conversion to float between 0 and 1.

Definition at line 557 of file graylevel.hh.

References mln::value::internal::value_like_< V, C, N, E >::v_.

Referenced by mln::value::graylevel_f::graylevel_f(), and mln::value::graylevel_f::operator=().

template<typename V , typename C , typename N , typename E >
N mln::value::internal::value_like_< V, C, N, E >::to_interop (  )  const [inline, inherited]
template<unsigned n>
unsigned mln::value::graylevel< n >::value (  )  const [inline]

Member Data Documentation

template<typename V, typename C, typename N, typename E>
enc mln::value::internal::value_like_< V, C, N, E >::v_ [protected, inherited]

Definition at line 79 of file value_like.hh.

Referenced by mln::value::qt::rgb32::blue(), mln::value::rgb< n >::blue(), mln::value::qt::rgb32::comp(), mln::value::rgb< n >::comp(), mln::value::float01_< n >::float01_(), mln::value::float01_f::float01_f(), mln::value::internal::gray_< n >::gray_(), mln::value::internal::gray_f::gray_f(), mln::value::graylevel< n >::graylevel(), mln::value::graylevel_f::graylevel_f(), mln::value::qt::rgb32::green(), mln::value::rgb< n >::green(), mln::value::internal::value_like_< int, int, gray_< n >, gray_< n > >::handle_(), mln::value::int_s< n >::int_s(), mln::value::int_u< n >::int_u(), mln::value::int_u_sat< n >::int_u_sat(), mln::algebra::quat::inv(), mln::algebra::quat::is_null(), mln::algebra::quat::is_pure(), mln::algebra::quat::is_unit(), mln::value::label< n >::label(), mln::value::label< n >::next(), mln::value::int_u< n >::next(), mln::value::qt::rgb32::operator algebra::vec< 3, float >(), mln::value::rgb< n >::operator algebra::vec< 3, float >(), mln::value::qt::rgb32::operator algebra::vec< 3, int >(), mln::value::rgb< n >::operator algebra::vec< 3, int >(), mln::algebra::quat::operator const algebra::vec< 4, float > &(), mln::value::float01_f::operator float(), mln::value::float01_< n >::operator float(), mln::value::internal::gray_f::operator gray_< m >(), mln::value::internal::gray_< n >::operator gray_< m >(), mln::value::internal::gray_f::operator graylevel< m >(), mln::value::internal::gray_< n >::operator graylevel< m >(), mln::value::internal::gray_f::operator graylevel_f(), mln::value::internal::gray_< n >::operator graylevel_f(), mln::value::int_u_sat< n >::operator int(), mln::value::int_u< n >::operator unsigned(), mln::value::label< n >::operator++(), mln::value::int_u_sat< n >::operator+=(), mln::value::int_u< n >::operator-(), mln::value::label< n >::operator--(), mln::value::int_u_sat< n >::operator-=(), mln::value::qt::rgb32::operator=(), mln::value::rgb< n >::operator=(), mln::algebra::quat::operator=(), mln::value::label< n >::operator=(), mln::value::int_u_sat< n >::operator=(), mln::value::int_u< n >::operator=(), mln::value::int_s< n >::operator=(), mln::value::graylevel_f::operator=(), mln::value::graylevel< n >::operator=(), mln::value::internal::gray_f::operator=(), mln::value::internal::gray_< n >::operator=(), mln::value::float01_f::operator=(), mln::value::float01_< n >::operator=(), mln::value::label< n >::prev(), mln::algebra::quat::quat(), mln::value::qt::rgb32::red(), mln::value::rgb< n >::red(), mln::value::rgb< n >::rgb(), mln::value::qt::rgb32::rgb32(), mln::algebra::quat::s(), mln::value::float01_< n >::set_ind(), mln::algebra::quat::set_unit(), mln::algebra::quat::set_v(), mln::algebra::quat::sprod(), mln::value::internal::value_like_< V, C, N, E >::to_enc(), mln::value::internal::value_like_< V, C, N, E >::to_equiv(), mln::value::graylevel< n >::to_float(), mln::algebra::quat::to_vec(), mln::algebra::quat::v(), mln::value::graylevel_f::value(), mln::value::graylevel< n >::value(), mln::value::internal::gray_f::value(), mln::value::internal::gray_< n >::value(), mln::value::float01_f::value(), and mln::value::float01_< n >::value().