// denc top-level methods that call into denc_traits<T> methods
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
!traits::featured>::type denc(
const T& o,
size_t& p,
traits::bound_encode(o, p);
}
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
traits::featured>::type denc(
const T& o,
size_t& p,
}
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
!traits::featured>::type denc(
const T& o,
buffer::list::contiguous_appender& p,
traits::encode(o, p);
}
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
traits::featured>::type denc(
const T& o,
buffer::list::contiguous_appender& p,
}
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
!traits::featured>::type denc(
T& o,
buffer::ptr::iterator& p,
traits::decode(o, p);
}
template<typename T, typename traits=denc_traits<T>>
-inline typename std::enable_if<traits::supported &&
+inline typename std::enable_if<traits::supported != 0 &&
traits::featured>::type denc(
T& o,
buffer::ptr::iterator& p,
template<typename A, typename B>
struct denc_traits<
std::pair<A, B>,
- typename std::enable_if<denc_traits<A>::supported &&
- denc_traits<B>::supported>::type> {
+ typename std::enable_if<denc_traits<A>::supported != 0 &&
+ denc_traits<B>::supported != 0>::type> {
typedef denc_traits<A> a_traits;
typedef denc_traits<B> b_traits;
template<typename T>
struct denc_traits<
std::list<T>,
- typename std::enable_if<denc_traits<T>::supported>::type> {
+ typename std::enable_if<denc_traits<T>::supported != 0>::type> {
typedef denc_traits<T> traits;
enum { supported = true };
template<typename T>
struct denc_traits<
std::vector<T>,
- typename std::enable_if<denc_traits<T>::supported>::type> {
+ typename std::enable_if<denc_traits<T>::supported != 0>::type> {
typedef denc_traits<T> traits;
enum { supported = true };
template<typename T>
struct denc_traits<
std::set<T>,
- typename std::enable_if<denc_traits<T>::supported>::type> {
+ typename std::enable_if<denc_traits<T>::supported != 0>::type> {
typedef denc_traits<T> traits;
enum { supported = true };
template<typename A, typename B>
struct denc_traits<
std::map<A, B>,
- typename std::enable_if<denc_traits<A>::supported &&
- denc_traits<B>::supported>::type> {
+ typename std::enable_if<denc_traits<A>::supported != 0 &&
+ denc_traits<B>::supported != 0>::type> {
typedef denc_traits<A> a_traits;
typedef denc_traits<B> b_traits;