scilab: simplify and fix li_std_sequence_container_typemaps test

This commit is contained in:
Simon Marchetto 2014-03-10 15:22:19 +01:00
commit 7da356c8cc

View file

@ -37,8 +37,9 @@ namespace std {
} }
template<> ClassAPtr binaryOperation(ClassAPtr x, ClassAPtr y) { template<> ClassAPtr binaryOperation(ClassAPtr x, ClassAPtr y) {
x->a += y->a; if (x)
return x; y->a += x->a;
return y;
} }
template<typename SeqCont> template<typename SeqCont>
@ -53,12 +54,12 @@ namespace std {
} }
static value_type val_container(const SeqCont container) { static value_type val_container(const SeqCont container) {
return std::accumulate(container.begin(), container.end(), container.front(), return std::accumulate(container.begin(), container.end(), value_type(),
binaryOperation<value_type>); binaryOperation<value_type>);
} }
static value_type ref_container(const SeqCont& container) { static value_type ref_container(const SeqCont& container) {
return std::accumulate(container.begin(), container.end(), container.front(), return std::accumulate(container.begin(), container.end(), value_type(),
binaryOperation<value_type>); binaryOperation<value_type>);
} }
}; };
@ -115,12 +116,10 @@ instantiate_containers_templates(int);
instantiate_containers_templates(double); instantiate_containers_templates(double);
instantiate_containers_templates(bool); instantiate_containers_templates(bool);
instantiate_containers_templates(string); instantiate_containers_templates(string);
instantiate_containers_templates(Color);
instantiate_containers_templates(ClassAPtr); instantiate_containers_templates(ClassAPtr);
instantiate_containers_functions(int); instantiate_containers_functions(int);
instantiate_containers_functions(double); instantiate_containers_functions(double);
instantiate_containers_functions(bool); instantiate_containers_functions(bool);
instantiate_containers_functions(string); instantiate_containers_functions(string);
instantiate_containers_functions(Color);
instantiate_containers_functions(ClassAPtr); instantiate_containers_functions(ClassAPtr);