auto_gcroot::operator bool
This documentation is archived and is not being maintained.

auto_gcroot::operator bool 

Operator for using auto_gcroot in a conditional expression.


operator bool() const;

true if the wrapped object is valid; false otherwise.

This operator actually converts to _detail_class::_safe_bool which is safer than bool because it cannot be converted to an integral type.

// msl_auto_gcroot_operator_bool.cpp
// compile with: /clr
#include <msclr\auto_gcroot.h>

using namespace System;
using namespace msclr;

int main() {
   auto_gcroot<String^> s;
   if ( s ) Console::WriteLine( "s is valid" );
   if ( !s ) Console::WriteLine( "s is invalid" );
   s = "something";
   if ( s ) Console::WriteLine( "now s is valid" );
   if ( !s ) Console::WriteLine( "now s is invalid" );
   s.reset();
   if ( s ) Console::WriteLine( "now s is valid" );
   if ( !s ) Console::WriteLine( "now s is invalid" );
}

Output

s is invalid
now s is valid
now s is invalid

Header file <msclr\auto_gcroot.h>

Namespace msclr

Show:
© 2016 Microsoft