あるオープンソースのC++ライブラリから別のライブラリに機能を追加する方法を知りたいです。具体的には、例を示します。Armadilloライブラリの「find」関数が本当に好きです。今ではeigenを使用していることに気付いたので、ちょっと懐かしく思います。eigenに完全に統合される(つまり、eigenオブジェクトを使用するなど)「find」に相当するものを書くのはどれほど難しいでしょうか?これをどのように行うのですか?「検索」機能のソースコードはどこにありますか?
前もって感謝します、
ライブラリ間の違いを考慮して、自分で作成する必要があります。ただし、拡張しようとしているライブラリについての知識が必要になる場合があります。
armadilloのコードを読んで、この関数で何が行われるかを理解することから始めます。次に、類似の構造がeigenにどのように実装されているかを理解し、コードを変更します。それをeigenに統合して、1つのライブラリ(標準eigenおよびカスタムeigen拡張機能ではなく、カスタムeigenのみ)に対してリンクする必要がある場合は、ファイルをMakefile/Cmakeに追加してeigenをコンパイルする必要があります。 (または固有値が使用しているものは何でも)。
ここでtar.gzアーカイブにアルマジロのソースを見つけることができます:http://arma.sourceforge.net/download.html
find
アルマジロソースのオペレーターはどこにいるのかを尋ねる場合は、チェックinclude/armadillo_bits/op_find_bones.hpp
してinclude/armadillo_bits/op_find_meat.hpp