@ -57,7 +57,7 @@ enum
} ;
} ;
# define IMPLEMENT_SERIALIZE(statements) \
# define IMPLEMENT_SERIALIZE(statements) \
unsigned int GetSerializeSize ( int nType = 0 , int nVersion = PROTOCOL_VERSION ) const \
unsigned int GetSerializeSize ( int nType , int nVersion ) const \
{ \
{ \
CSerActionGetSerializeSize ser_action ; \
CSerActionGetSerializeSize ser_action ; \
const bool fGetSize = true ; \
const bool fGetSize = true ; \
@ -72,7 +72,7 @@ enum
return nSerSize ; \
return nSerSize ; \
} \
} \
template < typename Stream > \
template < typename Stream > \
void Serialize ( Stream & s , int nType = 0 , int nVersion = PROTOCOL_VERSION ) const \
void Serialize ( Stream & s , int nType , int nVersion ) const \
{ \
{ \
CSerActionSerialize ser_action ; \
CSerActionSerialize ser_action ; \
const bool fGetSize = false ; \
const bool fGetSize = false ; \
@ -83,7 +83,7 @@ enum
{ statements } \
{ statements } \
} \
} \
template < typename Stream > \
template < typename Stream > \
void Unserialize ( Stream & s , int nType = 0 , int nVersion = PROTOCOL_VERSION ) \
void Unserialize ( Stream & s , int nType , int nVersion ) \
{ \
{ \
CSerActionUnserialize ser_action ; \
CSerActionUnserialize ser_action ; \
const bool fGetSize = false ; \
const bool fGetSize = false ; \
@ -287,43 +287,43 @@ template<typename Stream, typename C> void Unserialize(Stream& is, std::basic_st
// vector
// vector
template < typename T , typename A > unsigned int GetSerializeSize_impl ( const std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename T , typename A > unsigned int GetSerializeSize_impl ( const std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename T , typename A > unsigned int GetSerializeSize_impl ( const std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename T , typename A > unsigned int GetSerializeSize_impl ( const std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename T , typename A > inline unsigned int GetSerializeSize ( const std : : vector < T , A > & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename T , typename A > inline unsigned int GetSerializeSize ( const std : : vector < T , A > & v , int nType , int nVersion ) ;
template < typename Stream , typename T , typename A > void Serialize_impl ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename Stream , typename T , typename A > void Serialize_impl ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename Stream , typename T , typename A > void Serialize_impl ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename Stream , typename T , typename A > void Serialize_impl ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename Stream , typename T , typename A > inline void Serialize ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T , typename A > inline void Serialize ( Stream & os , const std : : vector < T , A > & v , int nType , int nVersion ) ;
template < typename Stream , typename T , typename A > void Unserialize_impl ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename Stream , typename T , typename A > void Unserialize_impl ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion , const boost : : true_type & ) ;
template < typename Stream , typename T , typename A > void Unserialize_impl ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename Stream , typename T , typename A > void Unserialize_impl ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion , const boost : : false_type & ) ;
template < typename Stream , typename T , typename A > inline void Unserialize ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T , typename A > inline void Unserialize ( Stream & is , std : : vector < T , A > & v , int nType , int nVersion ) ;
// others derived from vector
// others derived from vector
extern inline unsigned int GetSerializeSize ( const CScript & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
extern inline unsigned int GetSerializeSize ( const CScript & v , int nType , int nVersion ) ;
template < typename Stream > void Serialize ( Stream & os , const CScript & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream > void Serialize ( Stream & os , const CScript & v , int nType , int nVersion ) ;
template < typename Stream > void Unserialize ( Stream & is , CScript & v , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream > void Unserialize ( Stream & is , CScript & v , int nType , int nVersion ) ;
// pair
// pair
template < typename K , typename T > unsigned int GetSerializeSize ( const std : : pair < K , T > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename K , typename T > unsigned int GetSerializeSize ( const std : : pair < K , T > & item , int nType , int nVersion ) ;
template < typename Stream , typename K , typename T > void Serialize ( Stream & os , const std : : pair < K , T > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename T > void Serialize ( Stream & os , const std : : pair < K , T > & item , int nType , int nVersion ) ;
template < typename Stream , typename K , typename T > void Unserialize ( Stream & is , std : : pair < K , T > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename T > void Unserialize ( Stream & is , std : : pair < K , T > & item , int nType , int nVersion ) ;
// 3 tuple
// 3 tuple
template < typename T0 , typename T1 , typename T2 > unsigned int GetSerializeSize ( const boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename T0 , typename T1 , typename T2 > unsigned int GetSerializeSize ( const boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 > void Serialize ( Stream & os , const boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 > void Serialize ( Stream & os , const boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 > void Unserialize ( Stream & is , boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 > void Unserialize ( Stream & is , boost : : tuple < T0 , T1 , T2 > & item , int nType , int nVersion ) ;
// 4 tuple
// 4 tuple
template < typename T0 , typename T1 , typename T2 , typename T3 > unsigned int GetSerializeSize ( const boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename T0 , typename T1 , typename T2 , typename T3 > unsigned int GetSerializeSize ( const boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 , typename T3 > void Serialize ( Stream & os , const boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 , typename T3 > void Serialize ( Stream & os , const boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 , typename T3 > void Unserialize ( Stream & is , boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename T0 , typename T1 , typename T2 , typename T3 > void Unserialize ( Stream & is , boost : : tuple < T0 , T1 , T2 , T3 > & item , int nType , int nVersion ) ;
// map
// map
template < typename K , typename T , typename Pred , typename A > unsigned int GetSerializeSize ( const std : : map < K , T , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename K , typename T , typename Pred , typename A > unsigned int GetSerializeSize ( const std : : map < K , T , Pred , A > & m , int nType , int nVersion ) ;
template < typename Stream , typename K , typename T , typename Pred , typename A > void Serialize ( Stream & os , const std : : map < K , T , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename T , typename Pred , typename A > void Serialize ( Stream & os , const std : : map < K , T , Pred , A > & m , int nType , int nVersion ) ;
template < typename Stream , typename K , typename T , typename Pred , typename A > void Unserialize ( Stream & is , std : : map < K , T , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename T , typename Pred , typename A > void Unserialize ( Stream & is , std : : map < K , T , Pred , A > & m , int nType , int nVersion ) ;
// set
// set
template < typename K , typename Pred , typename A > unsigned int GetSerializeSize ( const std : : set < K , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename K , typename Pred , typename A > unsigned int GetSerializeSize ( const std : : set < K , Pred , A > & m , int nType , int nVersion ) ;
template < typename Stream , typename K , typename Pred , typename A > void Serialize ( Stream & os , const std : : set < K , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename Pred , typename A > void Serialize ( Stream & os , const std : : set < K , Pred , A > & m , int nType , int nVersion ) ;
template < typename Stream , typename K , typename Pred , typename A > void Unserialize ( Stream & is , std : : set < K , Pred , A > & m , int nType , int nVersion = PROTOCOL_VERSION ) ;
template < typename Stream , typename K , typename Pred , typename A > void Unserialize ( Stream & is , std : : set < K , Pred , A > & m , int nType , int nVersion ) ;
@ -336,19 +336,19 @@ template<typename Stream, typename K, typename Pred, typename A> void Unserializ
// Thanks to Boost serialization for this idea.
// Thanks to Boost serialization for this idea.
//
//
template < typename T >
template < typename T >
inline unsigned int GetSerializeSize ( const T & a , long nType , int nVersion = PROTOCOL_VERSION )
inline unsigned int GetSerializeSize ( const T & a , long nType , int nVersion )
{
{
return a . GetSerializeSize ( ( int ) nType , nVersion ) ;
return a . GetSerializeSize ( ( int ) nType , nVersion ) ;
}
}
template < typename Stream , typename T >
template < typename Stream , typename T >
inline void Serialize ( Stream & os , const T & a , long nType , int nVersion = PROTOCOL_VERSION )
inline void Serialize ( Stream & os , const T & a , long nType , int nVersion )
{
{
a . Serialize ( os , ( int ) nType , nVersion ) ;
a . Serialize ( os , ( int ) nType , nVersion ) ;
}
}
template < typename Stream , typename T >
template < typename Stream , typename T >
inline void Unserialize ( Stream & is , T & a , long nType , int nVersion = PROTOCOL_VERSION )
inline void Unserialize ( Stream & is , T & a , long nType , int nVersion )
{
{
a . Unserialize ( is , ( int ) nType , nVersion ) ;
a . Unserialize ( is , ( int ) nType , nVersion ) ;
}
}
@ -730,39 +730,39 @@ public:
typedef vector_type : : const_iterator const_iterator ;
typedef vector_type : : const_iterator const_iterator ;
typedef vector_type : : reverse_iterator reverse_iterator ;
typedef vector_type : : reverse_iterator reverse_iterator ;
explicit CDataStream ( int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION )
explicit CDataStream ( int nTypeIn , int nVersionIn )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
CDataStream ( const_iterator pbegin , const_iterator pend , int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION ) : vch ( pbegin , pend )
CDataStream ( const_iterator pbegin , const_iterator pend , int nTypeIn , int nVersionIn ) : vch ( pbegin , pend )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
# if !defined(_MSC_VER) || _MSC_VER >= 1300
# if !defined(_MSC_VER) || _MSC_VER >= 1300
CDataStream ( const char * pbegin , const char * pend , int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION ) : vch ( pbegin , pend )
CDataStream ( const char * pbegin , const char * pend , int nTypeIn , int nVersionIn ) : vch ( pbegin , pend )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
# endif
# endif
CDataStream ( const vector_type & vchIn , int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION ) : vch ( vchIn . begin ( ) , vchIn . end ( ) )
CDataStream ( const vector_type & vchIn , int nTypeIn , int nVersionIn ) : vch ( vchIn . begin ( ) , vchIn . end ( ) )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
CDataStream ( const std : : vector < char > & vchIn , int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION ) : vch ( vchIn . begin ( ) , vchIn . end ( ) )
CDataStream ( const std : : vector < char > & vchIn , int nTypeIn , int nVersionIn ) : vch ( vchIn . begin ( ) , vchIn . end ( ) )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
CDataStream ( const std : : vector < unsigned char > & vchIn , int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION ) : vch ( ( char * ) & vchIn . begin ( ) [ 0 ] , ( char * ) & vchIn . end ( ) [ 0 ] )
CDataStream ( const std : : vector < unsigned char > & vchIn , int nTypeIn , int nVersionIn ) : vch ( ( char * ) & vchIn . begin ( ) [ 0 ] , ( char * ) & vchIn . end ( ) [ 0 ] )
{
{
Init ( nTypeIn , nVersionIn ) ;
Init ( nTypeIn , nVersionIn ) ;
}
}
void Init ( int nTypeIn = SER_NETWORK , int nVersionIn = PROTOCOL_VERSION )
void Init ( int nTypeIn , int nVersionIn )
{
{
nReadPos = 0 ;
nReadPos = 0 ;
nType = nTypeIn ;
nType = nTypeIn ;
@ -976,7 +976,7 @@ public:
}
}
template < typename Stream >
template < typename Stream >
void Serialize ( Stream & s , int nType = 0 , int nVersion = PROTOCOL_VERSION ) const
void Serialize ( Stream & s , int nType , int nVersion ) const
{
{
// Special case: stream << stream concatenates like stream += stream
// Special case: stream << stream concatenates like stream += stream
if ( ! vch . empty ( ) )
if ( ! vch . empty ( ) )
@ -1085,7 +1085,7 @@ public:
typedef FILE element_type ;
typedef FILE element_type ;
CAutoFile ( FILE * filenew = NULL , int nTypeIn = SER_DISK , int nVersionIn = PROTOCOL_VERSION )
CAutoFile ( FILE * filenew , int nTypeIn , int nVersionIn )
{
{
file = filenew ;
file = filenew ;
nType = nTypeIn ;
nType = nTypeIn ;