#ifndef PKMNLIB_SPECIESLIBRARY_HPP #define PKMNLIB_SPECIESLIBRARY_HPP #include #include "PokemonSpecies.hpp" namespace PkmnLib::Library { class SpeciesLibrary : public CreatureLib::Library::SpeciesLibrary { public: inline bool TryGet(const Arbutils::CaseInsensitiveConstString& name, const PokemonSpecies*& outSpecies) const { return CreatureLib::Library::SpeciesLibrary::TryGet( name, (const CreatureLib::Library::CreatureSpecies*&)outSpecies); } inline const PokemonSpecies* Get(const Arbutils::CaseInsensitiveConstString& name) const { return dynamic_cast(CreatureLib::Library::SpeciesLibrary::Get(name)); } const PokemonSpecies* operator[](const Arbutils::CaseInsensitiveConstString& name) const { return Get(name); } void Insert(const Arbutils::CaseInsensitiveConstString& name, const PokemonSpecies* species) { CreatureLib::Library::SpeciesLibrary::Insert(name, species); } }; } #endif // PKMNLIB_SPECIESLIBRARY_HPP