make_join Function
Constructs a non_greedy multitype_join messaging block from an optional Scheduler or ScheduleGroup and between two and ten input sources.
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
);
Parameters
_Type1
The message block type of the first source._Type2
The message block type of the second source._Type3
The message block type of the third source._Type4
The message block type of the fourth source._Type5
The message block type of the fifth source._Type6
_Type7
_Type8
_Type9
_Type10
_PScheduler
The Scheduler object within which the propagation task for the multitype_join messaging block is scheduled._Item1
The first source._Item2
The second source._Item3
The third source._Item4
The fourth source._Item5
The fifth source._Item6
_Item7
_Item8
_Item9
_Item10
_PScheduleGroup
The ScheduleGroup object within which the propagation task for the multitype_join messaging block is scheduled. The Scheduler object used is implied by the schedule group.
Return Value
A non_greedy multitype_join message block with between two and ten input sources.
Requirements
Header: agents.h
Namespace: concurrency