Voglio esporre lo boost::shared_Ptr
al livello Tcl usando SWIG. ma al momento non so che potrei esporlo. Ho scoperto che la cartella SWIG/Lib contiene il file di interfaccia per shared_ptr.i
. Ma nel contenuto ho scoperto che non potevo utilizzarlo direttamente. Deve essere incluso dopo "boost_shared_ptr.i
". Ma non c'è niente come boost_shared_ptr.i
nella cartella "SWIG/Lib/tcl
" ma abbiamo un'interfaccia simile che potrei includere in Java.Come esporre Boost :: shared_ptr <T> al file di interfaccia Tcl + SWIG?
risposta
Non puoi usare standard shared_ptr? Intendo std :: tr1 :: shared_ptr? In gcc si avrebbe bisogno di
#include <tr1/memory>
Non riesco a utilizzare std :: tr1 :: shared_ptr, poiché la mia libreria verrà utilizzata sia per Java che per TCL e ho già esposto tutto su Java e sembra che funzioni correttamente. –
Cosa c'è di più in Microsoft non è riuscito con la compatibilità C++ 0x. Funziona su WIN XP SP2 o su quest'ultimo, quindi se si crea un progetto, che avrà molti utenti, non è ancora possibile utilizzarlo. – ST3
Ultima volta che ho provato non c'era un buon supporto per boost/shared_ptr in tutti SWIG. Python ha avuto la migliore copertura. Sono interessato a sapere se questo è cambiato.
Per quanto riguarda la mia altra esperienza con SWIG, è anche necessario creare un'istanza del modello utilizzando il modello% per ogni tipo che si desidera esporre.
- 1. come boost :: ~ shared_ptr funziona?
- 2. Esporre un vettore come memoryview utilizzando SWIG
- 3. Do boost :: shared_ptr <T> e boost :: shared_ptr <const T> condividere il conteggio dei riferimenti?
- 4. Come gestire l'evoluto C++ std :: namespace? es: std :: tr1 :: shared_ptr vs. std :: shared_ptr vs boost :: shared_ptr vs boost :: tr1 :: shared_ptr
- 5. static_cast con boost :: shared_ptr?
- 6. boost :: ptr_container e std :: vector <shared_ptr>
- 7. Differenze tra tr1 :: shared_ptr e boost :: shared_ptr?
- 8. Per cosa è usato shared_ptr di boost (shared_ptr <Y> const & r, T * p)?
- 9. Downcasting shared_ptr <Base> to shared_ptr <Derived>?
- 10. Puntatore NULL con boost :: shared_ptr?
- 11. Come utilizzare l'espressione del generatore CMake $ <TARGET_FILE: tgt>?
- 12. Devo controllare boost :: shared_ptr o std :: shared_ptr prima di usarlo?
- 13. Inizializza Boost shared_ptr nel costruttore
- 14. Inizializza boost :: shared_ptr su NULL
- 15. boost shared_ptr casting to void *
- 16. Come eliminare intenzionalmente un boost :: shared_ptr?
- 17. C# esporre a COM - Interfaccia eredità
- 18. Casting shared_ptr <T> a shared_ptr <void>
- 19. Puoi potenziare SWIG :: opzionale <>?
- 20. C++ 11 std :: shared_ptr + boost :: serializzazione
- 21. const shared_ptr to shared_ptr
- 22. Come copiare in profondità l'oggetto completo dietro boost :: shared_ptr <T> in shared_ptr che punta a una nuova posizione?
- 23. Interfaccia Cocoa al file GEDCOM
- 24. Come esporre i buffer di byte grezzi con Boost :: Python?
- 25. Allocatore personalizzato (pool) con boost shared_ptr
- 26. No-op deallocatore per boost :: shared_ptr
- 27. Dichiarazioni di inoltro e shared_ptr
- 28. Personalizzazione di std :: shared_ptr o boost :: shared_ptr per generare un'eccezione su NULL dereference
- 29. Ha senso usare std :: shared_ptr <std::vector> invece di boost :: shared_array?
- 30. Come esporre std :: pair a python usando boost :: python?
Vorrei poterti aiutare, ma non ho mai eseguito il binding C++/Tcl in modo sostanziale e sicuramente non l'ho fatto con SWIG. (Conosco un po 'come associare i tipi fondamentali, ma 'shared_ptr'? Non ne ho idea, lavoro molto di più con la semplice vecchia C ...) –
Non stai cercando di esporre T come parametro a Tcl, vero? – AlexK
In realtà voglio creare degli handle per boost :: shared_ptr in tcl. –