NAME

CORBA::Object::is_nil - (operation) determines whether an object reference refers to the NIL object


SYNOPSIS

IDL

  module CORBA
    {
    interface Object
      {
      boolean is_nil ( ) ;
      } ;
    } ;

C

  #include <orb.h>
  CORBA_boolean CORBA_Object_is_nil
      ( CORBA_Object o,
      CORBA_Environment * ev ) ;

C++

  #include <orb.h>
  namespace CORBA
    {
      Boolean is_nil ( Object_ptr obj ) ;
    } ;

Java

(no mapping; see NOTES)

Perl

(TBS)

Lisp

(TBS)


DESCRIPTION

The CORBA::Object::is_nil operation determines if an object reference designates the CORBA::NIL object. In general, object references are opaque to applications, although some language mappings (such as Java) make an exception for the NIL object. Opaque references cannot be compared, so the is_nil function is required to test for nullity.


PARAMETERS

o

(C mapping only) the target object

ev

(C mapping only) a pointer to the CORBA_Environment


RETURN VALUE

TRUE if the reference is to the NIL object; otherwise, FALSE


EXCEPTIONS

(standard system exceptions)


NOTES

  1. (Java mapping only) The nil object is represented by a null pointer. There is no is_nil function.

  2. (C++ mapping only) The mapping for interfaces includes a function _nil() which returns a NIL object reference of the given type.

      class A : public virtual Object
        {
          public :
            static A_ptr _nil ( ) ;
        }
  3. (C++ mapping only) The IDL header is named orb.idl. The C++ mapping specification does not mention a specific header name. One might presume the header name should be orb.h. However, some ORB vendors are more imaginative, and use other, different header file names.

  4. (C++ mapping only) The C++ mapping of names may vary, depending on the implementation's support for nested classes and namespaces. The rules are:

        if C++ namespace is supported,
            then map IDL module to C++ namespace
        else if C++ nested classes are supported,
            then map IDL module to a C++ class
        else
            use the C mapping for names

    The C++ synopsis, above, assumes namespace support. For other situations, adjust accordingly.


SEE ALSO

CORBA::Object(3corba)


COPYRIGHT

Copyright 2012 Michael Marking. This document is distributed as part of corbadoc, a documentation-only package with the goal of describing the main CORBA-related definitions from the OMG specifications. This is version corbadoc-0.1.3-prototype, released 2011.12.23. corbadoc is an incomplete work in progress; this is a snapshot release. New releases will be posted at http://www.tatanka.com/software/corbadoc/.

The corbadoc documents, including this one, are licensed under the GNU Free Documentation License, v.1.3.