make_choice 函数
从可选的 Scheduler 或 ScheduleGroup 及两个和十个输入源之间构造 choice 消息块。
template<
typename _Type1,
typename _Type2
>
choice<std::tr1::tuple<_Type1, _Type2>> make_choice(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3>> make_choice(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_choice(
Scheduler& _PScheduler,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_choice(
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
>
choice<std::tr1::tuple<_Type1>> make_choice(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1
);
template<
typename _Type1,
typename _Type2
>
choice<std::tr1::tuple<_Type1, _Type2>> make_choice(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3>> make_choice(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_choice(
ScheduleGroup& _PScheduleGroup,
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_choice(
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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_choice(
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
>
choice<std::tr1::tuple<_Type1>> make_choice(
_Type1_Item1
);
template<
typename _Type1,
typename _Type2
>
choice<std::tr1::tuple<_Type1, _Type2>> make_choice(
_Type1_Item1,
_Type2_Item2
);
template<
typename _Type1,
typename _Type2,
typename _Type3
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3>> make_choice(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4>> make_choice(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5>> make_choice(
_Type1_Item1,
_Type2_Item2,
_Type3_Item3,
_Type4_Item4,
_Type5_Item5
);
template<
typename _Type1,
typename _Type2,
typename _Type3,
typename _Type4,
typename _Type5,
typename _Type6
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6>> make_choice(
_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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7>> make_choice(
_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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8>> make_choice(
_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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9>> make_choice(
_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
>
choice<std::tr1::tuple<_Type1, _Type2, _Type3, _Type4, _Type5, _Type6, _Type7, _Type8, _Type9, _Type10>> make_choice(
_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
Scheduler 对象,在其中计划 choice 消息块的传播任务。_Item1
第一个源。_Item2
第二个源。_Item3
第三个源。_Item4
第四个源。_Item5
第五个源。_Item6
第六个源。_Item7
第七个源。_Item8
第八个源。_Item9
第九个资源。_Item10
第十个源。_PScheduleGroup
ScheduleGroup 对象,在其中计划 choice 消息块的传播任务。 所用的 Scheduler 对象由计划组指示。
返回值
choice 消息块,具有两个到十个输入源。
要求
**标头:**agents.h
命名空间: 并发