Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IPropertyMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IPropertyMng.h (C) 2000-2020 */
9/* */
10/* Interface du gestionnaire des propriétés. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IPROPERTYMNG_H
13#define ARCANE_IPROPERTYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class Properties;
29class PropertiesImpl;
30class IObservable;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
38{
39 public:
40
41 virtual ~IPropertyMng() {}
42
43 public:
44
45 virtual ITraceMng* traceMng() const =0;
46
47 public:
48
57
62 virtual void registerProperties(const Properties& p) =0;
63
65 virtual void destroyProperties(const Properties& p) =0;
66
68 virtual void serialize(ISerializer* serializer) =0;
69
71 virtual void writeTo(ByteArray& bytes) =0;
72
78 virtual void readFrom(Span<const Byte> bytes) =0;
79
81 virtual void print(std::ostream& o) const =0;
82
90
98};
99
100/*---------------------------------------------------------------------------*/
101/*---------------------------------------------------------------------------*/
102
103} // End namespace Arcane
104
105/*---------------------------------------------------------------------------*/
106/*---------------------------------------------------------------------------*/
107
108#endif
109
Tableau d'items de types quelconques.
Interface d'un observable.
Interface du gestionnaire des propriétés.
virtual ~IPropertyMng()
Libère les ressources.
virtual void serialize(ISerializer *serializer)=0
Effectue la sérialisation.
virtual void registerProperties(const Properties &p)=0
Enregister les propriétés référencées par p.
virtual void print(std::ostream &o) const =0
Affiche les propriétés et leurs valeurs sur le flot o.
virtual IObservable * writeObservable()=0
Observable pour l'écriture.
virtual PropertiesImpl * getPropertiesImpl(const String &full_name)=0
Récupère la liste de propriétés de nom complet full_name.
virtual void readFrom(Span< const Byte > bytes)=0
Relit les informations sérialisées contenues dans bytes.
virtual IObservable * readObservable()=0
Observable pour la lecture.
virtual void destroyProperties(const Properties &p)=0
Supprime les propriétés référencées par p.
virtual void writeTo(ByteArray &bytes)=0
Sérialise les informations de propriété dans bytes.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Liste de propriétés.
Definition Properties.h:64
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-