Ignore:
Timestamp:
Jun 29, 2008, 2:08:44 AM (16 years ago)
Author:
dai_9181
Message:

#171への対応。テンプレート展開後のクラスメソッドの実装で、SizeOf(T)が正常値を返さない不具合を修正(特にTが4バイト未満の型場合)。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/ab_common/include/Lexical/Class.h

    r640 r672  
    8383public:
    8484    ActiveBasic::Common::Lexical::ExpandedTemplateClasses expandedTemplateClasses;
     85    Types expandedClassActualTypeParameters;
    8586
    8687    // XMLシリアライズ用
     
    117118        ar & BOOST_SERIALIZATION_NVP( fixedAlignment );
    118119        ar & BOOST_SERIALIZATION_NVP( expandedTemplateClasses );
     120        ar & BOOST_SERIALIZATION_NVP( expandedClassActualTypeParameters );
    119121    }
    120122
     
    131133        int DestructorMemberSubIndex,
    132134        int vtblNum,
    133         int fixedAlignment );
     135        int fixedAlignment,
     136        const Types &expandedClassActualTypeParameters );
    134137    CClass();
    135138    ~CClass();
     
    399402    }
    400403
     404    // 展開時の型パラメータ情報
     405    bool IsExpanded() const
     406    {
     407        return !expandedClassActualTypeParameters.empty();
     408    }
     409    void ResolveExpandedClassActualTypeParameter( Type &type ) const;
     410
    401411    // メンバの総合サイズを取得
    402412private:
Note: See TracChangeset for help on using the changeset viewer.