diff options
Diffstat (limited to 'TAO/tests/CORBA_is_nil/README.md')
-rw-r--r-- | TAO/tests/CORBA_is_nil/README.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/TAO/tests/CORBA_is_nil/README.md b/TAO/tests/CORBA_is_nil/README.md new file mode 100644 index 00000000000..224707f11ba --- /dev/null +++ b/TAO/tests/CORBA_is_nil/README.md @@ -0,0 +1,21 @@ +# This test confirms that CORBA::is_nil works + +TAO implements `CORBA::is_nil` as a function template, which merely +checks the argument for zero. The template is specialized for +`CORBA::Object_ptr`, and this specialization additionally checks +whether a non-NULL argument might be an unevaluated nil object +reference. + +Because template specialization is used and not an ordinary overloaded +function, the specialized variant is *not* called for pointers to +derived classes. This will work only if TAO ensures that all nil +object references that have been narrowed to a derived class are +converted to null pointers, i.e., to ensure that the generic template +produces the corrcet result. + +This test has the server return a nil object reference and the client +uses lazy resource usage, to comfirm that CORBA::is_nil corrcetly +identifies the nil object reference. + + + |