Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Romain De Laage De Bellefaye
LO21-projet
Commits
e9ddfb09
Verified
Commit
e9ddfb09
authored
Jun 11, 2021
by
Romain De Laage De Bellefaye
🌳
Browse files
replace classic pointer with unique ptr
parent
d9d8c723
Pipeline
#79685
passed with stage
in 15 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
includes/Automate.h
View file @
e9ddfb09
...
...
@@ -15,8 +15,8 @@ class Automate {
static
std
::
unique_ptr
<
Automate
>
instance
;
std
::
string
title
;
unsigned
int
delai
;
Fonction
*
fonction
;
RegleVoisinage
*
regleVoisinage
;
std
::
unique_ptr
<
Fonction
>
fonction
;
std
::
unique_ptr
<
RegleVoisinage
>
regleVoisinage
;
std
::
list
<
Reseau
>
buffer
;
std
::
list
<
Reseau
>::
iterator
itBuffer
;
unsigned
int
h
;
...
...
@@ -71,13 +71,13 @@ class Automate {
/// Définir la fonction de transition de l'automate
///
/// L'objet est géré dynamiquement par l'utilisateur mais une fois donnné à l'automate il gère son cycle de vie
void
setFonction
(
Fonction
&
f
)
{
fonction
=
&
f
;
}
void
setFonction
(
Fonction
*
f
)
{
fonction
.
reset
(
f
)
;
}
/// Récupérer la fonction de transition
const
Fonction
&
getFonction
()
const
{
return
*
fonction
;
}
/// Définir une règle de voisinage
///
/// L'objet est géré dynamiquement par l'utilisateur mais une fois donnné à l'automate il gère son cycle de vie
void
setRegleVoisinage
(
RegleVoisinage
&
r
)
{
regleVoisinage
=
&
r
;
}
void
setRegleVoisinage
(
RegleVoisinage
*
r
)
{
regleVoisinage
.
reset
(
r
)
;
}
/// Récupérer la règle de voisinage
const
RegleVoisinage
&
getRegleVoisinage
()
const
{
return
*
regleVoisinage
;
}
/// Définir le délai entre 2 itérations de l'automate en mode Timer
...
...
src/Automate.cpp
View file @
e9ddfb09
...
...
@@ -32,8 +32,8 @@ void Automate::nextTimer() {
void
Automate
::
reinitialiserAutomate
()
{
title
=
""
;
delai
=
500
;
delete
fonction
;
delete
regleVoisinage
;
fonction
.
reset
(
nullptr
)
;
regleVoisinage
.
reset
(
nullptr
)
;
reseauInit
=
Reseau
(
0
,
0
);
buffer
.
clear
();
itBuffer
=
buffer
.
begin
();
...
...
src/autosql.cpp
View file @
e9ddfb09
...
...
@@ -526,8 +526,8 @@ void Database::initSingletonAutomate(const QString& modele) const
Automate
::
getInstance
().
setYear
(
reseau
.
value
(
3
).
toInt
());
Database
::
initEnsEtat
(
Automate
::
getInstance
());
Automate
::
getInstance
().
setFonction
(
*
Database
::
getFonction
(
Automate
::
getInstance
()));
Automate
::
getInstance
().
setRegleVoisinage
(
*
Database
::
getRegleVoisinage
(
modele
));
Automate
::
getInstance
().
setFonction
(
Database
::
getFonction
(
Automate
::
getInstance
()));
Automate
::
getInstance
().
setRegleVoisinage
(
Database
::
getRegleVoisinage
(
modele
));
//Automate::getInstance().getEnsemble();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment