लाइब्रेरी इवोल्यूशन वर्किंग ग्रुप (LEWG) से दस्तावेज़ P0122R (2016-02-12 ) आधिकारिक तौर पर इस प्रकार का नाम रखता है :
array_view
span
बदलाव का
R0 से परिवर्तन
- कोना बैठक में LEWG से निम्नलिखित प्रतिक्रिया के
array_view
लिए प्रस्तावित प्रकार का नाम बदला गया span
।
- [...]
हम यह भी पढ़ सकते हैं:
मानक पर प्रभाव
यह प्रस्ताव एक शुद्ध पुस्तकालय विस्तार है। इसे मानक कक्षाओं, कार्यों या हेडर में किसी भी बदलाव की आवश्यकता नहीं है। इसे बढ़ाया जा सकता है यदि P0257byte
में प्रस्तावित एलाइजिंग व्यवहार के प्रकार और परिवर्तनों पर निर्भर करता है ।
हालाँकि - यदि अपनाया गया है - यह इस नए प्रकार (एक उदाहरण होगा copy()
) के लिए कुछ मानक पुस्तकालय कार्यों को अधिभारित करने के लिए उपयोगी हो सकता है ।
span
मानक C ++ (C ++ 11) में लागू किया गया है और C ++ कोड के साथ-साथ वाणिज्यिक कार्यालय उत्पादकता सॉफ़्टवेयर के लिए एक वाणिज्यिक स्थैतिक विश्लेषण उपकरण के भीतर सफलतापूर्वक उपयोग किया जा रहा है। एक खुला स्रोत, संदर्भ कार्यान्वयन https://github.com/Microsoft/GSL पर उपलब्ध है ।
एक अगले अध्याय में, इस दस्तावेज प्रस्तुत रीड-ओनली और पढ़ने-लिखने की ( परिवर्तनशील ) तक पहुँचता है:
तत्व प्रकार और रूपांतरण
span
टेम्प्लेट पैरामीटर के माध्यम से इसके तत्व प्रकार से कॉन्फ़िगर किया जाना चाहिए ValueType
, जिसे एक संपूर्ण ऑब्जेक्ट प्रकार की आवश्यकता होती है जो एक सार वर्ग प्रकार नहीं है।
span
या तो केवल पढ़ने के लिए या अनुक्रम के माध्यम से परस्पर उपयोग का समर्थन करता है। रीड-ओनली डेटा एक्सेस करने के लिए, उपयोगकर्ता एक घोषणा कर सकता है span<const T>
, और म्यूटेबल डेटा तक पहुंच ए का उपयोग करेगा span<T>
।
[...]
दिशानिर्देश समर्थन लाइब्रेरी समीक्षाspan<T>
भी देखें : Marius Bancila (मार्च 2016) से परिभाषित span
:
दिशानिर्देश समर्थन लाइब्रेरी प्रकार और में वर्णित कार्यों में से कुछ की एक Microsoft कार्यान्वयन है सी ++ कोर दिशानिर्देश
द्वारा बनाए रखा स्टैंडर्ड सी ++ फाउंडेशन । जीएसएल द्वारा प्रदान किए गए प्रकारों के बीच span<T>
पूर्व में जाना जाता है array_view<T>
।
span<T>
सन्निहित स्मृति का एक गैर मालिक रेंज संकेत (और आकार काउंटर) या मानक कंटेनर (जैसे के स्थान पर किया की सिफारिश की है std::vector
या std::array
)।