Provides the C-style interface for ioda::Group objects.  
More...
 | 
| IODA_DL void  | ioda_group_destruct (struct ioda_group *grp) | 
|   | Frees a ioda_group.  More...
  | 
|   | 
| IODA_DL struct ioda_string_ret_t *  | ioda_group_list (const struct ioda_group *grp) | 
|   | Lists all one-level child groups.  More...
  | 
|   | 
| IODA_DL int  | ioda_group_exists (const struct ioda_group *base, size_t child_sz, const char *child) | 
|   | Check if a group exists.  More...
  | 
|   | 
| IODA_DL struct ioda_group *  | ioda_group_create (struct ioda_group *base, size_t sz, const char *name) | 
|   | Create a group.  More...
  | 
|   | 
| IODA_DL struct ioda_group *  | ioda_group_open (const struct ioda_group *base, size_t sz, const char *name) | 
|   | Open a group.  More...
  | 
|   | 
| IODA_DL struct ioda_has_attributes *  | ioda_group_atts (const struct ioda_group *grp) | 
|   | Access a group's attributes.  More...
  | 
|   | 
| IODA_DL struct ioda_has_variables *  | ioda_group_vars (const struct ioda_group *grp) | 
|   | Access a group's variables.  More...
  | 
|   | 
| ioda_string_ret_t *  | ioda_group_list (const ioda_group *g) | 
|   | 
| int  | ioda_group_exists (const ioda_group *g, size_t sz, const char *name) | 
|   | 
| ioda_group *  | ioda_group_open (const ioda_group *g, size_t sz, const char *name) | 
|   | 
| IODA_DL ioda_has_attributes *  | ioda_group_atts (const ioda_group *g) | 
|   | 
| IODA_DL ioda_has_variables *  | ioda_group_vars (const ioda_group *g) | 
|   | 
Provides the C-style interface for ioda::Group objects. 
◆ ioda_group_atts() [1/2]
◆ ioda_group_atts() [2/2]
Access a group's attributes. 
- See also
 - ioda::Group::atts. 
 
- Parameters
 - 
  
    | [in] | grp | is the group whose attributes are being accessed.  | 
  
   
- Returns
 - A handle to the Has_Attributes container on success (you must free after use). 
 
- 
NULL on failure. 
 
 
 
◆ ioda_group_create()
Create a group. 
- See also
 - ioda::Group::create. 
 
- Parameters
 - 
  
    | [in] | base | is the base group.  | 
    | [in] | name | is the name of the new group.  | 
     | sz | is the length of the group name (as in strlen(name)). Explicitly specified for Fortran bindings.  | 
  
   
- Returns
 - A handle to the new group on success. The handle should be freed after use by ioda_group_destruct (c_ioda.Groups.destruct). 
 
- 
NULL on failure. 
 
- Precondition
 - base must be valid. name must be non-null. 
 
- Postcondition
 - The group will now exist, and the returned on handle must be freed by caller after use. Upon failure, base is unchanged. 
 
Definition at line 46 of file Group_c.cpp.
 
 
◆ ioda_group_destruct()
      
        
          | void ioda_group_destruct  | 
          ( | 
          struct ioda_group *  | 
          grp | ) | 
           | 
        
      
 
Frees a ioda_group. 
- Parameters
 - 
  
  
 
- Precondition
 - grp must be a valid group returned by a ioda_group_* call or an engine invocation. 
 
Definition at line 22 of file Group_c.cpp.
 
 
◆ ioda_group_exists() [1/2]
      
        
          | int ioda_group_exists  | 
          ( | 
          const ioda_group *  | 
          g,  | 
        
        
           | 
           | 
          size_t  | 
          sz,  | 
        
        
           | 
           | 
          const char *  | 
          name  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ ioda_group_exists() [2/2]
      
        
          | IODA_DL int ioda_group_exists  | 
          ( | 
          const struct ioda_group *  | 
          base,  | 
        
        
           | 
           | 
          size_t  | 
          child_sz,  | 
        
        
           | 
           | 
          const char *  | 
          child  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Check if a group exists. 
- See also
 - ioda::Group::exists 
 
- Parameters
 - 
  
    | [in] | base | is the base group.  | 
     | child_sz | is the size of the child string, as strlen(child). Explicitly specified for Fortran bindings.  | 
    | [in] | child | is the name of the group whose existence is tested.  | 
  
   
- Returns
 - 1 if the group exists. 
 
- 
0 if the group does not exist. 
 
- 
-1 on error, such as if base or child is NULL, or if there is a missing intermediary group between base and child. 
 
 
 
◆ ioda_group_list() [1/2]
◆ ioda_group_list() [2/2]
Lists all one-level child groups. 
- See also
 - String_c.h. 
 
- Parameters
 - 
  
    | grp | is the group. Must be valid.  | 
  
   
- Returns
 - ioda_string_ret_t, which is an array of strings that should be freed after use by ioda_string_ret_t_destruct (c_ioda.Strings.destruct). 
 
 
 
◆ ioda_group_open() [1/2]
◆ ioda_group_open() [2/2]
Open a group. 
- See also
 - ioda::Group::open. 
 
- Parameters
 - 
  
    | base | is the base group  | 
    | name | is the name of the group to be opened.  | 
    | sz | is the length of the group name, as strlen(name). Explicitly specified for Fortran bindings.  | 
  
   
- Returns
 - A handle to the group on success, which must be freed after use. 
 
- 
NULL on failure. 
 
- Precondition
 - base must be valid. name must be non-null. 
 
 
 
◆ ioda_group_vars() [1/2]
◆ ioda_group_vars() [2/2]
Access a group's variables. 
- See also
 - ioda::Group::vars. 
 
- Parameters
 - 
  
    | [in] | grp | is the group whose variables are being accessed.  | 
  
   
- Returns
 - A handle to the Has_Variables container on success (free after use). 
 
- 
NULL on failure.