petsc-3.14.5 2021-03-03
Report Typos and Errors

# PetscObjectStateIncrease

Increases the state of any PetscObject

### Synopsis

    #include "petsc/private/petscimpl.h"
    PetscErrorCode PetscObjectStateIncrease(PetscObject obj)

Logically Collective

### Input Parameter

| obj | - any PETSc object, for example a Vec, Mat or KSP. This must be cast with a (PetscObject), for example, PetscObjectStateIncrease((PetscObject)mat);

### Notes

object state is an integer which gets increased every time the object is changed internally. By saving and later querying the object state one can determine whether information about the object is still current. Currently, state is maintained for Vec and Mat objects.

This routine is mostly for internal use by PETSc; a developer need only call it after explicit access to an object's internals. Routines such as VecSet() or MatScale() already call this routine. It is also called, as a precaution, in VecRestoreArray(), MatRestoreRow(), MatDenseRestoreArray().

This routine is logically collective because state equality comparison needs to be possible without communication.

seealso: PetscObjectStateGet()

### Level

developer

### Location

include/petsc/private/petscimpl.h
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages