Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at auto_handle::operator bool.
Operator for using auto_handle in a conditional expression.
Syntax
operator bool();
Return Value
true if the wrapped object is valid; false otherwise.
Remarks
This operator actually converts to _detail_class::_safe_bool which is safer than bool because it cannot be converted to an integral type.
Example
// msl_auto_handle_operator_bool.cpp
// compile with: /clr
#include <msclr\auto_handle.h>
using namespace System;
using namespace msclr;
int main() {
auto_handle<String> s1;
auto_handle<String> s2 = "hi";
if ( s1 ) Console::WriteLine( "s1 is valid" );
if ( !s1 ) Console::WriteLine( "s1 is invalid" );
if ( s2 ) Console::WriteLine( "s2 is valid" );
if ( !s2 ) Console::WriteLine( "s2 is invalid" );
s2.reset();
if ( s2 ) Console::WriteLine( "s2 is now valid" );
if ( !s2 ) Console::WriteLine( "s2 is now invalid" );
}
s1 is invalid
s2 is valid
s2 is now invalid
Requirements
Header file <msclr\auto_handle.h>
Namespace msclr