C++序列化库的实现(12)

/// unsigned char
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<unsigned char,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const unsigned char& param)
    {
        To_Archive_Helper<_storage_type,storage_class,unsigned char> t_a_h(*helper._storage,param);
    }
};

/// wchar_t
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<wchar_t,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const wchar_t& param)
    {
        To_Archive_Helper<_storage_type,storage_class,wchar_t> t_a_h(*helper._storage,param);
    }
};

/// float
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<float,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const float& param)
    {
        To_Archive_Helper<_storage_type,storage_class,float> t_a_h(*helper._storage,param);
    }
};

/// double
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<double,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const double& param)
    {
        To_Archive_Helper<_storage_type,storage_class,double> t_a_h(*helper._storage,param);
    }
};

/// int
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<int,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const int& param)
    {
        To_Archive_Helper<_storage_type,storage_class,int> t_a_h(*helper._storage,param);
    }
};

/// unsigned int
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<unsigned int,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const unsigned int& param)
    {
        To_Archive_Helper<_storage_type,storage_class,unsigned int> t_a_h(*helper._storage,param);
    }
};

/// long
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<long,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const long& param)
    {
        To_Archive_Helper<_storage_type,storage_class,long> t_a_h(*helper._storage,param);
    }
};

/// unsigned long
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<unsigned long,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const unsigned long& param)
    {
        To_Archive_Helper<_storage_type,storage_class,unsigned long> t_a_h(*helper._storage,param);
    }
};

/// _uint64_
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<_uint64_,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const _uint64_& param)
    {
        To_Archive_Helper<_storage_type,storage_class,_uint64_> t_a_h(*helper._storage,param);
    }
};

///  _int64_
template<typename storage_class,storage_type::VEHICLE_TYPE _storage_type>
struct oarchive_impl_helper<_int64_,storage_class,_storage_type>
{
    oarchive_impl_helper(oarchive_param_deliverer<storage_class,_storage_type>& helper,const _int64_& param)
    {
        To_Archive_Helper<_storage_type,storage_class,_int64_> t_a_h(*helper._storage,param);
    }
};

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4027141282656c44471a7b6eeb1dc451.html