A facility for creating Python extensions in C++
Python extensions are usually created by writing the glue that connects Python to the desired new functionality in the C language. While simple extensions do not require much effort, to do the job correctly with full error checking is tedious and prone to errors in reference counting and to memory leaks, especially when errors occur. The resulting program is difficult to read and maintain. By designing suitable C++ classes to wrap the Python C API, we are able to produce extensions that are correct and which clean up after themselves correctly when errors occur. This facility also integrates the C++ and Python exception facilities. This paper briefly describes our package for this purpose, named CXX. The emphasis is on our design choices and the way these contribute to the construction of accurate Python extensions. We also briefly relate the way CXX's facilities for sequence classes allow use of C++'s Standard Template Library (STL) algorithms on C++ sequences.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE Office of Defense Programs (DP) (US)
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 14305
- Report Number(s):
- UCRL-JC-131396; DP0210000; DP0210000; TRN: AH200136%%445
- Resource Relation:
- Conference: Seventh International Python Conference, Houston, TX (US), 11/09/1998--11/13/1998; Other Information: PBD: 14 Jul 1998
- Country of Publication:
- United States
- Language:
- English
Similar Records
Bocca: A Development Environment for HPC Components
Bocca : A development environment for HPC components.