TemplateTools.h File Reference

defines tools for handling templates More...

#include "NullType.h"
#include "TypeManip.h"
#include "Typelist.h"
#include <limits>
#include <utility>
#include <cstdlib>
#include <cmath>

Go to the source code of this file.

Namespaces

namespace  BSUtilities

Classes

struct  BSUtilities::IF< condition, Then, Else >
 static metaprogramming if statement equivalent More...
struct  BSUtilities::IF< false, Then, Else >
struct  BSUtilities::OR< Arg1, Arg2 >
 static metaprogramming OR More...
struct  BSUtilities::OR< true, Arg2 >
 static metaprogramming OR More...
struct  BSUtilities::OR< Arg1, true >
 static metaprogramming OR More...
struct  BSUtilities::OR< true, true >
 static metaprogramming OR More...
class  BSUtilities::EmptyTemplate_1< X >
 the EmptyTemplate with one class parameter More...
class  BSUtilities::EmptyTemplate_2< X, Y >
 the EmptyTemplate with two class parameters More...
struct  BSUtilities::SameType< X, Y >
 check type equivalence, general case More...
struct  BSUtilities::SameType< X, X >
 check type equivalence, specialization for both type equal More...
struct  BSUtilities::SameTemplate_1< X, Y >
 check equivalence of templates with one class parameter More...
struct  BSUtilities::SameTemplate_1< X, X >
 check equivalence of templates with one class parameter, More...
struct  BSUtilities::SameTemplate_2< X, Y >
 check equivalence of templates with two class parameters More...
struct  BSUtilities::SameTemplate_2< X, X >
 check equivalence of templates with two class parameters, More...
struct  BSUtilities::Concatenate< Loki::Typelist< Head1, Tail1 >, Loki::Typelist< Head2, Tail2 > >
struct  BSUtilities::Concatenate< A, Loki::NullType >
struct  BSUtilities::Concatenate< Loki::NullType, B >
struct  BSUtilities::Signum< N >
struct  BSUtilities::Signum< 0L >
struct  BSUtilities::Abs< N >
struct  BSUtilities::Gcd< M, N >
struct  BSUtilities::Gcd< M, 0L >
struct  BSUtilities::Gcd< 0L, 0L >
struct  BSUtilities::Rational< N, D >
struct  BSUtilities::Rational< 0L, D >
 specialization for N = 0 More...
class  BSUtilities::RationalEquality< Rational< N1, D1 >, Rational< N2, D2 > >
 determine equality, specialization for two Rationals More...
class  BSUtilities::RationalAdd< Rational< N1, D1 >, Rational< N2, D2 > >
 add two Rationals, specialization for two Rationals More...
class  BSUtilities::RationalSub< Rational< N1, D1 >, Rational< N2, D2 > >
 subtract two Rationals, specialization for two Rationals More...
class  BSUtilities::RationalMult< Rational< N1, D1 >, Rational< N2, D2 > >
 multiply two Rationals, specialization for two Rationals More...
class  BSUtilities::RationalDiv< Rational< N1, D1 >, Rational< N2, D2 > >
 divide two Rationals, specialization for two Rationals More...
class  BSUtilities::RationalNeg< Rational< N1, D1 > >
 negate Rational, specialization for Rational More...

Functions

long BSUtilities::gcd (const long &i1, const long &i2)
 greatest common divisor, dynamic version
template<class T>
std::pair< long, long > BSUtilities::contFrac (const T &value)
 generate a rational's numerator and denominator from floating value


Detailed Description

defines tools for handling templates

Definition in file TemplateTools.h.


Generated on Sun Jul 26 16:51:58 2009 for BSUtilities by  doxygen 1.5.3