Antares Simulator
Power System Simulator
studydata.h
1 /*
2 ** Copyright 2007-2025, RTE (https://www.rte-france.com)
3 ** See AUTHORS.txt
4 ** SPDX-License-Identifier: MPL-2.0
5 ** This file is part of Antares-Simulator,
6 ** Adequacy and Performance assessment for interconnected energy networks.
7 **
8 ** Antares_Simulator is free software: you can redistribute it and/or modify
9 ** it under the terms of the Mozilla Public Licence 2.0 as published by
10 ** the Mozilla Foundation, either version 2 of the License, or
11 ** (at your option) any later version.
12 **
13 ** Antares_Simulator is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ** Mozilla Public Licence 2.0 for more details.
17 **
18 ** You should have received a copy of the Mozilla Public Licence 2.0
19 ** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20 */
21 #ifndef __STUDY_STUDY_DATA_AGGREGATOR_STUDY_DATA_H__
22 #define __STUDY_STUDY_DATA_AGGREGATOR_STUDY_DATA_H__
23 
24 #include <memory>
25 #include <set>
26 
27 #include <yuni/yuni.h>
28 #include <yuni/core/string.h>
29 
30 class StudyData final
31 {
32 public:
34  using Ptr = std::shared_ptr<StudyData>;
36  using Vector = std::vector<Ptr>;
38  using ShortString = Yuni::CString<10, false>;
40  using ShortString512 = Yuni::CString<512, false>;
41 
42 public:
43  template<class StringT>
44  StudyData(const StringT& n, uint i):
45  index(i),
46  name(n)
47  {
48  }
49 
50  template<class StringT>
51  void append(StringT& out) const
52  {
53  out << name;
54  }
55 
56 public:
58  uint index;
61 
62 }; // class StudyData
63 
64 #endif // __STUDY_STUDY_DATA_AGGREGATOR_STUDY_DATA_H__
Definition: studydata.h:31
std::vector< Ptr > Vector
Vector.
Definition: studydata.h:36
uint index
Local index.
Definition: studydata.h:58
Yuni::CString< 10, false > ShortString
Short string.
Definition: studydata.h:38
const ShortString512 name
type + Name of the area or the link
Definition: studydata.h:60
Yuni::CString< 512, false > ShortString512
Short string.
Definition: studydata.h:40
std::shared_ptr< StudyData > Ptr
The most suitable smart pointer.
Definition: studydata.h:34