make_join 函式
從選擇性的 Scheduler 或 ScheduleGroup 與二到十個輸入來源建立 non_greedy multitype_join 傳訊區塊。
template<
typename _Type1,
typename _Type2
>
multitype_join<std::tr1::tuple<_Type1, _Type2>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9,
typename _Type10
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_join(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9,
_Type10_Item10
);
template<
typename _Type1,
typename _Type2
>
multitype_join<std::tr1::tuple<_Type1, _Type2>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9,
typename _Type10
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_join(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9,
_Type10_Item10
);
template<
typename _Type1,
typename _Type2
>
multitype_join<std::tr1::tuple<_Type1, _Type2>> make_join(
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6,
typename _Type7,
typename _Type8,
typename _Type9,
typename _Type10
>
multitype_join<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_join(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5,
_Type6_Item6,
_Type7_Item7,
_Type8_Item8,
_Type9_Item9,
_Type10_Item10
);
參數
_Type1
第一個來源的訊息區塊類型。_Type2
第二個來源的訊息區塊類型。_Type3
第三個來源的訊息區塊類型。_Type4
第四個來源的訊息區塊類型。_Type5
第五個來源的訊息區塊類型。_Type6
第六個來源的訊息區塊類型。_Type7
第七個來源的訊息區塊類型。_Type8
第八個來源的訊息區塊類型。_Type9
第九個來源的訊息區塊類型。_Type10
第十個來源的訊息區塊類型。_PScheduler
在其中排程 multitype_join 傳訊區塊之傳播工作的 Scheduler 物件。_Item1
第一個來源。_Item2
第二個來源。_Item3
第三個來源。_Item4
第四個來源。_Item5
第五個來源。_Item6
第六個來源。_Item7
第七個來源。_Item8
第八個來源。_Item9
第九個來源。_Item10
第十個來源。_PScheduleGroup
在其中排程 multitype_join 傳訊區塊之傳播工作的 ScheduleGroup 物件。 排程群組會隱含所用的 Scheduler 物件。
傳回值
具有兩個到十個輸入來源的 non_greedy multitype_join 訊息區塊。
需求
標頭: agents.h
**命名空間:**並行