次のような機能を探しています。
template<typename T, boost::function<T* (HandleId)> resolveFunc>
class Handle
{
public:
T* resolve() const
{
return resolveFunc(_handleId);
}
private:
HandleId _handleId;
};
これを行う方法が見つからないようです。sizeof(Handle) == sizeof(HandleId) であることが重要なので、関数をメンバーとして格納することはできません..
誰でも助けることができますか?:)