[petsc-dev] Stricter header includes

Barry Smith bsmith at mcs.anl.gov
Tue Feb 12 16:34:49 CST 2013


   Certain PETSc "functions" are documented as being "Developer" level. Does this mean they will be in a "developer" API as opposed to the "user" API (for example in xxximpl.h instead of petscxxx.h)?  Or will there not be a "developer" API at all and xxximpl.h merely provides access to the direct data structure.

  
On Feb 12, 2013, at 4:24 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> The PetscObjectState* and PetscObjectComposedData* routines are in petscimpl, but documented as a public API. It would be nice to turn all these macros into functions (which will change their signature).

   I'm a big fan of turning CPP macros into functions so would be happy to see this happen.

   Barry

> I'm dubious of any claims that these are called in a context where a static function call would be a performance limitation.
> 
> 
> On Tue, Feb 12, 2013 at 9:39 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> petscsys.h no longer includes petscimpl.h (including the _p_PetscObject definition) and petscvec.h no longer includes vecimpl.h (including _p_Vec). Users that need direct access can include the private headers, but we encourage you to explain your use case here so that we can provide a suitable public API.
> 
> Merged here:
> 
> https://bitbucket.org/petsc/petsc-dev/commits/5c59734726c7c41f493a5f5b9303cfab5c66ae21
> 




More information about the petsc-dev mailing list