diff --git a/bench/stutter/stutter_invariance_formulas.cc b/bench/stutter/stutter_invariance_formulas.cc index 9ed9effe2..826185d23 100644 --- a/bench/stutter/stutter_invariance_formulas.cc +++ b/bench/stutter/stutter_invariance_formulas.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2014, 2015 Laboratoire de Recherche et +// Copyright (C) 2014, 2015, 2016 Laboratoire de Recherche et // Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -40,7 +40,7 @@ const struct argp_child children[] = namespace { - class stut_processor: public job_processor + class stut_processor final: public job_processor { public: spot::translator& trans; diff --git a/bin/autfilt.cc b/bin/autfilt.cc index 53d642731..e0155a4e7 100644 --- a/bin/autfilt.cc +++ b/bin/autfilt.cc @@ -601,7 +601,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class hoa_processor: public job_processor + class hoa_processor final: public job_processor { private: spot::postprocessor& post; diff --git a/bin/common_output.cc b/bin/common_output.cc index 54cf2badf..74d8ea8a1 100644 --- a/bin/common_output.cc +++ b/bin/common_output.cc @@ -153,7 +153,7 @@ namespace const char* suffix; }; - class printable_formula: + class printable_formula final: public spot::printable_value { public: @@ -171,7 +171,7 @@ namespace } }; - class formula_printer: protected spot::formater + class formula_printer final: protected spot::formater { public: formula_printer(std::ostream& os, const char* format) diff --git a/bin/dstar2tgba.cc b/bin/dstar2tgba.cc index 4ce7c8031..97f59be07 100644 --- a/bin/dstar2tgba.cc +++ b/bin/dstar2tgba.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2013, 2014, 2015 Laboratoire de Recherche et +// Copyright (C) 2013, 2014, 2015, 2016 Laboratoire de Recherche et // Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -106,7 +106,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class dstar_processor: public job_processor + class dstar_processor final: public job_processor { public: spot::postprocessor& post; diff --git a/bin/ltl2tgba.cc b/bin/ltl2tgba.cc index 4a323c5d4..94e69ac80 100644 --- a/bin/ltl2tgba.cc +++ b/bin/ltl2tgba.cc @@ -109,7 +109,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class trans_processor: public job_processor + class trans_processor final: public job_processor { public: spot::translator& trans; diff --git a/bin/ltl2tgta.cc b/bin/ltl2tgta.cc index 5bbe47e70..045c342ea 100644 --- a/bin/ltl2tgta.cc +++ b/bin/ltl2tgta.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et -// Développement de l'Epita (LRDE). +// Copyright (C) 2012, 2013, 2014, 2015, 2016 Laboratoire de Recherche +// et Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. // @@ -159,7 +159,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class trans_processor: public job_processor + class trans_processor final: public job_processor { public: spot::translator& trans; diff --git a/bin/ltlcross.cc b/bin/ltlcross.cc index b2f8942a2..04f908dd3 100644 --- a/bin/ltlcross.cc +++ b/bin/ltlcross.cc @@ -485,7 +485,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class xtranslator_runner: public translator_runner + class xtranslator_runner final: public translator_runner { public: xtranslator_runner(spot::bdd_dict_ptr dict) @@ -821,7 +821,7 @@ namespace typedef std::unordered_set fset_t; - class processor: public job_processor + class processor final: public job_processor { spot::bdd_dict_ptr dict = spot::make_bdd_dict(); xtranslator_runner runner; diff --git a/bin/ltldo.cc b/bin/ltldo.cc index 1434423d0..e8799decc 100644 --- a/bin/ltldo.cc +++ b/bin/ltldo.cc @@ -125,7 +125,7 @@ parse_opt(int key, char* arg, struct argp_state*) namespace { - class xtranslator_runner: public translator_runner + class xtranslator_runner final: public translator_runner { public: xtranslator_runner(spot::bdd_dict_ptr dict) @@ -209,7 +209,7 @@ namespace }; - class processor: public job_processor + class processor final: public job_processor { spot::bdd_dict_ptr dict = spot::make_bdd_dict(); xtranslator_runner runner; diff --git a/bin/ltlfilt.cc b/bin/ltlfilt.cc index caedbdfec..cd727abf5 100644 --- a/bin/ltlfilt.cc +++ b/bin/ltlfilt.cc @@ -465,7 +465,7 @@ std::unordered_set fset_t; namespace { - class ltl_processor: public job_processor + class ltl_processor final: public job_processor { public: spot::tl_simplifier& simpl; diff --git a/bin/ltlgrind.cc b/bin/ltlgrind.cc index 0085804be..84bac6665 100644 --- a/bin/ltlgrind.cc +++ b/bin/ltlgrind.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2014, 2015 Laboratoire de Recherche et Développement de -// l'Epita (LRDE). +// Copyright (C) 2014, 2015, 2016 Laboratoire de Recherche et +// Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. // @@ -108,7 +108,7 @@ static const argp_child children[] = { namespace { - class mutate_processor: public job_processor + class mutate_processor final: public job_processor { public: int diff --git a/spot/misc/intvcmp2.cc b/spot/misc/intvcmp2.cc index 204b74867..27e809c6d 100644 --- a/spot/misc/intvcmp2.cc +++ b/spot/misc/intvcmp2.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2011, 2013, 2014, 2015 Laboratoire de Recherche et -// Développement de l'Epita (LRDE). +// Copyright (C) 2011, 2013, 2014, 2015, 2016 Laboratoire de Recherche +// et Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. // @@ -326,7 +326,7 @@ namespace spot }; - class int_array_array_compression: + class int_array_array_compression final: public stream_compression_base { public: @@ -497,7 +497,7 @@ namespace spot }; - class int_array_array_decompression: + class int_array_array_decompression final: public stream_decompression_base { public: diff --git a/spot/misc/intvcomp.cc b/spot/misc/intvcomp.cc index abac2a0f8..349e1185c 100644 --- a/spot/misc/intvcomp.cc +++ b/spot/misc/intvcomp.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2011, 2013, 2014 Laboratoire de Recherche et +// Copyright (C) 2011, 2013, 2014, 2016 Laboratoire de Recherche et // Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -184,7 +184,7 @@ namespace spot unsigned int bits_left_; }; - class int_array_vector_compression: + class int_array_vector_compression final: public stream_compression_base { public: @@ -233,7 +233,7 @@ namespace spot std::vector* result_; }; - class int_vector_vector_compression: + class int_vector_vector_compression final: public stream_compression_base { public: @@ -277,7 +277,7 @@ namespace spot std::vector& output_; }; - class int_array_array_compression: + class int_array_array_compression final: public stream_compression_base { public: @@ -521,7 +521,7 @@ namespace spot unsigned int buffer_bits_; }; - class int_vector_vector_decompression: + class int_vector_vector_decompression final: public stream_decompression_base { public: @@ -572,7 +572,7 @@ namespace spot size_t size_; }; - class int_vector_array_decompression: + class int_vector_array_decompression final: public stream_decompression_base { public: @@ -622,7 +622,7 @@ namespace spot size_t size_; }; - class int_array_array_decompression: + class int_array_array_decompression final: public stream_decompression_base { public: diff --git a/spot/taalgos/dot.cc b/spot/taalgos/dot.cc index baf318a48..fe5c9ec83 100644 --- a/spot/taalgos/dot.cc +++ b/spot/taalgos/dot.cc @@ -30,7 +30,7 @@ namespace spot { namespace { - class dotty_bfs : public ta_reachable_iterator_breadth_first + class dotty_bfs final: public ta_reachable_iterator_breadth_first { void parse_opts(const char* options) diff --git a/spot/taalgos/statessetbuilder.cc b/spot/taalgos/statessetbuilder.cc index cd94aa33d..061376996 100644 --- a/spot/taalgos/statessetbuilder.cc +++ b/spot/taalgos/statessetbuilder.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2010, 2014 Laboratoire de Recherche et Développement +// Copyright (C) 2010, 2014, 2016 Laboratoire de Recherche et Développement // de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -26,7 +26,8 @@ namespace spot { namespace { - class states_set_builder_bfs : public ta_reachable_iterator_breadth_first + class states_set_builder_bfs final: + public ta_reachable_iterator_breadth_first { public: states_set_builder_bfs(const const_ta_ptr& a) : diff --git a/spot/taalgos/stats.cc b/spot/taalgos/stats.cc index b63fd0109..c2a7087e9 100644 --- a/spot/taalgos/stats.cc +++ b/spot/taalgos/stats.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2008, 2014, 2015 Laboratoire de Recherche et +// Copyright (C) 2008, 2014, 2015, 2016 Laboratoire de Recherche et // Développement de l'Epita (LRDE). // Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre @@ -29,7 +29,7 @@ namespace spot { namespace { - class stats_bfs : public ta_reachable_iterator_breadth_first + class stats_bfs final: public ta_reachable_iterator_breadth_first { public: stats_bfs(const const_ta_ptr a, ta_statistics& s) : diff --git a/spot/tl/relabel.cc b/spot/tl/relabel.cc index 1eec38a19..05270453e 100644 --- a/spot/tl/relabel.cc +++ b/spot/tl/relabel.cc @@ -229,7 +229,7 @@ namespace spot // Convert the formula's syntax tree into an undirected graph // labeled by subformulas. - class formula_to_fgraph final + class formula_to_fgraph { public: fgraph& g; diff --git a/spot/tl/simplify.cc b/spot/tl/simplify.cc index db7615028..af3528772 100644 --- a/spot/tl/simplify.cc +++ b/spot/tl/simplify.cc @@ -39,7 +39,7 @@ namespace spot typedef std::vector vec; // The name of this class is public, but not its contents. - class tl_simplifier_cache + class tl_simplifier_cache final { typedef std::unordered_map f2f_map; typedef std::unordered_map f2b_map; diff --git a/spot/tl/snf.cc b/spot/tl/snf.cc index 1ed89accf..0fe79ff41 100644 --- a/spot/tl/snf.cc +++ b/spot/tl/snf.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2012, 2014, 2015 Laboratoire de Recherche et +// Copyright (C) 2012, 2014, 2015, 2016 Laboratoire de Recherche et // Developpement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -26,7 +26,7 @@ namespace spot // E° if bounded=false // E^□ if nounded=true template - class snf_visitor + class snf_visitor final { protected: formula result_; diff --git a/spot/twa/bdddict.cc b/spot/twa/bdddict.cc index cb972055e..e92c62cc8 100644 --- a/spot/twa/bdddict.cc +++ b/spot/twa/bdddict.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2009, 2012, 2013, 2014, 2015 Laboratoire de Recherche -// et Développement de l'Epita (LRDE). +// Copyright (C) 2009, 2012, 2013, 2014, 2015, 2016 Laboratoire de +// Recherche et Développement de l'Epita (LRDE). // Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de // Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC), // Université Pierre et Marie Curie. @@ -39,7 +39,7 @@ namespace spot { } - class bdd_dict_priv: public bdd_allocator + class bdd_dict_priv final: public bdd_allocator { public: diff --git a/spot/twa/twaproduct.cc b/spot/twa/twaproduct.cc index a7ee9153c..03957aed1 100644 --- a/spot/twa/twaproduct.cc +++ b/spot/twa/twaproduct.cc @@ -147,7 +147,8 @@ namespace spot /// \brief Iterate over the successors of a product computed on the fly. - class twa_succ_iterator_product: public twa_succ_iterator_product_common + class twa_succ_iterator_product final: + public twa_succ_iterator_product_common { public: twa_succ_iterator_product(twa_succ_iterator* left, @@ -212,7 +213,7 @@ namespace spot /// Iterate over the successors of a product computed on the fly. /// This one assumes that LEFT is an iterator over a Kripke structure - class twa_succ_iterator_product_kripke: + class twa_succ_iterator_product_kripke final: public twa_succ_iterator_product_common { public: diff --git a/spot/twaalgos/degen.cc b/spot/twaalgos/degen.cc index 346768104..b73f2afc1 100644 --- a/spot/twaalgos/degen.cc +++ b/spot/twaalgos/degen.cc @@ -57,7 +57,7 @@ namespace spot // Acceptance set common to all outgoing edges (of the same // SCC -- we do not care about the other) of some state. - class outgoing_acc + class outgoing_acc final { const_twa_graph_ptr a_; typedef std::tuple order_; acc_cond::mark_t found_; @@ -162,7 +162,7 @@ namespace spot }; // Accepting order for each SCC - class scc_orders + class scc_orders final { std::map orders_; bool skip_levels_; diff --git a/spot/twaalgos/determinize.cc b/spot/twaalgos/determinize.cc index d1460d382..f88266ce6 100644 --- a/spot/twaalgos/determinize.cc +++ b/spot/twaalgos/determinize.cc @@ -46,7 +46,7 @@ namespace spot std::vector& nb_braces); }; - class safra_state + class safra_state final { public: using state_t = unsigned; diff --git a/spot/twaalgos/dot.cc b/spot/twaalgos/dot.cc index 16d7294dc..01c51b075 100644 --- a/spot/twaalgos/dot.cc +++ b/spot/twaalgos/dot.cc @@ -44,7 +44,7 @@ namespace spot { constexpr int MAX_BULLET = 20; - class dotty_output + class dotty_output final { std::ostream& os_; bool opt_force_acc_trans_ = false; diff --git a/spot/twaalgos/emptiness.cc b/spot/twaalgos/emptiness.cc index 967167d9b..daf604b67 100644 --- a/spot/twaalgos/emptiness.cc +++ b/spot/twaalgos/emptiness.cc @@ -280,7 +280,7 @@ namespace spot namespace { - class shortest_path: public bfs_steps + class shortest_path final: public bfs_steps { public: shortest_path(const const_twa_ptr& a) diff --git a/spot/twaalgos/gtec/ce.cc b/spot/twaalgos/gtec/ce.cc index 2ba782f51..443c11227 100644 --- a/spot/twaalgos/gtec/ce.cc +++ b/spot/twaalgos/gtec/ce.cc @@ -28,7 +28,7 @@ namespace spot { namespace { - class shortest_path: public bfs_steps + class shortest_path final: public bfs_steps { public: shortest_path(const state_set* t, diff --git a/spot/twaalgos/ltl2tgba_fm.cc b/spot/twaalgos/ltl2tgba_fm.cc index 184efde6a..05bb7a53b 100644 --- a/spot/twaalgos/ltl2tgba_fm.cc +++ b/spot/twaalgos/ltl2tgba_fm.cc @@ -102,7 +102,7 @@ namespace spot class translate_dict; - class ratexp_to_dfa + class ratexp_to_dfa final { typedef twa_graph::namer namer; public: @@ -129,7 +129,7 @@ namespace spot // "a" variables are promises (written "a" in the paper) // "next" variables are X's operands (the "r_X" variables from the paper) // "var" variables are atomic propositions. - class translate_dict + class translate_dict final { public: @@ -1063,7 +1063,7 @@ namespace spot // Duret-Lutz's paper "LTL Translation Improvements in Spot 1.0" // (IJCCBS 2014), for the optimization. The PSL stuff is // unpublished yet. - class ltl_trad_visitor + class ltl_trad_visitor final { public: ltl_trad_visitor(translate_dict& dict, bool mark_all = false, @@ -1663,7 +1663,7 @@ namespace spot // Check whether a formula can be part of a fair loop. // Cache the result for efficiency. - class possible_fair_loop_checker + class possible_fair_loop_checker final { public: bool @@ -1680,7 +1680,7 @@ namespace spot pfl_map pfl_; }; - class formula_canonizer + class formula_canonizer final { public: formula_canonizer(translate_dict& d, diff --git a/spot/twaalgos/magic.cc b/spot/twaalgos/magic.cc index 108b12457..f92b88a88 100644 --- a/spot/twaalgos/magic.cc +++ b/spot/twaalgos/magic.cc @@ -47,7 +47,7 @@ namespace spot /// \brief Emptiness checker on spot::tgba automata having at most one /// acceptance condition (i.e. a TBA). template - class magic_search_ : public emptiness_check, public ec_statistics + class magic_search_ final : public emptiness_check, public ec_statistics { public: /// \brief Initialize the Magic Search algorithm on the automaton \a a @@ -424,12 +424,12 @@ namespace spot }; }; - class explicit_magic_search_heap + class explicit_magic_search_heap final { public: enum { Safe = 1 }; - class color_ref + class color_ref final { public: color_ref(color* c) :p(c) @@ -507,12 +507,12 @@ namespace spot state_map h; }; - class bsh_magic_search_heap + class bsh_magic_search_heap final { public: enum { Safe = 0 }; - class color_ref + class color_ref final { public: color_ref(unsigned char *b, unsigned char o): base(b), offset(o*2) diff --git a/spot/twaalgos/neverclaim.cc b/spot/twaalgos/neverclaim.cc index 4f5a59e31..296f02344 100644 --- a/spot/twaalgos/neverclaim.cc +++ b/spot/twaalgos/neverclaim.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2009, 2011, 2012, 2014, 2015 Laboratoire de Recherche et -// Développement de l'Epita (LRDE). +// Copyright (C) 2009, 2011, 2012, 2014, 2015, 2016 Laboratoire de +// Recherche et Développement de l'Epita (LRDE). // Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre // et Marie Curie. @@ -33,7 +33,7 @@ namespace spot { namespace { - class never_claim_output + class never_claim_output final { public: std::ostream& os_; diff --git a/spot/twaalgos/se05.cc b/spot/twaalgos/se05.cc index 49127bc0b..8ed040ddd 100644 --- a/spot/twaalgos/se05.cc +++ b/spot/twaalgos/se05.cc @@ -325,7 +325,7 @@ namespace spot return false; } - class result_from_stack: public emptiness_check_result, + class result_from_stack final: public emptiness_check_result, public acss_statistics { public: @@ -436,14 +436,14 @@ namespace spot }; }; - class explicit_se05_search_heap + class explicit_se05_search_heap final { typedef state_set hcyan_type; typedef state_map hash_type; public: enum { Safe = 1 }; - class color_ref + class color_ref final { public: color_ref(hash_type* h, hcyan_type* hc, const state* s) @@ -569,7 +569,7 @@ namespace spot hcyan_type hc; // associate to each cyan state its weight }; - class bsh_se05_search_heap + class bsh_se05_search_heap final { private: typedef std::unordered_set - class direct_simulation + class direct_simulation final { protected: // Shortcut used in update_po and go_to_next_it. diff --git a/spot/twaalgos/tau03.cc b/spot/twaalgos/tau03.cc index 4de71a708..d69a66b3b 100644 --- a/spot/twaalgos/tau03.cc +++ b/spot/twaalgos/tau03.cc @@ -276,10 +276,10 @@ namespace spot }; - class explicit_tau03_search_heap + class explicit_tau03_search_heap final { public: - class color_ref + class color_ref final { public: color_ref(color* c, acc_cond::mark_t* a) :p(c), acc(a) diff --git a/spot/twaalgos/tau03opt.cc b/spot/twaalgos/tau03opt.cc index a597a5355..15a6659cc 100644 --- a/spot/twaalgos/tau03opt.cc +++ b/spot/twaalgos/tau03opt.cc @@ -395,12 +395,12 @@ namespace spot }; - class explicit_tau03_opt_search_heap + class explicit_tau03_opt_search_heap final { typedef state_map> hcyan_type; typedef state_map> hash_type; public: - class color_ref + class color_ref final { public: color_ref(hash_type* h, hcyan_type* hc, const state* s,