Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IDataFactory.h
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/* IDataFactory.h (C) 2000-2025 */
9/* */
10/* Interface of a data factory. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IDATAFACTORY_H
13#define ARCANE_CORE_IDATAFACTORY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29/*!
30 * \internal
31 * \brief Interface of a data factory.
32 * \todo Rename to 'IDataFactoryMng'.
33 * \warning This class is obsolete and should no longer be used outside of Arcane.
34 */
36{
37 public:
38
39 virtual ~IDataFactory() = default;
40
41 public:
42
43 //! Builds the instance
44 virtual void build() = 0;
45
46 //! Application
47 virtual IApplication* application() = 0;
48
49 /*!
50 * \brief Creates an operation performing a reduction of type \a rt.
51 * \todo put in another interface.
52 */
53 ARCCORE_DEPRECATED_2021("Do not use deprecated interface 'IDataFactory'. Use 'IDataFactoryMng' instead")
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60} // End namespace Arcane
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
Declarations of Arcane's general types.
File containing declarations concerning the message passing model.
Application interface.
virtual IDataOperation * createDataOperation(Parallel::eReduceType rt)=0
Creates an operation performing a reduction of type rt.
virtual IApplication * application()=0
Application.
virtual void build()=0
Builds the instance.
eReduceType
Supported reduction types.
Concurrency implementation.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --