C++ (Qt)std::remove_if(m_list.begin(), m_list.end(), not_valid);return m_list.size();
C++ (Qt)iterator it = std::remove_if(m_list.begin(), m_list.end(), not_valid);m_list.erase(it, m_list.end());return m_list.size();
C++ (Qt)m_list.remove_if(not_valid);return m_list.size();
C++ (Qt)using namespace std; struct A{ ssc::signal<const double&, const double&> sig2; ssc::signal<float> sig1; ssc::signal<void> sig0; void run() const { sig2(1.0, 2.0); sig1(3.0f); sig0(); }}; struct B : public ssc::trackable{ void slot2(float x, float y) const { cout << "float x = " << x << " float y = " << y << endl; } void slot1(int x) const { cout << "int x = " << x << endl; } void slot0() { cout << "slot0" << endl;}}; int main(){ A a; B *b = new B(); a.sig2.connect(b, &B::slot2); a.sig2.connect(b, &B::slot1); a.sig2.connect(b, &B::slot0); a.sig1.connect(b, &B::slot1); a.sig1.connect(b, &B::slot0); a.sig0.connect(b, &B::slot0); a.run(); delete b; return 0;}