Ignore:
Timestamp:
Jul 3, 2007, 3:49:18 AM (17 years ago)
Author:
dai_9181
Message:

jengaライブラリに一通りserializeメソッドを仕込んだ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/include/smoothie/Method.h

    r170 r203  
    1717class CMethod : public MemberPrototype
    1818{
     19
     20    // XMLシリアライズ用
     21    // TODO: xml実装
     22private:
     23    friend class boost::serialization::access;
     24    template<class Archive> void serialize(Archive& ar, const unsigned int version)
     25    {
     26        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( MemberPrototype );
     27        //ar & BOOST_SERIALIZATION_NVP( pUserProc );
     28    }
     29
    1930public:
    2031    UserProc *pUserProc;
     
    4152    bool isConst;
    4253    const CClass *pInheritsClass;
     54
     55    // XMLシリアライズ用
     56    // TODO: xml実装
     57private:
     58    friend class boost::serialization::access;
     59    template<class Archive> void serialize(Archive& ar, const unsigned int version)
     60    {
     61        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( CMethod );
     62        ar & BOOST_SERIALIZATION_NVP( isAbstract );
     63        ar & BOOST_SERIALIZATION_NVP( isVirtual );
     64        ar & BOOST_SERIALIZATION_NVP( isConst );
     65        //ar & BOOST_SERIALIZATION_NVP( pInheritsClass );
     66    }
    4367
    4468public:
     
    91115class StaticMethod : public CMethod
    92116{
     117    // XMLシリアライズ用
     118private:
     119    friend class boost::serialization::access;
     120    template<class Archive> void serialize(Archive& ar, const unsigned int version)
     121    {
     122        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( CMethod );
     123    }
     124
    93125public:
    94126    StaticMethod( UserProc *pUserProc, Prototype::Accessibility accessibility )
     
    113145class Methods : public vector<CMethod *>
    114146{
     147    // XMLシリアライズ用
     148    // TODO: xml実装
     149private:
     150    friend class boost::serialization::access;
     151    template<class Archive> void serialize(Archive& ar, const unsigned int version)
     152    {
     153        ar & boost::serialization::make_nvp("vector_CMethod", boost::serialization::base_object<vector<CMethod *>>(*this));
     154    }
     155
    115156public:
    116157    Methods();
Note: See TracChangeset for help on using the changeset viewer.