Aracılığıyla paylaş


parallel_sort işlevi

Belirtilen aralıktaki öğelerin nondescending bir sipariş veya paralel bir ikili karşılaştırma belirtimi tarafından belirtilen bir sıralama ölçütü için göre düzenler. Bu işlev anlam benzer std::sort karşılaştırmaya dayalı, kararsız, yerinde sıralama olduðunu anýmsayýn.

template<
   typename _Random_iterator
>
inline void parallel_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End
);

template<
   typename _Random_iterator,
   typename _Function
>
inline void parallel_sort(
   const _Random_iterator &_Begin,
   const _Random_iterator &_End,
   const _Function &_Func,
   const size_t _Chunk_size = 2048
);

Parametreler

  • _Random_iterator
    Giriş aralığı Yineleyici türü.

  • _Function
    İkili karşılaştırma functor türü.

  • _Begin
    Sıralanan aralıkta ilk öğenin konumunu adresleme bir rasgele erişim Yineleyici.

  • _End
    Sıralanacak geçen aralıktaki son öğenin konumunu adresleme bir rasgele erişim Yineleyici.

  • _Func
    Sıralama, birbirini izleyen öğeleri tarafından karşılanması karşılaştırma ölçütü tanımlar doðrulama işlevi kullanıcı tanımlı bir nesne. İkili karşılaştırma iki baðýmsýz deðiþken alýr ve döner true memnun, ve false zaman uygulanmadı. Bu karşılaştırıcı işlevi, bir katı zayıf çiftleri serisinden öğelerinin üzerinde sipariş tanıtamazlar gerekir.

  • _Chunk_size
    İki paralel yürütme içine split öbek mimimum boyutu.

Notlar

İlk aşırı kullanan ikili karşılaştırıcı std::less.

İkinci aşırı kullandığı imza olmalıdır ikili sağlanan karşılaştırıcı bool _Func(T, T) burada T giriş aralığındaki öğeleri türüdür.

Algoritma giriş aralığı iki bölmek böler ve her bir parça paralel yürütme için iki sub-chunks ilki böler. İsteğe bağlı bağımsız değişkeni _Chunk_size algoritması, işleme boyutu parçalarını belirtmek için kullanılan < _Chunk_sizeseri olarak.

Gereksinimler

Başlık: ppl.h

Namespace: eşzamanlılık

Ayrıca bkz.

Başvuru

eşzamanlılık ad