Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
ArcaneSimpleExecutor.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/* ArcaneSimpleExecutor.h (C) 2000-2026 */
9/* */
10/* Class for executing code directly via Arcane. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_INTERNALINFOSDUMPER_H
13#define ARCANE_IMPL_INTERNALINFOSDUMPER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class ISubDomain;
29class ApplicationInfo;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
53class ARCANE_IMPL_EXPORT ArcaneSimpleExecutor
54{
55 class Impl;
56
57 public:
58
59 ArcaneSimpleExecutor();
60 ArcaneSimpleExecutor(const ArcaneSimpleExecutor&) = delete;
61 ~ArcaneSimpleExecutor() noexcept(false);
62 const ArcaneSimpleExecutor& operator=(const ArcaneSimpleExecutor&) = delete;
63
64 public:
65
66 ApplicationBuildInfo& applicationBuildInfo();
67 const ApplicationBuildInfo& applicationBuildInfo() const;
68
69 int initialize();
70 ISubDomain* createSubDomain(const String& case_file_name);
71 ISubDomain* createSubDomain(const String& case_file_name,
72 Span<const std::byte> file_content);
73 int runCode(IFunctor* f);
74
75 private:
76
77 Impl* m_p;
78
79 private:
80
81 void _checkInit();
83};
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88} // End namespace Arcane
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93#endif
Declarations of types used in Arcane.
Information for constructing an instance of IApplication.
Application information.
void _setDefaultVerbosityLevel(Integer level)
Sets the trace level to level if it is not set.
Interface of the subdomain manager.
Definition ISubDomain.h:75
View of an array of elements of type T.
Definition Span.h:633
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.