Opened 10 years ago

Closed 4 years ago

#7871 closed Feature Requests (fixed)

[ICL][c++11] split_interval_map: move-assignment removes implicit copy-assignment

Reported by: opium Owned by: Joachim Faulhaber
Milestone: To Be Determined Component: ICL
Version: Boost 1.52.0 Severity: Problem
Keywords: Cc: Joachim Faulhaber

Description

split_interval_map has no explicit copy-assignment operator, so using copy-assignment with c++11 causes compilation error:

#include <boost/icl/split_interval_map.hpp>
    
int main ()
{
  boost::icl::split_interval_map <int, int> A, B;
  A = B;
  return 0;
}

Compilation error:

test.cpp: In function 'int main()':
test.cpp:7:7: error: use of deleted function 'boost::icl::split_interval_map<int, int>& boost::icl::split_interval_map<int, int>::operator=(const boost::icl::split_interval_map<int, int>&)'
In file included from test.cpp:2:0:
/home/opium/dev_libs/boost_1_52_0/include/boost-1_52/boost/icl/split_interval_map.hpp:33:7: note: 'boost::icl::split_interval_map<int, int>& boost::icl::split_interval_map<int, int>::operator=(const boost::icl::split_interval_map<int, int>&)' is implicitly declared as deleted because 'boost::icl::split_interval_map<int, int>' declares a move constructor or move assignment operator

Change History (1)

comment:1 by Joachim Faulhaber, 4 years ago

Cc: Joachim Faulhaber added
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.