2013-10-16 7 views
14

मैं एक सॉफ्टवेयर डिज़ाइन पर काम कर रहा हूं जिसमें मैं Boost.Units का लाभ उठाना चाहता हूं। कुछ इकाइयां जिन्हें मैं उपयोग करना चाहता हूं, समय का प्रतिनिधित्व करते हैं, हालांकि, मैं उन मानकों के लिए सी ++ 11 std::chrono इकाइयों का उपयोग करने के इच्छुक हूं।std :: chrono & Boost.Units

मुझे आश्चर्य है कि Boost.Units और chrono के बीच कोई साफ एकीकरण है या क्या मुझे अपने स्वयं के कनवर्टर्स लिखने और प्रकारों के बीच स्केलर मानों की प्रतिलिपि बनाकर टाइप सुरक्षा की आवश्यकता है या नहीं।

क्या इस मुद्दे के लिए कोई सर्वोत्तम अभ्यास है?

+2

मैंने हाल ही में 'बूस्ट :: इकाइयों' के साथ काम करना शुरू कर दिया है। AFAICT समय या 'बूस्ट :: chrono' के साथ कोई संबंध नहीं है। मुझे लगता है कि 'बूस्ट :: इकाइयों' और 'बूस्ट :: क्रोनो' के पीछे की अवधारणाएं बहुत अधिक हैं। हालांकि आप 'बूस्ट :: डेट_टाइम' पर एक नज़र डाल सकते हैं जो '.. (या फिर से लागू)' std :: chrono' पर बनाता है। वहां आपको कक्षाओं का एक बड़ा हिस्सा मिलेगा जो समय के किसी भी विचारशील पहलू से निपटते हैं। – user23573

+0

शायद 'getAs [Type]' फ़ंक्शंस प्रदान करते समय स्केलर को एक नई कक्षा में लपेटें, इस प्रकार स्केलर को अस्पष्ट कर दें? असफलता का एक बिंदु कई से बेहतर है। – Conduit

+0

यहां आने वाले लोगों के लिए निम्नलिखित प्रश्न प्रासंगिक है, लेकिन थोड़ा अलग है: https://stackoverflow.com/questions/4910373/interoperability-between-boostdate-time-and-stdchrono –

उत्तर

0

यह एक सही उत्तर नहीं हो सकता है, लेकिन boost :: chrono example itself (devel) (version at time of writing) में परिभाषित इकाइयों के सिस्टम के साथ इसे एकीकृत करने का एक उदाहरण प्रदान करता है।

अनिवार्य रूप से, boost.units examples for quaternion and complex numbers के आधार पर यह std :: chrono इकाइयों के लिए समान कार्यों को परिभाषित करना संभव होना चाहिए, हालांकि इसे नए उपयोगकर्ता परिभाषित इकाइयों के लिए अतिरिक्त कोड की आवश्यकता हो सकती है।

एक समान है, हालांकि थोड़ा अलग question regarding boost::date_time जो उपयोगी जानकारी भी हो सकता है।

क्षमा करें यह एक पूर्ण उत्तर नहीं है, लेकिन शायद यह एक शुरुआत होगी जो कोई और पूरा कर सकता है!

संबंधित मुद्दे