PetscOptionsFList#
Puts a list of option values that a single one may be selected from
Synopsis#
#include <petscoptions.h>
PetscErrorCode PetscOptionsFList(const char opt[], const char ltext[], const char man[], PetscFunctionList list, const char currentvalue[], char value[], size_t len, PetscBool *set)
Logically Collective on the communicator passed in PetscOptionsBegin()
Input Parameters#
opt - option name
ltext - short string that describes the option
man - manual page with additional information on option
list - the possible choices
currentvalue - the current value; caller is responsible for setting this value correctly. Normally this is done with
PetscOptionsFlist(..., obj->value,value,len,&set);
if (set) {
len - the length of the character array value
Output Parameters#
value - the value to return
set -
PETSC_TRUE
if found, elsePETSC_FALSE
Notes#
Must be used between a PetscOptionsBegin()
and a PetscOptionsEnd()
If the user does not supply the option at all value
is NOT changed. Thus
you should ALWAYS initialize value
if you access it without first checking that the set
flag is PETSC_TRUE
.
The currentvalue
passed into this routine does not get transferred to the output value
variable automatically.
See PetscOptionsEList()
for when the choices are given in a string array
To get a listing of all currently specified options,
see PetscOptionsView()
or PetscOptionsGetAll()
Developer Note#
This cannot check for invalid selection because of things like MATAIJ
that are not included in the list
See Also#
PetscOptionsGetInt()
, PetscOptionsGetReal()
,
PetscOptionsHasName()
, PetscOptionsGetIntArray()
, PetscOptionsGetRealArray()
, PetscOptionsBool()
,
PetscOptionsName()
, PetscOptionsBegin()
, PetscOptionsEnd()
, PetscOptionsHeadBegin()
,
PetscOptionsStringArray()
, PetscOptionsRealArray()
, PetscOptionsScalar()
,
PetscOptionsBoolGroupBegin()
, PetscOptionsBoolGroup()
, PetscOptionsBoolGroupEnd()
,
PetscOptionsFList()
, PetscOptionsEList()
, PetscOptionsEnum()
Level#
intermediate
Location#
Examples#
src/ts/utils/dmplexlandau/tutorials/ex2.c
src/ts/tutorials/ex45.c
src/ts/tutorials/ex9.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex14.c
src/ts/tutorials/ex8.c
src/ts/tutorials/ex48.c
src/dm/field/tutorials/ex1.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex30.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages