を私の新しいプロジェクトで、私は動的::ブーストにベクトルを割り当て方法を変更し、後押し::行列
template<typename T>
class Data
{
public:
T getValue();
private:
boost::numeric::ublas::matrix<T> data;
}
のような上位層への単純なテンプレート記憶タイプを与えたいmodule.Iデータ管理を構築していますマイ目的は、Boost.interプロセスアロケータやBoost.poolアロケータなどのいくつかの異なるアロケータを使ってデータのアロケータを変更することです(Boost Ublasの行列とベクトルクラスはテンプレートパラメータとしてアロケータを使用します)。アロケータのカバー。仮想基本クラスは甘いかもしれませんが、私はテンプレートでそれを使用する方法を処理できませんでした。どのようなデザインパターンやソリューションを提供していますか?
編集:私はit.Real挑戦についての知識を持たないはずの私のポイントは、プログラムの上部であるstrategies.But私は別の割り当てと異なるクラスを持ちたいboost.poolとboost.shared_memory_allocator.Brieflyを使用します
同じ基本クラスを持つ異なるテンプレートクラスを収集することです。
編集: カスタムアロケータで行列クラスを使用したい方。
それはこのようなものです:
using boost::numeric::ublas;
template<typename T, class Allocator = boost::pool_allocator<T>>
class
{
public:
matrix<T, row_major, std::vector<T,Allocator>> mData;
}
申し訳ありませんが、わかりましたが、あなたの方法は実現可能です。 – Qubeuc
クール:)喜んで助けてください –