Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
VersionInfo.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/* VersionInfo.h (C) 2000-2018 */
9/* */
10/* Informations sur une version d'un objet. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_VERSIONINFO_H
13#define ARCANE_UTILS_VERSIONINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19#include <iosfwd>
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24ARCANE_BEGIN_NAMESPACE
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Informations sur une version.
30 *
31 Cette classe contient les informations sur une version d'un objet.
32 Le numéro de version comprends 3 valeurs entières:
33
34 \arg le numéro de version majeure,
35 \arg le numéro de version mineure,
36 \arg le numéro de version patch,
37
38 Le numéro de version majeure correspondant à une évolution fondamentale
39 de l'objet. Le numéro de version mineure correspondant à des évolutions
40 moins importantes. Une évolution de la version majeure ou mineure
41 suppose qu'on ne garde pas la compatibilité binaire.
42
43 \note le numéro de sous-version n'est plus utilisé.
44 */
45class ARCANE_UTILS_EXPORT VersionInfo
46{
47 public:
48
49 //! Construit une version nulle
51
52 //! Construit une informations de version
53 VersionInfo(int vmajor,int vminor,int vpatch);
54
55 /*! \brief Construit une informations de version
56 * \a version_str doit être de la forme "M.m.p.b" avec \e M version majeure,
57 * \m version mineure, \a p numéro de patch et \b numéro béta.
58 */
59 VersionInfo(const Arccore::String& version_str);
60
61 public:
62
63 //! Retourne le numéro de version majeur
64 int versionMajor() const { return m_major; }
65 //! Retourne le numéro de version mineur
66 int versionMinor() const { return m_minor; }
67 //! Retourne le numéro de version patch
68 int versionPatch() const { return m_patch; }
69
70 //! Numéro de version sous la forme d'une chaîne de caractères
71 String versionAsString() const;
72
73 public:
74
75 // Imprime les numéros de version sur le flot \a o
76 void write(std::ostream& o) const;
77
78 private:
79
80 int m_major; //!< Numéro de version majeur
81 int m_minor; //!< Numéro de version mineur
82 int m_patch; //!< Numéro de version patch
83};
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88extern "C++" ARCANE_UTILS_EXPORT std::ostream&
89operator<<(std::ostream& o,const VersionInfo& vi);
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94ARCANE_END_NAMESPACE
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99#endif
Fichier de configuration d'Arcane.
Informations sur une version.
Definition VersionInfo.h:46
int versionMajor() const
Retourne le numéro de version majeur.
Definition VersionInfo.h:64
int versionMinor() const
Retourne le numéro de version mineur.
Definition VersionInfo.h:66
int versionPatch() const
Retourne le numéro de version patch.
Definition VersionInfo.h:68
Chaîne de caractères unicode.