Last modified: 11 May 2011
Name: H5Pset_create_intermediate_group
Signature:
  herr_t `H5Pset_create_intermediate_group`( hid_t `lcpl_id`, unsigned `crt_intermed_group` )

Purpose:
  Specifies in property list whether to create missing intermediate groups.

Description:
  `H5Pset_create_intermediate_group` specifies whether to set the link creation property list `lcpl_id` so that calls to functions that create objects in groups different from the current working group will create intermediate groups that may be missing in the path of a new or moved object.

  Functions that create objects in or move objects to a group other than the current working group make use of this property. `H5Gcreate_anon` and `H5Lmove` are examples of such functions.

  If `crt_intermed_group` is positive, the `H5G_CRT_INTMD_GROUP` will be added to `lcpl_id` (if it is not already there). Missing intermediate groups will be created upon calls to functions such as those listed above that use `lcpl_id`.

  If `crt_intermed_group` is non-positive, the `H5G_CRT_INTMD_GROUP`, if present, will be removed from `lcpl_id`. Missing intermediate groups will not be created upon calls to functions such as those listed above that use `lcpl_id`.

Parameters:

  hid_t `lcpl_id` | IN: Link creation property list identifier
  unsigned `crt_intermed_group` | IN: Flag specifying whether to create intermediate groups upon the creation of an object

Returns:
  Returns a non-negative valule if successful; otherwise returns a negative value.

Example:
  The following call sets the link creation property list `lcpl_id` such that a call to `H5Gcreate_anon` or other function using `lcpl_id` will create any missing groups in the path to the new object:

          herr_t ret_value = H5Pset_create_intermediate_group(lcpl_id, 1)

Fortran90 Interface: `h5pset_create_inter_group_f`

      SUBROUTINE h5pset_create_inter_group_f(lcpl_id, crt_intermed_group, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: lcpl_id
                                 ! Link creation property list identifier
        INTEGER, INTENT(IN) :: crt_intermed_group
                                 ! Specifying whether to create intermediate groups
                                 ! upon the creation of an object
        INTEGER, INTENT(OUT) :: hdferr
                                 ! Error code
                                 ! 0 on success and -1 on failure
      END SUBROUTINE h5pset_create_inter_group_f

History:

  Release | C
  1.8.0 | Function introduced in this release.