libSBML C API
5.18.0
|
The ListOfObjectives_t is a container for the SBML extended Model_t that lists all the possible Objective_t elements in the model.
Unlike most other ListOf_t subclasses in SBML, SBML Level 3 Flux Balance Constraints Version 2 defines an additional required attribute on ListOfObjectives_t: the "activeObjective" attribute. This attribute is of type SIdRef
and can only refer to the id of an existing Objective_t. This required attribute exists so that when multiple Objective_t's are included in a single model, the model will always be well described; i.e., there will be a single, primary objective function which defines a single optimum and its associated solution space.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
SBML Level 3 Version 1 has essentially the same structure as Level 2 Version 4, depicted above, but SBML Level 3 Version 2 allows containers to contain zero or more of the relevant object, instead of requiring at least one. As such, libsbml will write out an otherwise-empty ListOf___ element that has any optional attribute set (such as 'id' or 'metaid'), that has an optional child (such as a 'notes' or 'annotation'), or that has attributes or children set from any SBML Level 3 package, whether or not the ListOf___ has any other children.
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase_t means that software tools can add information about the lists themselves into each list container's "annotation".
Public Member Functions | |
Objective_t * | ListOfObjectives_getById (ListOf_t *lo, const char *sid) |
Return the structure indicated by the given sid . More... | |
Objective_t * | ListOfObjectives_removeById (ListOf_t *lo, const char *sid) |
Removes the structure with the given sid from the given ListOf_t structure and returns a pointer to it. More... | |
Objective_t * ListOfObjectives_getById | ( | ListOf_t * | lo, |
const char * | sid | ||
) |
Return the structure indicated by the given sid
.
lo | the ListOf_t structure to use. |
sid | a string matching the "id" attribute of the element sought. |
NULL
if no such object exists in the list. Objective_t * ListOfObjectives_removeById | ( | ListOf_t * | lo, |
const char * | sid | ||
) |
Removes the structure with the given sid
from the given ListOf_t structure and returns a pointer to it.
* The caller owns the returned structure and is responsible for deleting it.
lo | the ListOf_t structure. |
sid | the string of the "id" attribute of the sought structure. |
NULL
is returned if no structure with the "id" attribute exists in the given ListOf_t structure.