4.10.21 nxo_instance
Keywords: onyx

Next: 4.10.22 nxo_integer Up: 4.10 Classes Previous: 4.10.20 nxo_handle Contents Index
Subsections

- 4.10.21.1 API

##
4.10.21 nxo_instance

The nxo_instance class is a subclass of the nxo class.

### 4.10.21.1 API

cw_nxoe_t * cw_nxo_instance_ref_iter_t(void *a_opaque, bool a_reset):

  Input(s):
    a_opaque:
      Opaque data pointer.
    a_reset:
      false:
        At least one iteration has already occurred.
      true:
        First iteration.
  Output(s):
    retval:
      non-NULL:
        Pointer to an nxoe.
      NULL:
        No more references.
  Exception(s):
    None.
  Description:
    Reference iterator function typedef.

bool cw_nxo_instance_delete_t(void *a_opaque, uint32_t a_iter):

  Input(s):
    a_opaque:
      Opaque data pointer.
    a_iter:
      Garbage collector sweep iteration count (starts at 0). This value can be used to impose ordering of dependent object deletions.
  Output(s):
    retval:
      false:
        Success.
      true:
        Defer deletion until a later garbage collector sweep iteration.
  Exception(s):
    None.
  Description:
    Destructor function typedef.

void nxo_instance_new(cw_nxo_t *a_nxo, void *a_opaque, cw_nxo_instance_ref_iter_t *a_ref_iter_f, cw_nxo_instance_delete_t *a_delete_f):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
    a_opaque:
      Opaque data pointer to be passed to a_eval_f, a_ref_iter_f, and a_delete_f.
    a_ref_iter_f:
      Pointer to a reference iterator function.
    a_delete_f:
      Pointer to a destructor function.
  Output(s):
    None.
  Exception(s):
    CW_ONYXX_OOM.
  Description:
    Constructor.

cw_nxo_t * nxo_instance_isa_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
  Output(s):
    retval:
      Pointer to the isa object associated with a_nxo.
  Exception(s):
    None.
  Description:
    Return a pointer to the isa object associated with a_nxo. This object pointer can safely be used for modifying the isa object.

cw_nxo_t * nxo_instance_data_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
  Output(s):
    retval:
      Pointer to the data object associated with a_nxo.
  Exception(s):
    None.
  Description:
    Return a pointer to the data object associated with a_nxo. This object pointer can safely be used for modifying the data object.

void * nxo_instance_opaque_get(const cw_nxo_t *a_nxo):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
  Output(s):
    retval:
      Opaque data pointer.
  Exception(s):
    None.
  Description:
    Return the opaque data pointer associated with a_nxo.

void nxo_instance_opaque_set(cw_nxo_t *a_nxo, void *a_opaque):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
    a_opaque:
      Opaque data pointer.
  Output(s):
    None.
  Exception(s):
    None.
  Description:
    Set the opaque data pointer associated with a_nxo.

void nxo_instance_eval(cw_nxo_t *a_nxo, cw_nxo_t *a_thread):

  Input(s):
    a_nxo:
      Pointer to an instance nxo.
    a_thread:
      Pointer to a thread nxo.
  Output(s):
    None.
  Exception(s):
    Instance-specific.
  Description:
    Evaluate the a_nxo. If there is no evaluation function associated with a_nxo, it is pushed onto ostack.

Next: 4.10.22 nxo_integer Up: 4.10 Classes Previous: 4.10.20 nxo_handle Contents Index