fix a warning caused by boost::dynamic_bitset<>

This commit is contained in:
Jane Tournois 2015-02-03 11:20:01 +01:00
parent 21082320e3
commit abfc6d92c8
1 changed files with 13 additions and 12 deletions

View File

@ -163,11 +163,12 @@ public:
private:
std::vector<Function> funcs;
std::vector<boost::dynamic_bitset<> > bmasks;
typedef boost::dynamic_bitset<std::size_t> Bmask;
std::vector<Bmask> bmasks;
public:
Implicit_multi_domain_to_labeling_function_wrapper (const Function_vector& vf, const std::vector<std::vector<Sign> >& vps)
: funcs(vf), bmasks(vps.size(), boost::dynamic_bitset<>(funcs.size() * 2, false))
: funcs(vf), bmasks(vps.size(), Bmask(funcs.size() * 2, false))
{
assert(funcs.size());
@ -178,9 +179,9 @@ public:
{
const std::vector<Sign>& mask = *mask_iter;
assert(funcs.size() == mask.size());
boost::dynamic_bitset<>& bmask = bmasks[mask_index++];
Bmask& bmask = bmasks[mask_index++];
typename boost::dynamic_bitset<>::size_type bit_index = 0;
typename Bmask::size_type bit_index = 0;
for (std::vector<Sign>::const_iterator iter = mask.begin(), endIter = mask.end(); iter != endIter; ++iter)
{
std::string::value_type character = *iter;
@ -201,15 +202,15 @@ public:
assert(funcs.size());
bmasks.reserve((1 << funcs.size()) - 1);
bmasks.push_back(boost::dynamic_bitset<>(std::string("10")));
bmasks.push_back(boost::dynamic_bitset<>(std::string("01")));
bmasks.push_back(Bmask(std::string("10")));
bmasks.push_back(Bmask(std::string("01")));
for (std::size_t i = 0; i < funcs.size()-1; ++i)
{
std::size_t c_size = bmasks.size();
for (std::size_t index = 0; index < c_size; ++index)
{
boost::dynamic_bitset<> aux = bmasks[index];
Bmask aux = bmasks[index];
aux.push_back(true);
aux.push_back(false);
bmasks.push_back(aux);
@ -222,7 +223,7 @@ public:
}
Implicit_multi_domain_to_labeling_function_wrapper (const Function_vector& vf, const std::vector<std::string>& vps)
: funcs(vf), bmasks(vps.size(), boost::dynamic_bitset<>(funcs.size() * 2, false))
: funcs(vf), bmasks(vps.size(), Bmask(funcs.size() * 2, false))
{
assert(funcs.size());
@ -233,9 +234,9 @@ public:
{
const std::string& mask_str = *mask_iter;
assert(funcs.size() == mask_str.length());
boost::dynamic_bitset<>& bmask = bmasks[mask_index++];
Bmask& bmask = bmasks[mask_index++];
typename boost::dynamic_bitset<>::size_type bit_index = 0;
typename Bmask::size_type bit_index = 0;
for (std::string::const_iterator iter = mask_str.begin(), endIter = mask_str.end(); iter != endIter; ++iter)
{
std::string::value_type character = *iter;
@ -252,7 +253,7 @@ public:
return_type operator() (const Point_3& p, const bool = true) const
{
boost::dynamic_bitset<> bmask(funcs.size() * 2, false);
Bmask bmask(funcs.size() * 2, false);
std::size_t i = 0;
for (typename std::vector<Function>::const_iterator iter = funcs.begin(), endIter = funcs.end();
@ -268,7 +269,7 @@ public:
++i;
}
std::vector<boost::dynamic_bitset<> >::const_iterator iter = std::lower_bound(bmasks.begin(), bmasks.end(), bmask);
std::vector<Bmask>::const_iterator iter = std::lower_bound(bmasks.begin(), bmasks.end(), bmask);
if (iter != bmasks.end() && *iter == bmask)
return static_cast<return_type>(1 + (iter - bmasks.begin()));
return 0;