]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/collection.h
Use the override specifier to mark overridden virtual functions
[libs/datafile.git] / source / collection.h
index 98a08b6757a2c3eeed121c4c262e79248d57af02..c8470dd29a50acd6bcfcee5e51c561b729cbb705 100644 (file)
@@ -396,7 +396,7 @@ private:
        template<typename B>
        struct Extractor: CollectionItemTypeBase::Extractor<B>
        {
-               virtual B &extract(const Variant &var) const
+               B &extract(const Variant &var) const override
                { return *var.value<RefPtr<T> >(); }
        };
 
@@ -451,19 +451,19 @@ public:
                return *this;
        }
 
-       virtual bool is_same_type(const CollectionItemTypeBase &other) const
+       bool is_same_type(const CollectionItemTypeBase &other) const override
        { return dynamic_cast<const CollectionItemType<T> *>(&other); }
 
-       virtual bool check_item_type(const Variant &var) const
+       bool check_item_type(const Variant &var) const override
        { return var.check_type<RefPtr<T> >(); }
 
-       virtual void add_to_loader(Collection::Loader &) const
+       void add_to_loader(Collection::Loader &) const override
        { }
 
-       virtual bool can_create() const
+       bool can_create() const override
        { return static_cast<bool>(create_func); }
 
-       virtual void create_item(Collection &coll, const std::string &name) const
+       void create_item(Collection &coll, const std::string &name) const override
        {
                if(!create_func)
                        throw std::runtime_error("no creator");
@@ -472,12 +472,12 @@ public:
                        coll.add(name, obj);
        }
 
-       virtual void load_item(Collection &, Parser &, const std::string &) const
+       void load_item(Collection &, Parser &, const std::string &) const override
        {
                throw std::runtime_error("this type cannot be loaded");
        }
 
-       virtual void notify_item(const std::string &name, const Variant &var) const
+       void notify_item(const std::string &name, const Variant &var) const override
        {
                RefPtr<T> obj = var.value<RefPtr<T> >();
                for(const auto &n: notify_funcs)
@@ -490,10 +490,10 @@ template<typename T>
 class LoadableCollectionItemType: public CollectionItemType<T>
 {
 public:
-       virtual void add_to_loader(Collection::Loader &loader) const
+       void add_to_loader(Collection::Loader &loader) const override
        { loader.add(this->kwd, &Collection::Loader::item<T, T>); }
 
-       virtual void load_item(Collection &coll, Parser &parser, const std::string &name) const
+       void load_item(Collection &coll, Parser &parser, const std::string &name) const override
        {
                RefPtr<T> obj = new T;
                Collection::ItemLoader<T> ldr(*obj, coll);