Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
CaseOptionsMulti.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/* CaseOptionsMulti.h (C) 2000-2025 */
9/* */
10/* Data set options managing multiple occurrences. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_CASEOPTIONSMULTI_H
13#define ARCANE_CORE_CASEOPTIONSMULTI_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/CaseOptions.h"
18#include "arcane/utils/UniqueArray.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
33class ARCANE_CORE_EXPORT CaseOptionsMulti
34: public CaseOptions
35, public ICaseOptionsMulti
36{
37 public:
38
39 CaseOptionsMulti(ICaseMng*, const String& tag_root_name,
40 const XmlNode& element, Integer min_occurs, Integer max_occurs);
41 CaseOptionsMulti(ICaseOptionList*, const String& tag_root_name,
42 const XmlNode& element, Integer min_occurs, Integer max_occurs);
43
44 public:
45
46 ICaseOptions* toCaseOptions() override { return this; }
47 void addChild(ICaseOptionList* v) override { m_values.add(v); }
48 Integer nbChildren() const override { return m_values.size(); }
49 ICaseOptionList* child(Integer index) const override { return m_values[index]; }
50 ICaseOptionsMulti* toCaseOptionsMulti() { return this; }
51
52 private:
53
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60} // End namespace Arcane
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
CaseOptions(ICaseMng *cm, const String &name)
Constructs an options set.
Case manager interface.
Definition ICaseMng.h:57
Interface for a data set options list.
Interface for a list of options that appears multiple times.
Interface for a list of data set options.
1D data vector with value semantics (STL style).
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.