5
मैं हाल ही में सीखने के उद्देश्यों के लिए boost::signals2
के साथ खेल रहा हूं, और मैं सोच रहा था कि क्या मैं गैर-स्थिर स्लॉट को कक्षा (जैसे मैं क्यूटी में) में स्थित सिग्नल कनेक्ट कर सकता हूं। निम्नलिखित पर विचार करें:बढ़ावा :: सिग्नल 2 स्लॉट एक गैर स्थैतिक फ़ंक्शन सदस्य के रूप में?
class Worker {
typedef boost::signals2::signal<void (const std::string &)> SendMessage;
public:
typedef SendMessage::slot_type SendMessageSlotType;
boost::signals2::connection connect(const SendMessageSlotType &slot) {
return send_message.connect(slot);
}
private:
SendMessage send_message;
};
class Controller {
public:
Controller() {
worker.connect(&Controller::print);
}
private:
static void print(const std::string &message) {
std::cout << message << std::endl;
}
Worker worker;
};
अब मैं Controller::print
एक गैर स्थिर सदस्य बनाना चाहते हैं। उदाहरण के लिए boost::thread
के साथ, यह boost::bind
का उपयोग करके हासिल किया जा सकता है; boost::signals2
के साथ ऐसा करने का कोई तरीका है?