VS 71 Data compile

This commit is contained in:
Aleksandar Fabijanic 2012-09-11 03:32:41 +00:00
parent 69be5d7e98
commit a264582df1
3 changed files with 33 additions and 2 deletions

View File

@ -114,7 +114,13 @@ bool Date::operator < (const Date& date)
Date& Date::operator = (const Var& var)
{
*this = var.operator Date(); // g++ workaround
#ifndef __GNUC__
// g++ used to choke on this, newer versions seem to digest it fine
// TODO: determine the version able to handle it properly
*this = var.extract<Date>();
#else
*this = var.operator Date();
#endif
return *this;
}
@ -122,6 +128,9 @@ Date& Date::operator = (const Var& var)
} } // namespace Poco::Data
#ifdef __GNUC__
// only needed for g++ (see comment in Date::operator = above)
namespace Poco {
namespace Dynamic {
@ -148,3 +157,6 @@ Var::operator Date () const
} } // namespace Poco::Dynamic
#endif // __GNUC__

View File

@ -34,6 +34,9 @@
//
#ifdef __GNUC__
// TODO: determine g++ version able to do the right thing without these specializations
#include "Poco/Data/DynamicLOB.h"
#include "Poco/Data/LOB.h"
#include "Poco/Dynamic/Var.h"
@ -83,3 +86,7 @@ Var::operator BLOB () const
} } // namespace Poco::Data
#endif // __GNUC__

View File

@ -111,7 +111,13 @@ bool Time::operator < (const Time& time)
Time& Time::operator = (const Var& var)
{
*this = var.operator Time(); // g++ workaround
#ifndef __GNUC__
// g++ used to choke on this, newer versions seem to digest it fine
// TODO: determine the version able to handle it properly
*this = var.extract<Time>();
#else
*this = var.operator Time();
#endif
return *this;
}
@ -119,6 +125,9 @@ Time& Time::operator = (const Var& var)
} } // namespace Poco::Data
#ifdef __GNUC__
// only needed for g++ (see comment in Time::operator = above)
namespace Poco {
namespace Dynamic {
@ -145,3 +154,6 @@ Var::operator Time () const
} } // namespace Poco::Dynamic
#endif // __GNUC__