| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Gaudi::Math::detail::_Digits< TYPE, N1, N2 > Struct Template Reference

Helper structure for evaluation of range N1->N2 of decimal digits from the integral type. More...

#include <Digit.h>

Inheritance diagram for Gaudi::Math::detail::_Digits< TYPE, N1, N2 >:

[legend]
List of all members.

Public Member Functions

int operator() (const TYPE v) const
 the only on eessential method

Private Types

 val1 = __Dig10<TYPE
 N1
 TYPE
 value
 val2 = __Dig10<TYPE
 _imax10 = boost::integer_traits<TYPE>::digits10
enum  {
  val1 = __Dig10<TYPE, N1, TYPE, TYPE,
  value, val2 = __Dig10<TYPE, N1, TYPE,
  TYPE, value
}
enum  { _imax10 = boost::integer_traits<TYPE>::digits10 }

Private Member Functions

 BOOST_STATIC_ASSERT (boost::integer_traits< TYPE >::is_specialized)
 BOOST_STATIC_ASSERT (boost::integer_traits< TYPE >::is_integral)
 BOOST_STATIC_ASSERT (!boost::integer_traits< TYPE >::is_signed)
 BOOST_STATIC_ASSERT (N1< N2)
 BOOST_STATIC_ASSERT (N1<=_imax10)
 BOOST_STATIC_ASSERT (N2<=_imax10+1)

Detailed Description

template<class TYPE, unsigned int N1, unsigned int N2>
struct Gaudi::Math::detail::_Digits< TYPE, N1, N2 >

Helper structure for evaluation of range N1->N2 of decimal digits from the integral type.

Attention:
the least significat decimal digit is numbered as #0
Author:
Vanya BELYAEV Ivan.Belyaev@nilkhef.nl
Date:
2008-07-31

Definition at line 230 of file Digit.h.


Member Enumeration Documentation

template<class TYPE, unsigned int N1, unsigned int N2>
anonymous enum [private]

Enumerator:
val1 
N1 
TYPE 
TYPE 
value 
val2 
N1 
TYPE 
TYPE 
value 

Definition at line 238 of file Digit.h.

00239           {
00240             val1 = __Dig10<TYPE,N1,
00241             Check10<TYPE,N1>::safe && Check10<TYPE,N2-N1>::safe>:: value ,
00242             val2 = __Dig10<TYPE,N2-N1,
00243             Check10<TYPE,N1>::safe && Check10<TYPE,N2-N1>::safe>:: value 
00244           } ;

template<class TYPE, unsigned int N1, unsigned int N2>
anonymous enum [private]

Enumerator:
_imax10 

Definition at line 253 of file Digit.h.

00253              {
00254           _imax10 = boost::integer_traits<TYPE>::digits10 
00255         } ;


Member Function Documentation

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT ( boost::integer_traits< TYPE >::is_specialized   )  [private]

Reimplemented in Gaudi::Math::Digits< TYPE, N1, N2 >.

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT ( boost::integer_traits< TYPE >::is_integral   )  [private]

Reimplemented in Gaudi::Math::Digits< TYPE, N1, N2 >.

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT ( !boost::integer_traits< TYPE >::is_signed   )  [private]

Reimplemented in Gaudi::Math::Digits< TYPE, N1, N2 >.

template<class TYPE, unsigned int N1, unsigned int N2>
int Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::operator() ( const TYPE  v  )  const [inline]

the only on eessential method

Definition at line 249 of file Digit.h.

00249 { return (v/val1)%val2 ; }

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT (  )  [private]

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT ( N1<=  _imax10  )  [private]

template<class TYPE, unsigned int N1, unsigned int N2>
Gaudi::Math::detail::_Digits< TYPE, N1, N2 >::BOOST_STATIC_ASSERT ( N2<=_imax10+  1  )  [private]


The documentation for this struct was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:02:58 2011 for LHCbMath by doxygen 1.4.7