Scarab  v2.9.0
Project 8 C++ Utility Library
Public Member Functions | Private Attributes | List of all members
scoped_interpreter Class Reference

#include <embed.h>

Public Member Functions

 scoped_interpreter (bool init_signal_handlers=true)
 
 scoped_interpreter (const scoped_interpreter &)=delete
 
 scoped_interpreter (scoped_interpreter &&other) noexcept
 
scoped_interpreteroperator= (const scoped_interpreter &)=delete
 
scoped_interpreteroperator= (scoped_interpreter &&)=delete
 
 ~scoped_interpreter ()
 

Private Attributes

bool is_valid = true
 

Detailed Description

Scope guard version of initialize_interpreter and finalize_interpreter. This a move-only guard and only a single instance can exist.

.. code-block:: cpp

#include <pybind11/embed.h>

int main() {
    py::scoped_interpreter guard{};
    py::print(Hello, World!);
} // <-- interpreter shutdown

Definition at line 180 of file embed.h.

Constructor & Destructor Documentation

◆ scoped_interpreter() [1/3]

scoped_interpreter ( bool  init_signal_handlers = true)
inline

Definition at line 182 of file embed.h.

◆ scoped_interpreter() [2/3]

scoped_interpreter ( const scoped_interpreter )
delete

◆ scoped_interpreter() [3/3]

scoped_interpreter ( scoped_interpreter &&  other)
inlinenoexcept

Definition at line 187 of file embed.h.

◆ ~scoped_interpreter()

~scoped_interpreter ( )
inline

Definition at line 191 of file embed.h.

Member Function Documentation

◆ operator=() [1/2]

scoped_interpreter& operator= ( const scoped_interpreter )
delete

◆ operator=() [2/2]

scoped_interpreter& operator= ( scoped_interpreter &&  )
delete

Member Data Documentation

◆ is_valid

bool is_valid = true
private

Definition at line 197 of file embed.h.


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