17#ifndef CYBER_DATA_FUSION_DATA_FUSION_H_
18#define CYBER_DATA_FUSION_DATA_FUSION_H_
34template <
typename M0,
typename M1 = NullType,
typename M2 = NullType,
35 typename M3 = NullType>
39 virtual bool Fusion(uint64_t* index, std::shared_ptr<M0>& m0,
40 std::shared_ptr<M1>& m1,
41 std::shared_ptr<M2>& m2,
42 std::shared_ptr<M3>& m3) = 0;
45template <
typename M0,
typename M1,
typename M2>
50 virtual bool Fusion(uint64_t* index, std::shared_ptr<M0>& m0,
51 std::shared_ptr<M1>& m1,
52 std::shared_ptr<M2>& m2) = 0;
55template <
typename M0,
typename M1>
60 virtual bool Fusion(uint64_t* index, std::shared_ptr<M0>& m0,
61 std::shared_ptr<M1>& m1) = 0;
virtual bool Fusion(uint64_t *index, std::shared_ptr< M0 > &m0, std::shared_ptr< M1 > &m1, std::shared_ptr< M2 > &m2)=0
virtual bool Fusion(uint64_t *index, std::shared_ptr< M0 > &m0, std::shared_ptr< M1 > &m1)=0
virtual bool Fusion(uint64_t *index, std::shared_ptr< M0 > &m0, std::shared_ptr< M1 > &m1, std::shared_ptr< M2 > &m2, std::shared_ptr< M3 > &m3)=0