Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Dispatchers.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* Dispatchers.cc (C) 2000-2024 */
9/* */
10/* Conteneur des dispatchers. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/message_passing/Dispatchers.h"
15#include "arccore/message_passing/ITypeDispatcher.h"
16#include "arccore/message_passing/IControlDispatcher.h"
17#include "arccore/message_passing/ISerializeDispatcher.h"
18#include "arccore/message_passing/Request.h"
19
20#include "arccore/base/NotImplementedException.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31Dispatchers::
32Dispatchers()
33{
34}
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38
39Dispatchers::
40~Dispatchers()
41{
42 if (m_is_delete_dispatchers) {
43 m_container.apply([&](auto x){ delete x; });
44
45 delete m_control;
46 delete m_serialize;
47 }
48}
49
50/*---------------------------------------------------------------------------*/
51/*---------------------------------------------------------------------------*/
52
53extern "C++" ARCCORE_MESSAGEPASSING_EXPORT void
54_internalThrowNotImplementedTypeDispatcher ARCCORE_NORETURN ()
55{
56 ARCCORE_THROW(NotImplementedException,"Generic gather");
57}
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
62} // End namespace Arccore::MessagePassing
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
void apply(const Lambda &func)
Applique la fonction lambda func à tous les conteneurs.
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...