t-sakashita / rokko

Integrated Interface for libraries of eigenvalue decomposition
Boost Software License 1.0
10 stars 2 forks source link

ファクトリにおいて、デフォルト以外のコンストラクタで生成できるようにする。 #529

Closed t-sakashita closed 4 years ago

t-sakashita commented 4 years ago

パラメータパックを使う。

注意:

t-sakashita commented 4 years ago

9ea78c0f048c01dbcb0425c5e4fe1c6cc89eef44

t-sakashita commented 4 years ago

ライブラリ名の文字列のチェックとダウンキャストを行う関数を定義する。 この関数は、コンストラクタの本体ではなく、メンバ初期化子リストにおいて呼び出せる。 00e4d6ddb7807ee4c5bc0959db14a7e449cc0f0a

t-sakashita commented 4 years ago

std::shared_ptrを引数とするコンストラクタを定義し、これを委譲コンストラクタとして呼び出すことで簡単化した。

bd4aa6c7fd7999d17e17a49590d297a8acc2d16d

t-sakashita commented 4 years ago

*1つのクラスの特殊化では、一種類の引数の組に対するコンストラクタしか扱えない。

今の所は、それで困らない。

t-sakashita commented 4 years ago

以下は、AnasziとSLEPc版は、基底クラスがある。

そのため、abstract_creatorは不要である。 そのようなfactoryのクラスを別に定義する方法もある。