Функция make_join

Конструирует блок сообщений non_greedy multitype_join из необязательного Scheduler или ScheduleGroup и от двух до десяти источников ввода.

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
    Объект Scheduler, в котором запланировано выполнение задания распространения блока сообщений multitype_join.

  • _Item1
    Первый источник.

  • _Item2
    Второй источник.

  • _Item3
    Третий источник.

  • _Item4
    Четвертый источник.

  • _Item5
    Пятый источник.

  • _Item6

  • _Item7

  • _Item8

  • _Item9

  • _Item10

  • _PScheduleGroup
    Объект ScheduleGroup, в котором запланировано выполнение задания распространения блока сообщений multitype_join.Используемый объект Scheduler задается группой расписаний.

Возвращаемое значение

Блок сообщений non_greedy multitype_join с от двух до десяти источников ввода.

Требования

Заголовок: agents.h

Параллелизм пространство имен:

См. также

Ссылки

Пространство имен concurrency

Класс multitype_join

Класс Scheduler

Класс ScheduleGroup