mirror of
https://github.com/boostorg/serialization.git
synced 2026-01-24 06:22:08 +00:00
tweaks to accomodate borland quirks
[SVN r46874]
This commit is contained in:
@@ -353,8 +353,14 @@ struct save_pointer_type {
|
||||
T & t
|
||||
){
|
||||
BOOST_DEDUCED_TYPENAME
|
||||
boost::serialization::type_info_implementation<T>::type
|
||||
const & i = boost::serialization::type_info_implementation<T>::type
|
||||
// Borland complains if "const" is applied to something that
|
||||
// is already "const"
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
|
||||
const boost::serialization::type_info_implementation<T>::type
|
||||
#else
|
||||
boost::serialization::type_info_implementation<T>::type const
|
||||
#endif
|
||||
& i = boost::serialization::type_info_implementation<T>::type
|
||||
::get_const_instance();
|
||||
|
||||
boost::serialization::extended_type_info const * const this_type = & i;
|
||||
|
||||
@@ -104,18 +104,24 @@ BOOST_DLLEXPORT void
|
||||
ptr_serialization_support<Archive,Serializable>::instantiate()
|
||||
{
|
||||
export_impl<Archive,Serializable>::enable_save(
|
||||
BOOST_DEDUCED_TYPENAME Archive::is_saving()
|
||||
#if ! defined(__BORLANDC__)
|
||||
BOOST_DEDUCED_TYPENAME
|
||||
#endif
|
||||
Archive::is_saving()
|
||||
);
|
||||
|
||||
export_impl<Archive,Serializable>::enable_load(
|
||||
BOOST_DEDUCED_TYPENAME Archive::is_loading()
|
||||
#if ! defined(__BORLANDC__)
|
||||
BOOST_DEDUCED_TYPENAME
|
||||
#endif
|
||||
Archive::is_loading()
|
||||
);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
struct guid_initializer
|
||||
{
|
||||
const guid_initializer & export_guid(char const* key, mpl::false_){
|
||||
const guid_initializer & export_guid(char const* /* key */, mpl::false_){
|
||||
// generates the statically-initialized objects whose constructors
|
||||
// register the information allowing serialization of T objects
|
||||
// through pointers to their base classes.
|
||||
|
||||
@@ -110,7 +110,7 @@ inline void save(
|
||||
const std::vector<U, Allocator> &t,
|
||||
const unsigned int file_version
|
||||
){
|
||||
save(ar,t,file_version, typename use_array_optimization<Archive>::template apply<U>::type());
|
||||
save(ar,t,file_version, BOOST_DEDUCED_TYPENAME use_array_optimization<Archive>::template apply<U>::type());
|
||||
}
|
||||
|
||||
template<class Archive, class U, class Allocator>
|
||||
@@ -119,7 +119,7 @@ inline void load(
|
||||
std::vector<U, Allocator> &t,
|
||||
const unsigned int file_version
|
||||
){
|
||||
load(ar,t,file_version, typename use_array_optimization<Archive>::template apply<U>::type());
|
||||
load(ar,t,file_version, BOOST_DEDUCED_TYPENAME use_array_optimization<Archive>::template apply<U>::type());
|
||||
}
|
||||
|
||||
// split non-intrusive serialization function member into separate
|
||||
|
||||
Reference in New Issue
Block a user