Ignore:
Timestamp:
Mar 19, 2011, 10:47:28 PM (14 years ago)
Author:
イグトランス (egtra)
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/egtra/ab5.0/abdev/compiler_x86/Opcode.h

    r702 r817  
    3737        , sourceCodePos( sourceCodePos )
    3838    {
     39    }
     40
     41    WithInfo(WithInfo&& y)
     42        : name(std::move(y.name))
     43        , sourceCodePos(std::move(y.sourceCodePos))
     44    {
     45    }
     46
     47    WithInfo(WithInfo const& y)
     48        : name(y.name)
     49        , sourceCodePos(y.sourceCodePos)
     50    {
     51    }
     52
     53    WithInfo& operator =(WithInfo&& y)
     54    {
     55        name = std::move(y.name);
     56        sourceCodePos = std::move(y.sourceCodePos);
     57        return *this;
     58    }
     59
     60    WithInfo& operator =(WithInfo const& y)
     61    {
     62        return *this = std::move(WithInfo(y));
    3963    }
    4064};
     
    210234    int NewTempParameters( const std::string &procName, const Parameters &params, int SecondParmNum = -1 );
    211235    void DeleteTempParameters();
     236
     237private:
     238    ParamImpl(ParamImpl const&);
     239    ParamImpl& operator =(ParamImpl const&);
    212240};
    213241
Note: See TracChangeset for help on using the changeset viewer.