Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • am-dept/amfe
  • Paul.Dechamps/amfe
2 results
Show changes
Commits on Source (4)
......@@ -43,6 +43,11 @@ threads="1"
%include "fwkw.swg"
// Instantiate some std templates
namespace std {
%template(std_vector_double) std::vector<double>;
}
%include "fwk.h"
//%#define SHARED_PTR_DISOWN $disown
......
File mode changed from 100644 to 100755
......@@ -59,7 +59,6 @@ threads="1"
// Instantiate some std templates
namespace std {
%template(std_vector_int) std::vector<int>;
%template(std_vector_double) std::vector<double>;
%template(std_vector_vector_double) std::vector<std::vector<double>>;
%template(std_vector_string) std::vector<std::string>;
}
......
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright 2020 University of Liège
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# basic test of std::vector<double> binding
# note:
# std_vector_double was defined in tbox.i, but now it is now defined in fwk.i.
# This is because std::vector<double> is a type seen by swig in fwk.
# In version <4.2.0, swig was able to understand that std::vector<double> in fwk
# was the same as std::vector<double> in tbox where the bindings were
# instanciated by the %template command. From 4.2.0, swig fails to understand
# that link and the __setitem__ generates cast failure.
import fwk
v = fwk.std_vector_double()
v.push_back(1.0)
v.push_back(2.0)
# next command fails with swig >4.2.0 if std_vector_double is
# instanciated (%template) in tbox.i:
print('v[0] =', v[0])
v[1] = 3.0
print('vector length =', v.size())