Mark several classes as final for devirtualization performance benefits.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-10-15 18:13:00 +02:00
parent f816975b63
commit fff926b617
20 changed files with 20 additions and 20 deletions

View File

@@ -3,7 +3,7 @@
#include <CreatureLib/Library/Items/Item.hpp>
namespace PkmnLib::Library {
class Item : public CreatureLib::Library::Item {
class Item final : public CreatureLib::Library::Item {
uint8_t _flingPower;
public:

View File

@@ -4,7 +4,7 @@
#include <CreatureLib/Library/ItemLibrary.hpp>
#include "Item.hpp"
namespace PkmnLib::Library {
class ItemLibrary : public CreatureLib::Library::ItemLibrary {
class ItemLibrary final : public CreatureLib::Library::ItemLibrary {
public:
inline bool TryGet(const ArbUt::BasicStringView& name, ArbUt::BorrowedPtr<const Item>& item) const {
auto v = item.As<const CreatureLib::Library::Item>();

View File

@@ -4,7 +4,7 @@
#include <CreatureLib/Library/LibrarySettings.hpp>
namespace PkmnLib::Library {
class LibrarySettings : public CreatureLib::Library::LibrarySettings {
class LibrarySettings final : public CreatureLib::Library::LibrarySettings {
uint16_t _shinyRate;
public:

View File

@@ -5,7 +5,7 @@
#include "MoveCategory.hpp"
namespace PkmnLib::Library {
class MoveData : public CreatureLib::Library::AttackData {
class MoveData final : public CreatureLib::Library::AttackData {
private:
public:
MoveData(const ArbUt::StringView& name, uint8_t type, PkmnLib::Library::MoveCategory category, uint8_t power,

View File

@@ -4,7 +4,7 @@
#include <CreatureLib/Library/AttackLibrary.hpp>
#include "MoveData.hpp"
namespace PkmnLib::Library {
class MoveLibrary : public CreatureLib::Library::AttackLibrary {
class MoveLibrary final : public CreatureLib::Library::AttackLibrary {
public:
MoveLibrary(size_t initialCapacity = 32) : CreatureLib::Library::AttackLibrary(initialCapacity) {}

View File

@@ -9,7 +9,7 @@
#include "Species/SpeciesLibrary.hpp"
namespace PkmnLib::Library {
class PokemonLibrary : public CreatureLib::Library::DataLibrary {
class PokemonLibrary final : public CreatureLib::Library::DataLibrary {
private:
std::unique_ptr<const NatureLibrary> _natures;

View File

@@ -5,7 +5,7 @@
#include "../Moves/MoveData.hpp"
namespace PkmnLib::Library {
class LearnableMoves : public CreatureLib::Library::LearnableAttacks {
class LearnableMoves final : public CreatureLib::Library::LearnableAttacks {
ArbUt::List<ArbUt::BorrowedPtr<const MoveData>> _eggMoves;
public:

View File

@@ -5,7 +5,7 @@
#include "LearnableMoves.hpp"
namespace PkmnLib::Library {
class PokemonForme : public CreatureLib::Library::SpeciesVariant {
class PokemonForme final : public CreatureLib::Library::SpeciesVariant {
public:
PokemonForme(const ArbUt::StringView& name, float height, float weight, uint32_t baseExperience,
const ArbUt::List<uint8_t>& types, CreatureLib::Library::StatisticSet<uint16_t> baseStats,

View File

@@ -5,7 +5,7 @@
#include "PokemonForme.hpp"
namespace PkmnLib::Library {
class PokemonSpecies : public CreatureLib::Library::CreatureSpecies {
class PokemonSpecies final : public CreatureLib::Library::CreatureSpecies {
private:
uint8_t _baseHappiness;
ArbUt::UniquePtrList<const EvolutionData> _evolutions;

View File

@@ -5,7 +5,7 @@
#include "PokemonSpecies.hpp"
namespace PkmnLib::Library {
class SpeciesLibrary : public CreatureLib::Library::SpeciesLibrary {
class SpeciesLibrary final : public CreatureLib::Library::SpeciesLibrary {
ArbUt::Dictionary<ArbUt::BorrowedPtr<const PokemonSpecies>, ArbUt::BorrowedPtr<const PokemonSpecies>>
_preEvolutionCache;