عن المشروع

Abseil هي مجموعة مفتوحة المصدر من أكواد مكتبة C++ صُممت لتعزيز مكتبة C++ القياسية. يأتي الكود من قاعدة أكواد C++ الخاصة بشركة Google، وقد خضع لاختبارات مكثفة واستُخدم في بيئات الإنتاج، وهو متوافق مع معيار C++17. توفر Abseil أجزاءً مفقودة من معيار C++ بالإضافة إلى بدائل لاحتياجات خاصة اكتُشفت من خلال الاستخدام في قاعدة أكواد Google. وهي ليست مُعدّة لتكون منافسًا للمكتبة القياسية. تتضمن المكتبة مكونات مثل أكواد تهيئة الأساس، وإضافات للخوارزميات، واستدعاءات تنظيف عند الخروج من النطاق، وحاويات بأسلوب STL بما في ذلك حاويات الجداول السويسرية غير المرتبة، وحساب CRC، وأدوات تصحيح للتحقق من تسرب الذاكرة وتتبع المكدس، ومعالجة أعلام سطر الأوامر، وإطار عمل للتجزئة، ووحدات ماكرو للتسجيل، ومرافق إدارة الذاكرة، وسمات الأنواع، وأعداد صحيحة 128 بت ودوال رياضية على مستوى البتات، وأدوات تحليل الأداء، وتوليد قيم شبه عشوائية، وتجريدات لمعالجة الأخطاء مثل absl::Status وabsl::StatusOr، وروتينات للنصوص، وأوليات مزامنة بما في ذلك absl::Mutex، وتجريدات للوقت مع دعم المناطق الزمنية، وأنواع أدوات غير حاوية، وأدوات مساعدة عامة. Bazel وCMake هما نظاما البناء الرسميان. توصي Abseil المستخدمين بالعمل على أحدث إصدار مباشرة (live-at-head)، وتحديث نسختهم إلى أحدث commit في الفرع الرئيسي قدر الإمكان، مع توفير إصدارات دعم طويلة الأمد تتضمن إصلاحات منقولة للأخطاء الجسيمة. المكتبة مرخصة بموجب ترخيص Apache.