जहां तक मैं समझता हूँ, वहाँ (, boost::serialization
वास्तव में) कोई क्रमबद्धता है boost::any
प्लेसहोल्डर के लिए समर्थन करते हैं।सी ++ - बढ़ावा :: किसी भी क्रमबद्धता
कोई पता है अगर वहाँ एक कस्टम boost::any
इकाई क्रमानुसार करने के लिए एक रास्ता है?
समस्या यहाँ स्पष्ट है: boost::any
टेम्पलेट आधारित प्लेसहोल्डर का उपयोग करता है वस्तुओं को स्टोर करने और यदि boost::any_cast
उचित है typeid
जाँच करने के लिए।
तो, वहाँ एक कस्टम सार सुपर क्लास placeholder
और कस्टम टेम्पलेट आधारित व्युत्पन्न वर्ग है, जो निम्न प्रकार से बनाई गई हैं है:
template <T> custom_placeholder : public placeholder {
virtual std::type_info type() const { return typeid(T); }
virtual ...
};
जाहिर है, यह कुछ मुसीबतों लाता है जब भी इस चीज serializing के बारे में सोच। शायद किसी को इस तरह के क्रमबद्धरण (और निश्चित रूप से, उचित deserialization) बनाने के लिए कुछ चाल पता है?
धन्यवाद
प्रकारों के एक ज्ञात सेट के लिए एक विशेष प्रकार को एक प्रकार कहा जाता है जैसे उदा। ['boost :: variant'] (http://www.boost.org/doc/libs/1_44_0/doc/html/variant.html) (जो स्पष्ट रूप से केवल नींव देता है)। –
@ जॉर्ज: हाँ, संकेत के लिए धन्यवाद। मैंने इसे प्रतिबिंबित करने के लिए प्रतिक्रिया संपादित की। –