Pol
Revision:cb584c9
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
systemstate.cpp
Go to the documentation of this file.
1
2
#include "
systemstate.h
"
3
4
#include "../clib/stlutil.h"
5
#include "../pol/tiles.h"
6
#include "
pkg.h
"
7
8
namespace
Pol
9
{
10
namespace
Plib
11
{
12
SystemState
systemstate
;
13
14
15
SystemState::SystemState
()
16
: packages(),
17
packages_byname(),
18
accounts_txt_dirty( false ),
19
accounts_txt_stat(),
20
config(),
21
tile( nullptr ),
22
tiles_loaded( false )
23
{
24
}
25
SystemState::~SystemState
() =
default
;
26
27
void
SystemState::deinitialize
()
28
{
29
Clib::delete_all
(
packages
);
30
packages_byname
.clear();
31
if
(
tile
!=
nullptr
)
32
delete
[]
tile
;
33
}
34
35
size_t
SystemState::estimatedSize
()
const
36
{
37
size_t
size =
sizeof
(
SystemState
);
38
size += (
config
.
max_tile_id
+ 1 ) *
sizeof
(
Core::Tile
);
39
40
size += 3 *
sizeof
(
Package
** ) +
packages
.capacity() *
sizeof
(
Package
* );
41
for
(
const
auto
& pkg :
packages
)
42
if
( pkg !=
nullptr
)
43
size += pkg->estimateSize();
44
45
for
(
const
auto
& pkg_pair :
packages_byname
)
46
size += pkg_pair.first.capacity() +
sizeof
(
Package
* ) + (
sizeof
(
void
* ) * 3 + 1 ) / 2;
47
return
size;
48
}
49
}
50
}
Pol::Plib::SystemState
Definition:
systemstate.h:30
Pol::Clib::delete_all
void delete_all(T &coll)
Definition:
stlutil.h:24
Pol::Plib::SystemState::SystemState
SystemState()
Definition:
systemstate.cpp:15
Pol::Plib::systemstate
SystemState systemstate
Definition:
systemstate.cpp:12
Pol::Plib::SystemState::config
Core::PolConfig config
Definition:
systemstate.h:43
Pol::Core::Tile
Definition:
tiles.h:19
Pol::Plib::SystemState::estimatedSize
size_t estimatedSize() const
Definition:
systemstate.cpp:35
Pol::Core::PolConfig::max_tile_id
unsigned int max_tile_id
Definition:
polcfg.h:61
pkg.h
Pol::Plib::Package
Definition:
pkg.h:41
Pol::Plib::SystemState::tile
Core::Tile * tile
Definition:
systemstate.h:44
Pol::Plib::SystemState::packages
Packages packages
Definition:
systemstate.h:37
Pol::Plib::SystemState::~SystemState
~SystemState()
Pol::Plib::SystemState::deinitialize
void deinitialize()
Definition:
systemstate.cpp:27
systemstate.h
Pol
Definition:
berror.cpp:12
Pol::Plib::SystemState::packages_byname
PackagesByName packages_byname
Definition:
systemstate.h:38
plib
systemstate.cpp
Generated on Wed Oct 10 2018 02:41:53 for Pol by
1.8.11