[odb-users] ODB Support for Boost dynamic_bitset
Boris Kolpackov
boris at codesynthesis.com
Thu Oct 17 00:47:56 EDT 2013
Hi Jiemin,
Huang Jiemin <hjiemin at dso.org.sg> writes:
> I'm new to ODB and I would like to find out if ODB supports Boost
> dynamic_bitset to any type in MS SQL? I couldn't find any information
> on dynamic_bitset in the documentation.
There is no built-in support for boost::dynamic_bitset. I guess the
most natural database type to map it to is BINARY/BLOB. You can
easily implement this mapping yourself as explained in this article:
http://www.codesynthesis.com/~boris/blog/2012/10/16/custom-cxx-to-database-type-mapping-in-odb/
If you want a quick a dirty solution, then you can map it to string
in the database with a help of a virtual data member, for example:
#pragma db object
class object
{
...
#pragma db transient
boost::dynamic_bitset<> data_;
std::string
data_as_string () const
{
std::string s;
boost::to_string (data_, s);
return s;
}
void
data_from_string (const std::string& s)
{
data_ = boost::dynamic_bitset<> (s);
}
#pragma db member(data) virtual(std::string) \
get(data_as_string) set(data_from_string)
};
Boris
More information about the odb-users
mailing list