RTP Trace System  1.0
range.h
Go to the documentation of this file.
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                      RTP Audio Server Project                    ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### Range Template                                                   ####
00007 // ####                                                                  ####
00008 // #### Version 1.00  --  February 16, 2001                              ####
00009 // ####                                                                  ####
00010 // #### Copyright (C) 1999  Thomas Dreibholz                             ####
00011 // ####               2000  Universität Bonn, Abt. IV                    ####
00012 // ####               2001  EMail: dreibh@iem.uni-due.de                 ####
00013 // ####                     WWW:   https://www.uni-due.de/~be0001        ####
00014 // ####                                                                  ####
00015 // ##########################################################################
00016 
00017 
00018 #ifndef RANGE_H
00019 #define RANGE_H
00020 
00021 
00022 #include "system.h"
00023 
00024 
00034 template<class T> class Range
00035 {
00036    // ====== Constructors ===================================================
00037    public:
00041    Range();   
00042 
00050    Range(const T min, const T max, const T value);
00051 
00052    
00053    // ====== Initialization =================================================
00061    void init(const T min, const T max, const T value);
00062 
00063       
00064    // ====== Range functions ================================================
00070    inline T getMin()   const;
00071 
00077    inline T getMax()   const;
00078 
00084    inline T getValue() const;
00085 
00092    inline void setLimits(const T min, const T max);
00093 
00099    inline void setValue(const T value);   
00100 
00101 
00102    // ====== "="-operator ===================================================   
00106    Range<T>& operator=(const Range<T>& range);
00107 
00108 
00109    // ====== Comparision operators ==========================================
00113    inline int operator==(const Range<T>& ti) const;
00114 
00118    inline int operator!=(const Range<T>& ti) const;
00119 
00120 
00121    // ====== Private data ===================================================
00122    public:  // Public because of byte order translation!
00123    T Min;
00124    T Max;
00125    T Value;
00126 };
00127 
00128 
00132 template<class T> ostream& operator<<(ostream& os, const Range<T>& range);
00133 
00134 
00135 #include "range.icc"
00136 #include "range.cc"
00137 
00138 
00139 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines