Best,
Vicente
P.S. I don't think there will be too much uses of relaxed_get, but who
know what C++ programmers use
Yes there are. The boost::get function is used by us to check if some data
source exist at runtime. It is somewhat like this, where a data source can
be in single datum mode or be buffered:
typedef boost::variant DataSource;
template <typename T>
class Sink
{
bool Connect(const DataSource& crDataSource)
{
//check availability: try both m_p as m_pvec and if none is available
return false
}
T* m_p;
std::vector m_pvec;
};
Sink<int> will compile, while Sink<double> not. Yes it can be rewritten with
an extra template argument, but that obfuscates code (no static_if in c++).
Anyway maybe we should drop Boost.Variant. It is also a compile time hog.