From 5db0861b826034f5adbe8588598bd303ec782556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:52:47 +0100 Subject: [PATCH] Trade: don't define AbstractImporter constructors in header. They are heavier than it seems due to inheritance and virtual functions. --- src/Trade/AbstractImporter.cpp | 4 ++++ src/Trade/AbstractImporter.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Trade/AbstractImporter.cpp b/src/Trade/AbstractImporter.cpp index 79f7a9098..5d7dcf24d 100644 --- a/src/Trade/AbstractImporter.cpp +++ b/src/Trade/AbstractImporter.cpp @@ -30,6 +30,10 @@ namespace Magnum { namespace Trade { +AbstractImporter::AbstractImporter() = default; + +AbstractImporter::AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin): AbstractPlugin(manager, std::move(plugin)) {} + bool AbstractImporter::open(const std::string&) { Error() << plugin() << "doesn't support opening files"; return false; diff --git a/src/Trade/AbstractImporter.h b/src/Trade/AbstractImporter.h index 566a9ae46..1c6f1f754 100644 --- a/src/Trade/AbstractImporter.h +++ b/src/Trade/AbstractImporter.h @@ -71,10 +71,10 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::AbstractPlu typedef Corrade::Containers::EnumSet Features; /** @brief Default constructor */ - inline explicit AbstractImporter() = default; + explicit AbstractImporter(); /** @brief Plugin manager constructor */ - inline explicit AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin): AbstractPlugin(manager, std::move(plugin)) {} + explicit AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin); /** @brief Features supported by this importer */ virtual Features features() const = 0;