J’écris un wrapper C pour du code OpenCV C ++ et j’ai 2 fonctions que j’utilise pour créer un object Mat et lui atsortingbuer des données, cv_create_Mat_type et cv_Mat_ptr_index, respectivement. Les fonctions sont comme elles doivent être, je ne peux pas les changer car il y a une partie d’un projet sur lequel je travaille. […]
J’ai utilisé cdef pour définir une classe python qui encapsule une classe C ++ avec Cython et cela fonctionne correctement. Cependant, quand j’utilise help (classe) en python ou en classe? Dans ipython, je reçois quelque chose comme: >>> TestClass.CTestClass? Init signature: TestClass.CTestClass() Docssortingng: File: ~/Coding/CythonWithCppTutorials/ClassCythonCPPWithMemberFunctions/TestClass.so Type: type Qui n’affiche pas de chaîne de documentation ou […]
Étant donné que la bibliothèque C suivante avec un événement de rappel demande de définir un tampon, comment écrire un wrapper C ++ / CLI approprié de manière sécurisée? // The callback signature typedef void (__cdecl *BUFFERALLOCATOR)(void *opaque, void **buffer); // A struct that contains the context of the library struct lib_context_base_s { // The […]
Quelle est la bonne façon d’écrire une classe wrapper autour d’un conteneur STL, qui est aussi un modèle (peut accepter un type générique T comme élément) et me permet d’utiliser un iterator comme je le ferais directement avec le conteneur STL? Je veux faire quelque chose du type suivant #include #include class MyClass{}; template class […]
J’ai un problème avec ma fonction d’emballage. template void wrap(Iter first, Iter last, SomeFunction someFunction) { someFunction(first, last); } Je voudrais l’utiliser comme ceci: template void fill5(Iter first, Iter last) { fill(first, last, 5); } int main() { vector v(100, -1); wrap(v.begin(), v.end(), fill5); } Mais je reçois test.cpp: In function ‘int main()’: test.cpp:16:40: error: […]
Nous avons COM dll qui a été écrit en C ++ et a été utilisé par les applications écrites en vb 6.0. Les plans de mon entreprise écrivent les nouvelles versions des applications sur la plate-forme .Net. En ce qui concerne les performances, lorsque vous utilisez une dll COM dans un projet C #, que […]
Ainsi, bien que je sois assez heureux de trouver beaucoup de réponses sur Stack Overflow, j’ai décidé qu’il était temps de poser une question moi-même. J’essaie d’utiliser un algorithme de recherche de racine avec des dérivés . Conformément au GSL, je dois définir la fonction et sa dérivée à l’avance. Mais je me demande si […]
Cette question combine unique_ptr en tant que membre de la classe et la sémantique de déplacement échoue lors de la compilation avec clang et C ++ std :: vector dans le constructeur . Mon but est de construire un wrapper struct V_wrapper{ std::vector<std::unique_ptr > vec; V_wrapper(std::vector<std::unique_ptr > v) : vec{std::move(v)} {} }; Malheureusement, ce code […]
Considérez la classe suivante: class MyClass1 { public: double x() const {return _x;} // getter double y() const {return _y;} // getter double z() const {return _x*_y;} // getter void x(const double var) {_x = var;} // setter void y(const double var) {_y = var;} // setter void z(const double var) {_x = var; _y […]
En répondant à cette question, j’ai écrit ce code de travail en encapsulant la fonction dans les arguments du modèle: template auto wrapper(Args… args)->decltype(fn(args…)){ return fn(args…); } #define WRAPPER(FUNC) wrapper Exemple d’utilisation (j’utilise ce code pour les tests): int min(int a, int b){ return (a<b)?a:b; } #include using std::cout; int main(){ cout<<WRAPPER(min)(10, 20)<<'\n'; } Deux […]