Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De concurrent_priority_queue klasse is een container waarmee meerdere threads gelijktijdig items kunnen pushen en pop-items kunnen pushen. Items worden weergegeven in prioriteitsvolgorde waarbij prioriteit wordt bepaald door een functor die als sjabloonargument wordt opgegeven.
Syntaxis
template <typename T,
typename _Compare = std::less<T>,
typename _Ax = std::allocator<T>>
class concurrent_priority_queue;
Parameterwaarden
T
Het gegevenstype van de elementen die moeten worden opgeslagen in de prioriteitswachtrij.
_Vergelijken
Het type van het functieobject waarmee twee elementwaarden kunnen worden vergeleken als sorteersleutels om de relatieve volgorde in de prioriteitswachtrij te bepalen. Dit argument is optioneel en het binaire predicaat less<T> is de standaardwaarde.
_Bijl
Het type dat het opgeslagen allocatorobject vertegenwoordigt dat details bevat over de toewijzing en toewijzing van het geheugen voor de wachtrij met gelijktijdige prioriteit. Dit argument is optioneel en de standaardwaarde is allocator<T>.
Leden
Openbare typedefs
| Naam | Beschrijving |
|---|---|
allocator_type |
Een type dat de allocatorklasse vertegenwoordigt voor de wachtrij met gelijktijdige prioriteit. |
const_reference |
Een type dat een constverwijzing vertegenwoordigt naar een element van het type dat is opgeslagen in een wachtrij met gelijktijdige prioriteit. |
reference |
Een type dat een verwijzing vertegenwoordigt naar een element van het type dat is opgeslagen in een wachtrij met gelijktijdige prioriteit. |
size_type |
Een type waarmee het aantal elementen in een wachtrij met gelijktijdige prioriteit wordt geteld. |
value_type |
Een type dat het gegevenstype vertegenwoordigt dat is opgeslagen in een wachtrij met gelijktijdige prioriteit. |
Openbare constructors
| Naam | Beschrijving |
|---|---|
| concurrent_priority_queue | Overbelast. Maakt een wachtrij met gelijktijdige prioriteit. |
Openbare methoden
| Naam | Beschrijving |
|---|---|
| wissen | Hiermee worden alle elementen in de gelijktijdige prioriteit gewist. Deze methode is niet gelijktijdigheidsveilig. |
| leeg | Test of de wachtrij voor gelijktijdige prioriteit leeg is op het moment dat deze methode wordt aangeroepen. Deze methode is gelijktijdigheidsveilig. |
| get_allocator | Retourneert een kopie van de allocator die wordt gebruikt om de wachtrij met gelijktijdige prioriteit samen te stellen. Deze methode is gelijktijdigheidsveilig. |
| pushen | Overbelast. Hiermee voegt u een element toe aan de wachtrij met gelijktijdige prioriteit. Deze methode is gelijktijdigheidsveilig. |
| grootte | Retourneert het aantal elementen in de wachtrij met gelijktijdige prioriteit. Deze methode is gelijktijdigheidsveilig. |
| ruilen | Hiermee wordt de inhoud van twee wachtrijen met gelijktijdige prioriteit gewisseld. Deze methode is niet gelijktijdigheidsveilig. |
| try_pop | Verwijdert en retourneert het element met de hoogste prioriteit uit de wachtrij als de wachtrij niet leeg is. Deze methode is gelijktijdigheidsveilig. |
Openbare operators
| Naam | Beschrijving |
|---|---|
| operator = | Overbelast. Hiermee wordt de inhoud van een ander concurrent_priority_queue object aan dit object toegewezen. Deze methode is niet gelijktijdigheidsveilig. |
Opmerkingen
Zie concurrent_priority_queuevoor gedetailleerde informatie over de klasse .
Overnamehiërarchie
concurrent_priority_queue
Behoeften
Koptekst: concurrent_priority_queue.h
naamruimte: gelijktijdigheid
duidelijk
Hiermee worden alle elementen in de gelijktijdige prioriteit gewist. Deze methode is niet gelijktijdigheidsveilig.
void clear();
Opmerkingen
clear is niet gelijktijdigheidsveilig. U moet ervoor zorgen dat er geen andere threads methoden aanroepen in de wachtrij met gelijktijdige prioriteit wanneer u deze methode aanroept.
clear maakt geen geheugen vrij.
concurrent_priority_queue
Maakt een wachtrij met gelijktijdige prioriteit.
explicit concurrent_priority_queue(
const allocator_type& _Al = allocator_type());
explicit concurrent_priority_queue(
size_type _Init_capacity,
const allocator_type& _Al = allocator_type());
template<typename _InputIterator>
concurrent_priority_queue(_InputIterator _Begin,
_InputIterator _End,
const allocator_type& _Al = allocator_type());
concurrent_priority_queue(
const concurrent_priority_queue& _Src);
concurrent_priority_queue(
const concurrent_priority_queue& _Src,
const allocator_type& _Al);
concurrent_priority_queue(
concurrent_priority_queue&& _Src);
concurrent_priority_queue(
concurrent_priority_queue&& _Src,
const allocator_type& _Al);
Parameterwaarden
_InputIterator
Het type invoer-iterator.
_Al
De allocatorklasse die met dit object moet worden gebruikt.
_Init_capacity
De oorspronkelijke capaciteit van het concurrent_priority_queue object.
_Beginnen
De positie van het eerste element in het bereik van elementen dat moet worden gekopieerd.
_Einde
De positie van het eerste element buiten het bereik van elementen dat moet worden gekopieerd.
_Src
Het bronobject concurrent_priority_queue kopiëren of verplaatsen van elementen.
Opmerkingen
Alle constructors slaan een allocatorobject _Al op en initialiseren de prioriteitswachtrij.
De eerste constructor geeft een lege wachtrij met eerste prioriteit op en geeft desgewenst een allocator op.
De tweede constructor geeft een prioriteitswachtrij met een initiële capaciteit _Init_capacity op en geeft desgewenst een allocator op.
De derde constructor geeft waarden op die worden opgegeven door het iteratorbereik [ _Begin, _End) en geeft desgewenst een allocator op.
De vierde en vijfde constructors geven een kopie van de prioriteitswachtrij _Srcop.
De zesde en zevende constructors geven een verplaatsing van de prioriteitswachtrij _Srcop.
leeg
Test of de wachtrij voor gelijktijdige prioriteit leeg is op het moment dat deze methode wordt aangeroepen. Deze methode is gelijktijdigheidsveilig.
bool empty() const;
Retourwaarde
true als de prioriteitswachtrij leeg was op het moment dat de functie werd aangeroepen, false anders.
get_allocator
Retourneert een kopie van de allocator die wordt gebruikt om de wachtrij met gelijktijdige prioriteit samen te stellen. Deze methode is gelijktijdigheidsveilig.
allocator_type get_allocator() const;
Retourwaarde
Een kopie van de allocator die wordt gebruikt om het concurrent_priority_queue object samen te stellen.
operator=
Hiermee wordt de inhoud van een ander concurrent_priority_queue object aan dit object toegewezen. Deze methode is niet gelijktijdigheidsveilig.
concurrent_priority_queue& operator= (const concurrent_priority_queue& _Src);
concurrent_priority_queue& operator= (concurrent_priority_queue&& _Src);
Parameterwaarden
_Src
Het bronobject concurrent_priority_queue.
Retourwaarde
Een verwijzing naar dit concurrent_priority_queue-object.
duwen
Hiermee voegt u een element toe aan de wachtrij met gelijktijdige prioriteit. Deze methode is gelijktijdigheidsveilig.
void push(const value_type& _Elem);
void push(value_type&& _Elem);
Parameterwaarden
_Elem
Het element dat moet worden toegevoegd aan de wachtrij met gelijktijdige prioriteit.
grootte
Retourneert het aantal elementen in de wachtrij met gelijktijdige prioriteit. Deze methode is gelijktijdigheidsveilig.
size_type size() const;
Retourwaarde
Het aantal elementen in dit concurrent_priority_queue object.
Opmerkingen
De geretourneerde grootte is gegarandeerd om alle elementen op te nemen die door aanroepen aan de functie pushworden toegevoegd. Het kan echter niet overeenkomen met resultaten van gelijktijdige bewerkingen die in behandeling zijn.
ruilen
Hiermee wordt de inhoud van twee wachtrijen met gelijktijdige prioriteit gewisseld. Deze methode is niet gelijktijdigheidsveilig.
void swap(concurrent_priority_queue& _Queue);
Parameterwaarden
_Rij
Het concurrent_priority_queue object waarmee inhoud moet worden gewisseld.
try_pop
Verwijdert en retourneert het element met de hoogste prioriteit uit de wachtrij als de wachtrij niet leeg is. Deze methode is gelijktijdigheidsveilig.
bool try_pop(reference _Elem);
Parameterwaarden
_Elem
Een verwijzing naar een variabele die wordt gevuld met het element met de hoogste prioriteit als de wachtrij niet leeg is.
Retourwaarde
true als er een waarde is weergegeven, false anders.
Zie ook
naamruimte voor gelijktijdigheid
parallelle containers en objecten