tweaks to accomodate borland quirks

[SVN r46874]
This commit is contained in:
Robert Ramey
2008-06-29 22:18:47 +00:00
parent 77760e0905
commit 116a9620d2
3 changed files with 19 additions and 7 deletions

View File

@@ -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;

View File

@@ -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.

View File

@@ -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