cppyabm  1.0.17
An agent-based library to integrate C++ and Python
Public Member Functions | Public Attributes | List of all members
pybind11.setup_helpers.ParallelCompile Class Reference
Inheritance diagram for pybind11.setup_helpers.ParallelCompile:
object handle

Public Member Functions

def __init__ (self, envvar=None, default=0, max=0, needs_recompile=no_recompile)
 
def function (self)
 
def install (self)
 
def __enter__ (self)
 
def __exit__ (self, *args)
 
- Public Member Functions inherited from object
 object ()=default
 
 PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h
 
 object (const object &o)
 Copy constructor; always increases the reference count. More...
 
 object (object &&other) noexcept
 Move constructor; steals the object from other and preserves its reference count. More...
 
 ~object ()
 Destructor; automatically calls handle::dec_ref() More...
 
handle release ()
 
objectoperator= (const object &other)
 
objectoperator= (object &&other) noexcept
 
template<typename T >
cast () const &
 
template<typename T >
cast () &&
 
 object (handle h, borrowed_t)
 
 object (handle h, stolen_t)
 
template<typename T >
cast () const &
 
template<typename T >
cast () &&
 
template<>
void cast () const &
 
template<>
void cast () &&
 
- Public Member Functions inherited from handle
 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer. More...
 
 handle (PyObject *ptr)
 Creates a handle from the given raw Python object pointer. More...
 
PyObject * ptr () const
 Return the underlying PyObject * pointer. More...
 
PyObject *& ptr ()
 
const handleinc_ref () const &
 
const handledec_ref () const &
 
template<typename T >
cast () const
 
 operator bool () const
 Return true when the handle wraps a valid Python object. More...
 
bool operator== (const handle &h) const
 
bool operator!= (const handle &h) const
 
bool check () const
 
template<>
void cast () const
 

Public Attributes

 envvar
 
 default
 
 max
 
 needs_recompile
 
- Public Attributes inherited from object
bool is_borrowed: handle(h) { if (is_borrowed) inc_ref()
 

Additional Inherited Members

- Protected Attributes inherited from handle
PyObject * m_ptr = nullptr
 

Detailed Description

Make a parallel compile function. Inspired by
numpy.distutils.ccompiler.CCompiler_compile and cppimport.

This takes several arguments that allow you to customize the compile
function created:

envvar:
    Set an environment variable to control the compilation threads, like
    NPY_NUM_BUILD_JOBS
default:
    0 will automatically multithread, or 1 will only multithread if the
    envvar is set.
max:
    The limit for automatic multithreading if non-zero
needs_recompile:
    A function of (obj, src) that returns True when recompile is needed.  No
    effect in isolated mode; use ccache instead, see
    https://github.com/matplotlib/matplotlib/issues/1507/

To use::

    ParallelCompile("NPY_NUM_BUILD_JOBS").install()

or::

    with ParallelCompile("NPY_NUM_BUILD_JOBS"):
        setup(...)

By default, this assumes all files need to be recompiled. A smarter
function can be provided via needs_recompile.  If the output has not yet
been generated, the compile will always run, and this function is not
called.

Definition at line 327 of file setup_helpers.py.

Constructor & Destructor Documentation

◆ __init__()

def pybind11.setup_helpers.ParallelCompile.__init__ (   self,
  envvar = None,
  default = 0,
  max = 0,
  needs_recompile = no_recompile 
)

Definition at line 365 of file setup_helpers.py.

Member Function Documentation

◆ __enter__()

def pybind11.setup_helpers.ParallelCompile.__enter__ (   self)

Definition at line 439 of file setup_helpers.py.

◆ __exit__()

def pybind11.setup_helpers.ParallelCompile.__exit__ (   self,
args 
)

Definition at line 443 of file setup_helpers.py.

◆ function()

def pybind11.setup_helpers.ParallelCompile.function (   self)
Builds a function object usable as distutils.ccompiler.CCompiler.compile.

Definition at line 372 of file setup_helpers.py.

◆ install()

def pybind11.setup_helpers.ParallelCompile.install (   self)

Definition at line 435 of file setup_helpers.py.

Member Data Documentation

◆ default

pybind11.setup_helpers.ParallelCompile.default

Definition at line 367 of file setup_helpers.py.

◆ envvar

pybind11.setup_helpers.ParallelCompile.envvar

Definition at line 366 of file setup_helpers.py.

◆ max

pybind11.setup_helpers.ParallelCompile.max

Definition at line 368 of file setup_helpers.py.

◆ needs_recompile

pybind11.setup_helpers.ParallelCompile.needs_recompile

Definition at line 369 of file setup_helpers.py.


The documentation for this class was generated from the following file: