<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-03-08 21:31 GMT+01:00 Alessandro Re <span dir="ltr"><<a href="mailto:ale@ale-re.net" target="_blank">ale@ale-re.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">2015-03-08 20:24 GMT+00:00 Manlio Perillo <<a href="mailto:manlio.perillo@gmail.com">manlio.perillo@gmail.com</a>>:<br>
> Intendevo dire cosa usi per chiamare il codice C++.<br>
<br>
</span>Ah, forse ho capito: intendi dire se uso qualche modulo python per<br>
usare C++, tipo ctypes?<br>
Non uso niente di simile: sto usando una libreria che ha dei binding<br>
in python, quindi includo il modulo, eredito una classe e costruisco<br>
su quella.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>L'unica soluzione "semplice" che  mi venga in mente, è quella di costruire dei proxy alle instanze delle classi C++ che usi,</div><div>così come il modulo weakref lo fa per oggetti Python.</div><div><br></div><div>Che io sappia in C++ l'unico modo per creare un proxy per una classe CT è quello di creare una sotto classe e ridefinire i costruttori e il distruttore.</div><div><br></div><div>class PT public CT {</div><div>   // nel costruttore accetti una callback</div><div>   // nel distruttore chiami la callback</div><div>}</div><div><br></div><div>Quindi quando il codice originale richiede un CT, tu instanzi e passi un PT.</div><div>Temo però che per casi non banali sia un bagno di sangue farlo a mano.</div><div>Però se la cosa è fattibile, sicuramente qualcuno l'ha già implementata</div><div><br></div><div></div></div><br></div><div class="gmail_extra">Ciao  Manlio</div></div>