@@ -540,7 +540,11 @@ namespace classdesc
540
540
541
541
// / assign \a x if T is a map
542
542
template <class T ,class K >
543
- typename enable_if<is_pair<typename T::value_type>, void >::T
543
+ typename enable_if<
544
+ And<
545
+ Not<is_const<T>>,
546
+ is_pair<typename T::value_type>
547
+ >, void >::T
544
548
assignElem (T& obj, const K& k, const REST_PROCESS_BUFFER& x)
545
549
{
546
550
auto iter=obj.emplace (k, typename T::mapped_type ()).first ;
@@ -549,7 +553,11 @@ namespace classdesc
549
553
550
554
// / assign \a x if T is a set
551
555
template <class T ,class K >
552
- typename enable_if<Not<is_pair<typename T::value_type>>, void >::T
556
+ typename enable_if<
557
+ And<
558
+ Not<is_const<T>>,
559
+ Not<is_pair<typename T::value_type>>
560
+ >, void >::T
553
561
assignElem (T& obj, const K& k,const REST_PROCESS_BUFFER& x)
554
562
{
555
563
bool v; x>>v;
@@ -559,6 +567,11 @@ namespace classdesc
559
567
obj.erase (k);
560
568
}
561
569
570
+ template <class T ,class K >
571
+ typename enable_if<is_const<T>, void >::T
572
+ assignElem (T& obj, const K& k,const REST_PROCESS_BUFFER& x) {}
573
+
574
+
562
575
template <class T > class RESTProcessAssociativeContainer : public RESTProcessWrapperBase
563
576
{
564
577
T& obj;
0 commit comments