GlobalObjects
Lade ...
Suche ...
Keine Treffer
EuUnsignedMagicNumber.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_EUUNSIGNEDMAGICNUMBER_H
2#define INC_EUUNSIGNEDMAGICNUMBER_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "EuToolTypes.h"
38#include <string>
39//-----------------------------------------------------------------------------
40namespace eut
41{
42 //---------------------------------------------------------------------------
107 {
108 private:
109 //============== Enum
110 //-------------------------------------------------------------------------
121 {
141 eSUBTRACT
142 };
143 //-------------------------------------------------------------------------
144
145 //============== Attribute
146 //-----------------------------------------------------------------------
157 //-----------------------------------------------------------------------
167 unsigned int m_uiMaxSize;
168 //-----------------------------------------------------------------------
179 //-----------------------------------------------------------------------
190 //-----------------------------------------------------------------------
201 //-----------------------------------------------------------------------
202
203 public:
204 //============= Konstruktoren
205 //-----------------------------------------------------------------------
216 //-----------------------------------------------------------------------
232 UnsignedMagicNumber( unsigned int uiMaxSize );
233 //-----------------------------------------------------------------------
255 UnsignedMagicNumber( unsigned int uiMaxSize, const char * pchValue );
256 //-----------------------------------------------------------------------
278 UnsignedMagicNumber( unsigned int uiMaxSize, const std::string & rsValue );
279 //-----------------------------------------------------------------------
300 UnsignedMagicNumber( unsigned int uiMaxSize, char chLastRangeDigit );
301 //-----------------------------------------------------------------------
329 UnsignedMagicNumber( unsigned int uiMaxSize,
330 char chLastRangeDigit,
331 const char * pchValue );
332 //-----------------------------------------------------------------------
359 UnsignedMagicNumber( unsigned int uiMaxSize,
360 char chLastRangeDigit,
361 const std::string & rsValue );
362 //-----------------------------------------------------------------------
383 UnsignedMagicNumber( unsigned int uiMaxSize,
384 char chFirstRangeDigit,
385 char chLastRangeDigit );
386 //-----------------------------------------------------------------------
417 UnsignedMagicNumber( unsigned int uiMaxSize,
418 char chFirstRangeDigit,
419 char chLastRangeDigit,
420 const char * pchValue );
421 //-----------------------------------------------------------------------
450 UnsignedMagicNumber( unsigned int uiMaxSize,
451 char chFirstRangeDigit,
452 char chLastRangeDigit,
453 const std::string & rsValue );
454 //-----------------------------------------------------------------------
467 //-----------------------------------------------------------------------
478 //-----------------------------------------------------------------------
479
480 private:
481 //============== Methoden
482 //-----------------------------------------------------------------------
501 void init( char chFirstRangeDigit,
502 char chLastRangeDigit );
503 //-----------------------------------------------------------------------
519 bool isInRange( const char chCharacter ) const;
520 //-----------------------------------------------------------------------
537 void convertAsciiCharInOwn( char & rchChar ) const;
538 //-----------------------------------------------------------------------
557 char getAsciiCharInOwn( const char & rchChar ) const;
558 //-----------------------------------------------------------------------
575 void convertOwnCharInAscii( char & rchChar ) const;
576 //-----------------------------------------------------------------------
595 char getOwnCharInAscii( const char & rchChar ) const;
596 //-----------------------------------------------------------------------
616 void convertAsciiCharArrayInOwn( char * pchChar ) const;
617 //-----------------------------------------------------------------------
637 void convertOwnCharArrayInAscii( char * pchChar ) const;
638 //-----------------------------------------------------------------------
639
640 public:
641 //============== Methoden
642 //-----------------------------------------------------------------------
662 int setValue( const char * pchValue );
663 //-----------------------------------------------------------------------
679 bool isAsciiInRange( const char chCharacter ) const;
680 //-----------------------------------------------------------------------
693 bool isNULL() const;
694 //-----------------------------------------------------------------------
704 void setNULL();
705 //-----------------------------------------------------------------------
717 unsigned int getMaxSize() const;
718 //-----------------------------------------------------------------------
730 char getFirstRangeDigit() const;
731 //-----------------------------------------------------------------------
743 char getLastRangeDigit() const;
744 //-----------------------------------------------------------------------
756 std::string toString() const;
757 //-----------------------------------------------------------------------
770 //-----------------------------------------------------------------------
771
772 private:
773 //============== Statische Methoden
774 //-----------------------------------------------------------------------
790 bool checkFirstLast( char chFirstRangeDigit,
791 char chLastRangeDigit );
792 //-----------------------------------------------------------------------
818 bool addChar( char & rchTarget,
819 const char chSource,
820 char chLastRangeDigit );
821 //-----------------------------------------------------------------------
847 bool subtractChar( char & rchTarget,
848 const char chSource,
849 char chLastRangeDigit );
850 //-----------------------------------------------------------------------
899 int addValue( char * pchTarget,
900 const char * pchSource,
901 unsigned int uiMaxSize,
902 char chFirstRangeDigit,
903 char chLastRangeDigit );
904 //-----------------------------------------------------------------------
954 int subtractValue( char * pchTarget,
955 const char * pchSource,
956 unsigned int uiMaxSize,
957 char chFirstRangeDigit,
958 char chLastRangeDigit );
959 //-----------------------------------------------------------------------
1010 int calculateValue( char * pchTarget,
1011 const char * pchSource,
1012 unsigned int uiMaxSize,
1013 char chFirstRangeDigit,
1014 char chLastRangeDigit,
1015 EnCalcType eCalcType );
1016 //-----------------------------------------------------------------------
1017
1018 public:
1019 //============== Operatoren
1020 //-----------------------------------------------------------------------
1022
1031 bool operator== ( const UnsignedMagicNumber & rT ) const;
1032 bool operator!= ( const UnsignedMagicNumber & rT ) const;
1034 //-----------------------------------------------------------------------
1036
1045 bool operator> ( const UnsignedMagicNumber & rT ) const;
1046 bool operator>= ( const UnsignedMagicNumber & rT ) const;
1047 bool operator< ( const UnsignedMagicNumber & rT ) const;
1048 bool operator<= ( const UnsignedMagicNumber & rT ) const;
1050 //-----------------------------------------------------------------------
1052
1078 UnsignedMagicNumber & operator++ ();
1079 UnsignedMagicNumber operator++ ( int );
1080 UnsignedMagicNumber & operator+= ( const UnsignedMagicNumber & rrT );
1081 UnsignedMagicNumber & operator-- ();
1082 UnsignedMagicNumber operator-- ( int );
1083 UnsignedMagicNumber & operator-= ( const UnsignedMagicNumber & rrT );
1085 //-----------------------------------------------------------------------
1097 UnsignedMagicNumber & operator= ( const UnsignedMagicNumber & rT );
1098 //-----------------------------------------------------------------------
1100 {
1101 lT += rrT;
1102 return lT;
1103 };
1104 //-----------------------------------------------------------------------
1106 {
1107 lT -= rrT;
1108 return lT;
1109 };
1110 //-----------------------------------------------------------------------
1111 friend std::ostream & operator<<( std::ostream & rOStream, const UnsignedMagicNumber & rMagicNumber )
1112 {
1113 return rOStream << rMagicNumber.toString();
1114 };
1115 //-----------------------------------------------------------------------
1116 friend std::istream & operator>>( std::istream & rIStream, UnsignedMagicNumber & rMagicNumber )
1117 {
1118 std::string t_sMagicNumber;
1119
1120 rIStream >> t_sMagicNumber;
1121 rMagicNumber.setValue( t_sMagicNumber.c_str() );
1122 return rIStream;
1123 };
1124 //-----------------------------------------------------------------------
1125 };
1126 //---------------------------------------------------------------------------
1127} // namespace eut
1128#endif
Für jede Bibliothek, hier 'EuTools' gibt es eine Typen-Datei.
#define __tool_export_dll
Definition EuToolTypes.h:63
Ein UnsignedMagicNumber ist eine künstliche Zahl aus Ziffern und Buchstaben (so ähnlich wie Hex-Zahle...
Definition EuUnsignedMagicNumber.h:107
int setValue(const char *pchValue)
UnsignedMagicNumber(unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit, const char *pchValue)
UnsignedMagicNumber(unsigned int uiMaxSize)
UnsignedMagicNumber(unsigned int uiMaxSize, const std::string &rsValue)
char * m_pchValue
Definition EuUnsignedMagicNumber.h:156
int m_iLastError
Definition EuUnsignedMagicNumber.h:200
UnsignedMagicNumber(unsigned int uiMaxSize, const char *pchValue)
unsigned int m_uiMaxSize
Definition EuUnsignedMagicNumber.h:167
void convertAsciiCharArrayInOwn(char *pchChar) const
char getFirstRangeDigit() const
bool subtractChar(char &rchTarget, const char chSource, char chLastRangeDigit)
bool checkFirstLast(char chFirstRangeDigit, char chLastRangeDigit)
char getLastRangeDigit() const
int subtractValue(char *pchTarget, const char *pchSource, unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit)
void convertAsciiCharInOwn(char &rchChar) const
std::string toString() const
UnsignedMagicNumber(unsigned int uiMaxSize, char chLastRangeDigit, const char *pchValue)
EnCalcType
Definition EuUnsignedMagicNumber.h:121
@ eADD
Definition EuUnsignedMagicNumber.h:131
char m_chLastRangeDigit
Definition EuUnsignedMagicNumber.h:189
UnsignedMagicNumber(const UnsignedMagicNumber &rT)
UnsignedMagicNumber(unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit)
char getAsciiCharInOwn(const char &rchChar) const
void convertOwnCharArrayInAscii(char *pchChar) const
UnsignedMagicNumber(unsigned int uiMaxSize, char chLastRangeDigit)
char m_chFirstRangeDigit
Definition EuUnsignedMagicNumber.h:178
friend std::istream & operator>>(std::istream &rIStream, UnsignedMagicNumber &rMagicNumber)
Definition EuUnsignedMagicNumber.h:1116
bool isInRange(const char chCharacter) const
friend std::ostream & operator<<(std::ostream &rOStream, const UnsignedMagicNumber &rMagicNumber)
Definition EuUnsignedMagicNumber.h:1111
char getOwnCharInAscii(const char &rchChar) const
int addValue(char *pchTarget, const char *pchSource, unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit)
bool addChar(char &rchTarget, const char chSource, char chLastRangeDigit)
bool isAsciiInRange(const char chCharacter) const
unsigned int getMaxSize() const
void init(char chFirstRangeDigit, char chLastRangeDigit)
UnsignedMagicNumber(unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit, const std::string &rsValue)
void convertOwnCharInAscii(char &rchChar) const
UnsignedMagicNumber(unsigned int uiMaxSize, char chLastRangeDigit, const std::string &rsValue)
int calculateValue(char *pchTarget, const char *pchSource, unsigned int uiMaxSize, char chFirstRangeDigit, char chLastRangeDigit, EnCalcType eCalcType)
Definition IniFile.h:47