Browse Source

RCPointer can now be empty. == operator for Text is now overloaded

Kolja Strohm 2 years ago
parent
commit
9a628ba505
4 changed files with 18 additions and 3 deletions
  1. 4 1
      Array.h
  2. 7 1
      RCPointer.h
  3. 5 0
      Text.cpp
  4. 2 1
      Text.h

+ 4 - 1
Array.h

@@ -67,8 +67,11 @@ namespace Framework
         }
 #ifdef WIN32
 #pragma warning( once : 26495 )
-#endif
     };
+#else
+};
+#endif
+
 
     template< class TYP >
     class Iterator

+ 7 - 1
RCPointer.h

@@ -9,6 +9,11 @@ namespace Framework
         T *pointer;
 
     public:
+        RCPointer()
+        {
+            pointer = 0;
+        }
+
         RCPointer( T *pointer )
         {
             this->pointer = pointer;
@@ -21,7 +26,8 @@ namespace Framework
 
         ~RCPointer()
         {
-            this->pointer->release();
+            if( pointer )
+                pointer->release();
         }
 
         RCPointer &operator=( RCPointer &ptr )

+ 5 - 0
Text.cpp

@@ -1263,6 +1263,11 @@ Text Text::operator+( const float num ) const
     return Text( *this ) += num;
 }
 
+bool Text::operator==( const Text &right ) const
+{
+    return istGleich( right );
+}
+
 
 // Inhalt der TextReader Klasse
 // Konstructor

+ 2 - 1
Text.h

@@ -338,7 +338,8 @@ namespace Framework
         DLLEXPORT Text operator+( const double num ) const;
         //! Erstellt einen neuen Text bestehend aus diesem und num
         DLLEXPORT Text operator+( const float num ) const;
-
+        //! Prüft ob der Text mit dem anderen Text übereinstimmt
+        DLLEXPORT bool operator==( const Text &right ) const;
     };
 
     class TextReader : public Reader, public virtual ReferenceCounter