Ignore:
Timestamp:
Mar 19, 2011, 9:13:12 PM (14 years ago)
Author:
イグトランス (egtra)
Message:

ab_commonにおいて、各クラスのコピー禁止を明確化、ならびにコピー可能なものにムーブコンストラクタ・ムーブ代入演算子を追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/egtra/ab5.0/abdev/ab_common/include/ResourceManager/ResourceManager.h

    r622 r816  
    1111    // IDEのみで使う
    1212    HTREEITEM hTreeItem;
     13
     14    ResourceItem()
     15        : idName()
     16        , filepath()
     17        , hTreeItem() {}
     18
     19    ResourceItem(ResourceItem&& y)
     20        : idName(std::move(y.idName))
     21        , filepath(std::move(y.filepath))
     22        , hTreeItem(std::move(y.hTreeItem)) {}
     23
     24    ResourceItem(ResourceItem const& y)
     25        : idName(y.idName)
     26        , filepath(y.filepath)
     27        , hTreeItem(y.hTreeItem) {}
     28
     29    ResourceItem& operator =(ResourceItem&& y)
     30    {
     31        idName = std::move(y.idName);
     32        filepath= std::move(y.filepath);
     33        hTreeItem = std::move(y.hTreeItem);
     34        return *this;
     35    }
     36
     37    ResourceItem& operator =(ResourceItem const& y)
     38    {
     39        return *this = std::move(ResourceItem(y));
     40    }
    1341};
     42
    1443typedef std::vector<ResourceItem> ResourceItems;
    1544
     
    1847{
    1948public:
     49    ResourceManager() {}
     50
    2051    void Clear();
    2152    bool Load( const std::string &resourceFilePath );
     
    2859    ResourceItems iconResources;
    2960    std::string manifestFilePath;
     61
     62private:
     63    ResourceManager(ResourceManager const&);
     64    ResourceManager operator =(ResourceManager const&);
    3065};
    3166
Note: See TracChangeset for help on using the changeset viewer.