Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Dispatchers.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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-2025 */
9/* */
10/* Container for 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
55ARCCORE_NORETURN()
56{
57 ARCCORE_THROW(NotImplementedException, "Generic gather");
58}
59
60/*---------------------------------------------------------------------------*/
61/*---------------------------------------------------------------------------*/
62
63} // namespace Arcane::MessagePassing
64
65/*---------------------------------------------------------------------------*/
66/*---------------------------------------------------------------------------*/
#define ARCCORE_THROW(exception_class,...)
Macro to throw an exception with formatting.
Declarations of types and methods used by message exchange mechanisms.