PandA-2024.02
compute_reserved_memory.hpp
Go to the documentation of this file.
1 /*
2  *
3  * _/_/_/ _/_/ _/ _/ _/_/_/ _/_/
4  * _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/
5  * _/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/
6  * _/ _/ _/ _/ _/ _/ _/ _/ _/
7  * _/ _/ _/ _/ _/ _/_/_/ _/ _/
8  *
9  * ***********************************************
10  * PandA Project
11  * URL: http://panda.dei.polimi.it
12  * Politecnico di Milano - DEIB
13  * System Architectures Group
14  * ***********************************************
15  * Copyright (c) 2018-2024 Politecnico di Milano
16  *
17  * This file is part of the PandA framework.
18  *
19  * The PandA framework is free software; you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation; either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program. If not, see <http://www.gnu.org/licenses/>.
31  *
32  */
40 #ifndef COMPUTE_RESERVED_MEMORY_HPP
41 #define COMPUTE_RESERVED_MEMORY_HPP
42 
45 
47 #include <string>
48 
50 #include "refcount.hpp"
51 
54 
59 {
60  private:
63 
66 
68  unsigned int elements_number;
69 
71  unsigned int depth_level;
72 
73  public:
80 
84  unsigned long long GetReservedBytes() const;
85 
89  void CheckEnd() override;
90 
94  void GoDown() override;
95 
99  void GoNext() override;
100 
104  void GoUp() override;
105 
110  void Process(const std::string& content) override;
111 
115  void ActivateFileInit(const std::string&) override
116  {
117  }
118 
122  void FinalizeFileInit() override
123  {
124  }
125 };
126 #endif
unsigned long long GetReservedBytes() const
Return the computed value.
ComputeReservedMemory(const tree_managerConstRef TM, const tree_nodeConstRef tn)
Constructor.
This class manages the tree structures extracted from the raw file.
void ActivateFileInit(const std::string &) override
In this case the function does not activate anything.
CONSTREF_FORWARD_DECL(tree_manager)
Superclass include.
Abstract pure class for the tree structure.
Definition: tree_node.hpp:139
unsigned int elements_number
The number of elements in the top level.
unsigned int depth_level
The current level of {}.
const tree_managerConstRef TM
The tree manager.
void CheckEnd() override
Check that all the necessary information was present in the initialization string.
void GoUp() override
Ends the initialization of the current aggregated data structure.
Specification of the abstract functor used during parsing of C initialization string.
Template definition of refcount.
void GoNext() override
Consume an element of an aggregated data structure.
void FinalizeFileInit() override
do nothing
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Definition: refcount.hpp:94
void Process(const std::string &content) override
Process an element.
Functor used to compute size of memory objects.
void GoDown() override
Start the initialization of a new aggregated data structure.
const tree_nodeConstRef tn
The tree node to be stored in memory.

Generated on Mon Feb 12 2024 13:02:54 for PandA-2024.02 by doxygen 1.8.13