Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
O
oofem-project
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Ernesto Oquelis
oofem-project
Merge requests
!1
2d element
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
2d element
2d_element
into
master
Overview
0
Commits
14
Pipelines
0
Changes
134
Merged
Ernesto Oquelis
requested to merge
2d_element
into
master
6 years ago
Overview
0
Commits
14
Pipelines
0
Changes
134
Expand
0
0
Merge request reports
Compare
master
master (base)
and
latest version
latest version
7b360c7d
14 commits,
6 years ago
134 files
+
80270
−
3
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
134
Search (e.g. *.vue) (Ctrl+P)
meshpy/.eggs/pybind11-2.2.4-py3.7.egg/EGG-INFO/DESCRIPTION.rst
0 → 100644
+
24
−
0
Options
pybind11 is a lightweight header-only library that
exposes C++ types in Python and vice versa, mainly to create Python bindings of
existing C++ code. Its goals and syntax are similar to the excellent
Boost.Python by David Abrahams: to minimize boilerplate code in traditional
extension modules by inferring type information using compile-time
introspection.
The main issue with Boost.Python-and the reason for creating such a similar
project-is Boost. Boost is an enormously large and complex suite of utility
libraries that works with almost every C++ compiler in existence. This
compatibility has its cost: arcane template tricks and workarounds are
necessary to support the oldest and buggiest of compiler specimens. Now that
C++11-compatible compilers are widely available, this heavy machinery has
become an excessively large and unnecessary dependency.
Think of this library as a tiny self-contained version of Boost.Python with
everything stripped away that isn't relevant for binding generation. Without
comments, the core header files only require ~4K lines of code and depend on
Python (2.7 or 3.x, or PyPy2.7 >= 5.7) and the C++ standard library. This
compact implementation was possible thanks to some of the new C++11 language
features (specifically: tuples, lambda functions and variadic templates). Since
its creation, this library has grown beyond Boost.Python in many ways, leading
to dramatically simpler binding code in many common situations.
Loading