을 내 새로운 프로젝트에서 내가동적 :: 향상에 벡터를 할당 전략을 변경하고 부스트 : 매트릭스
template<typename T>
class Data
{
public:
T getValue();
private:
boost::numeric::ublas::matrix<T> data;
}
같은 상위 계층에 대한 간단한 템플릿 저장 유형을 제공 할 module.I 데이터 관리를 구축하고 내 목표는 Boost.inter 프로세스 할당 자나 Boost.pool 할당 자와 같은 다른 할당자를 사용하여 데이터 할당자를 변경하는 것입니다 (부스트 Ublas 행렬 및 벡터 클래스는 할당자를 템플릿 매개 변수로 사용합니다). 그리고 단일 클래스 및 Factory 메소드를 사용하여 적절한 allocator under cover.A 가상 기본 클래스는 달콤한 수 있지만 템플릿을 사용하는 방법을 처리 할 수 없습니다. 어떤 종류의 디자인 패턴 또는 솔루션을 제공합니까?
편집 : 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
차가움 :) 도와 줘서 다행 –