Index: /code/branches/cpp11_v2/src/libraries/core/ClassTreeMask.h
===================================================================
--- /code/branches/cpp11_v2/src/libraries/core/ClassTreeMask.h	(revision 10769)
+++ /code/branches/cpp11_v2/src/libraries/core/ClassTreeMask.h	(revision 10770)
@@ -152,5 +152,5 @@
             ClassTreeMaskNode* operator*() const;
             ClassTreeMaskNode* operator->() const;
-            operator bool() const;
+            explicit operator bool() const;
             bool operator==(ClassTreeMaskNode* compare) const;
             bool operator!=(ClassTreeMaskNode* compare) const;
@@ -289,5 +289,5 @@
             inline bool operator!=(BaseObject* pointer) const { return (this->objectIterator_ && (*this->objectIterator_) != pointer) || (!this->objectIterator_ && pointer != nullptr); }
             /// Returns true if the ClassTreeMaskObjectIterator hasn't already reached the end.
-            inline operator bool() const { return (this->objectIterator_); }
+            inline explicit operator bool() const { return this->objectIterator_.operator bool(); }
             /// Returns the object the ClassTreeMaskObjectIterator currently points at.
             inline BaseObject* operator*() const { return (*this->objectIterator_); }
Index: /code/branches/cpp11_v2/src/libraries/core/object/IteratorBase.h
===================================================================
--- /code/branches/cpp11_v2/src/libraries/core/object/IteratorBase.h	(revision 10769)
+++ /code/branches/cpp11_v2/src/libraries/core/object/IteratorBase.h	(revision 10770)
@@ -149,5 +149,5 @@
                 @return True if the Iterator points to an existing object.
             */
-            inline operator bool() const
+            inline explicit operator bool() const
             {
                 return (this->element_ != nullptr);
Index: /code/branches/cpp11_v2/src/libraries/core/object/StrongPtr.h
===================================================================
--- /code/branches/cpp11_v2/src/libraries/core/object/StrongPtr.h	(revision 10769)
+++ /code/branches/cpp11_v2/src/libraries/core/object/StrongPtr.h	(revision 10770)
@@ -248,8 +248,8 @@
             }
 
-            /// Returns true if the wrapped pointer is nullptr.
-            inline bool operator!() const
-            {
-                return (this->pointer_ == nullptr);
+            /// Returns true if the pointer is not nullptr.
+            inline explicit operator bool() const
+            {
+                return (this->pointer_ != nullptr);
             }
 
Index: /code/branches/cpp11_v2/src/libraries/core/object/WeakPtr.h
===================================================================
--- /code/branches/cpp11_v2/src/libraries/core/object/WeakPtr.h	(revision 10769)
+++ /code/branches/cpp11_v2/src/libraries/core/object/WeakPtr.h	(revision 10770)
@@ -183,8 +183,8 @@
             }
 
-            /// Returns true if the wrapped pointer is nullptr.
-            inline bool operator!() const
-            {
-                return (this->pointer_ == nullptr);
+            /// Returns true if the pointer is not nullptr.
+            inline explicit operator bool() const
+            {
+                return (this->pointer_ != nullptr);
             }
 
Index: /code/branches/cpp11_v2/src/libraries/util/SharedPtr.h
===================================================================
--- /code/branches/cpp11_v2/src/libraries/util/SharedPtr.h	(revision 10769)
+++ /code/branches/cpp11_v2/src/libraries/util/SharedPtr.h	(revision 10770)
@@ -311,5 +311,5 @@
 
             /// Returns true if the pointer is not nullptr.
-            inline operator bool() const
+            inline explicit operator bool() const
             {
                 return (this->pointer_ != nullptr);
Index: /code/branches/cpp11_v2/test/util/SharedPtrTest.cc
===================================================================
--- /code/branches/cpp11_v2/test/util/SharedPtrTest.cc	(revision 10769)
+++ /code/branches/cpp11_v2/test/util/SharedPtrTest.cc	(revision 10770)
@@ -145,5 +145,5 @@
         test = pointer;
         EXPECT_EQ(pointer, test.get());
-        EXPECT_TRUE(test);
+        EXPECT_TRUE(static_cast<bool>(test));
     }
 
