Solution to functions that tries modifying immutable arguments passed by reference
- Langage dominant
- C++
- Étoiles
- 197
- Forks
- 47
- Merge moyen
- 2 j 2 h
- PR mergées (30 j)
- 6
Description
Hello,
Have you found any solution for handling functions that return values via output parameters passed by reference, especially when those parameters are of immutable types?
This becomes a problem with important functions like [BRep_Tool::CurveOnSurface](https://dev.opencascade.org/doc/occt-7.2.0/refman/html/class_b_rep___tool.html#aeaa70c29f0a30d827fd8a36116d74b91). In such cases, the function modifies the arguments passed by reference (e.g., to return the first and last parameters of the Geom2d_Curve), but when these are immutable types in the binding language, we can’t retrieve the modified values.
This effectively blocks access to important return data.
Some relevant references:
[pybind11 FAQ – Limitations involving reference arguments](https://pybind11.readthedocs.io/en/stable/faq.html#limitations-involving-reference-arguments)
[pyOCCT developer notes – Reference arguments](https://pyocct.readthedocs.io/en/latest/dev.html#reference-arguments)
Would appreciate any guidance or workarounds!
Thanks in advance.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par BRep_Tool::CurveOnSurface et examinez la FAQ pybind11 liée ainsi que les notes des développeurs de pyOCCT sur les arguments de référence. Déterminez l’étendue nécessaire au niveau du binding pour exposer les premier et dernier paramètres modifiés de la courbe, puis vérifiez que les appelants peuvent récupérer ces valeurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp, python
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100