diff --git a/TrackingTools/PatternTools/interface/bqueue.h b/TrackingTools/PatternTools/interface/bqueue.h index 3a188fa42ea31..f3ea002275bec 100644 --- a/TrackingTools/PatternTools/interface/bqueue.h +++ b/TrackingTools/PatternTools/interface/bqueue.h @@ -138,6 +138,7 @@ namespace cmsutils { cp.m_size = 0; } + bqueue &operator=(bqueue const &) = default; bqueue &operator=(bqueue &&cp) noexcept { using std::swap; swap(m_size, cp.m_size); diff --git a/TrackingTools/PatternTools/test/bqueue_t.cpp b/TrackingTools/PatternTools/test/bqueue_t.cpp index a8f490d5f6566..f7431c3a0db6c 100644 --- a/TrackingTools/PatternTools/test/bqueue_t.cpp +++ b/TrackingTools/PatternTools/test/bqueue_t.cpp @@ -47,6 +47,15 @@ int main() { assert(cont.shared()); assert(cont3.shared()); verifySeq(cont3); + // copy assign + { + Cont cont_assign; + cont_assign = cont; + assert(cont.size() == cont_assign.size()); + assert(cont.shared()); + assert(cont_assign.shared()); + verifySeq(cont_assign); + } // add cont.push_back(Cont::value_type(new int(10))); assert((*cont.back()) == 10);