TnFOX
ٹی این ایف او ایکس پورٹیبلٹی ٹول کٹ فاکس جی یو آئی ٹول کٹ کا ایک کانٹا ہے جس میں زیادہ تر اضافی کوڈ آرتھوگنل خصوصیات کو نافذ کرتے ہیں (یعنی۔ فاکس اے پی آئی کو کافی حد تک تبدیل نہیں کیا گیا) اس طرح کہ فاکس کے لیے تیار کردہ ایپلی کیشنز کو آسانی سے ٹی این ایف او ایکس کے لیے دوبارہ مرتب کیا جا سکے۔ غیر معمولی طور پر، ٹی این ایف او ایکس میں کچھ کیو ٹی لائبریری کلاسوں کے اے پی آئی ایمولیشنز بھی شامل ہیں-مصنف کے مطابق، یہ کیو ٹی سے فاکس تک ایک کافی پروجیکٹ کو پورٹ کرنے کے لیے کیا گیا تھا۔ زیادہ تر اضافی خصوصیات ایک مکمل "پورٹیبلٹی ٹول کٹ" لائبریری کو اس طرح لاگو کرتی ہیں کہ کوئی بھی کہیں بھی چلانے کے لیے ایک پروگرام لکھ سکتا ہے-یہ فاکس سے مختلف ہے جو زیادہ تر صرف جی یو آئی پورٹیبلٹی فراہم کرتا ہے۔ اس لیے ٹی این ایف او ایکس آپریٹنگ سسٹم تجریدی پرت کی ایک مثال ہے۔ فاکس کے برعکس، ٹی این ایف او ایکس صرف سی + + مرتب کرنے والوں اور آپریٹنگ سسٹمز کے محدود سیٹ کی حمایت کرتا ہے۔ یہ صرف مائیکروسافٹ کے C + + مرتب v7.1 اور بعد میں، GCC v3.2 اور بعد میں اور انٹیل C + + مرتب v8 یا بعد میں کی حمایت کرتا ہے۔ یہ صرف ونڈوز 2000 یا اس کے بعد کے، لینکس 2.6 دانے یا اس کے بعد کے، فری بی ایس ڈی اور میک او ایس ایکس 10.4 یا اس کے بعد کے، اگرچہ کسی بھی پروسیسر یا فن تعمیر پر چلتا ہے۔ ٹی این ایف او ایکس میں Boost.Python لائبریری پر مبنی ازگر کے لیے خودکار طور پر تیار کردہ بائنڈنگز شامل ہیں-اس طرح کی پیچیدگی تھی جس کی وجہ سے اسے جی سی سی وی 4 میں-فویزیبلٹی فیچر کو شامل کرنے کی ضرورت تھی۔ تاہم، حالیہ برسوں میں ان کا معیار اور حالت خراب ہوئی ہے۔ لائبریری اب 2012 تک اس کے مصنف کے زیر انتظام نہیں ہے۔ ٹی این ایف او ایکس کی کافی خصوصیات ٹی این ایف او ایکس کی زیادہ اصل خصوصیات میں سے ایک اس کا سی + + میٹاپروگرامنگ کا بھاری استعمال ہے حالانکہ اسے چیزوں کے جی یو آئی پہلو (فاکس مطابقت کے لیے) سے مکمل طور پر دور رکھا جاتا ہے۔ ایک مکمل ہلکا پھلکا میٹاپروگرامنگ ٹول کٹ شامل ہے جو بوسٹ میٹاپروگرامنگ لائبریری کے ذریعہ فراہم کردہ بہت سے آپریشنز کی اجازت دیتا ہے، بشمول ٹائپ لسٹس، ٹائپ ٹریٹس، کمپائل ٹائم منطق، فنکٹرز، ورچوئل ٹیبل تالیف، افقی قسم کی فہرست فوری کاری اور بہت کچھ۔ بوسٹ کے برعکس، جدید سی + + مرتب کی ضرورت کی وجہ سے، تمام میٹاپروگرامنگ بدصورت میکرو کی ضرورت کے بغیر مرتب کرنے والوں میں مستقل طور پر کام کرتی ہے۔ ایک اور غیر معمولی خصوصیت وسیع پیمانے پر استثنی ہینڈلنگ اور حفاظت کا استعمال ہے جس کے تحت کسی بھی لائن کو ہمیشہ ممکنہ طور پر مستثنی قرار دیا جاتا ہے۔ ٹی این ایف او ایکس ایک سی + + رول بیک میکانزم فراہم کرتا ہے (جیسا کہ اصل میں آندرے الیگزینڈرسیکو نے تجویز کیا تھا) تاکہ اس بات پر نظر رکھی جا سکے کہ غلطی ہونے پر کسی بھی مرحلے پر کن کارروائیوں کو کالعدم کرنے کی ضرورت ہے-بجائے اس کے کہ ایس کیو ایل ٹرانزیکشن کی طرح۔ اس نقطہ نظر کے ساتھ ایک مسئلہ آبجیکٹ کی تباہی کے دوران نیسٹڈ ایکسپشن تھرو کا امکان ہے جس کے لیے آئی ایس او سی + + معیار کے تحت فوری پروگرام کے خاتمے کی ضرورت ہوتی ہے-ٹی این ایف او ایکس اضافی سپورٹ کوڈ کو شامل کرنے کے لیے سورس کی پری پروسیسنگ کے ذریعے اس مسئلے کے ارد گرد کام کرتا ہے۔ v0.88 ریلیز کا ایک عجیب و غریب اضافہ اس کے لوکل سٹرنگز کو تبدیل کرنے کے لیے گوگل ٹرانسلیٹ کا استعمال کرنا ہے۔ اگرچہ مشکوک افادیت، خاص طور پر چھوٹے تاروں کے لیے، اس کے باوجود ترجمے کے دوران وقت کی بچت ہو سکتی ہے۔ زیادہ تر پورٹیبلٹی ٹول کٹ کے برعکس، ٹی این ایف او ایکس کو بہت وسیع پیمانے پر پروفائل کیا گیا ہے اور زیادہ سے زیادہ رفتار اور کم سے کم میموری کے استعمال کے لیے کارکردگی کو ترتیب دیا گیا ہے۔ اس میں ایک ہی کیش لائن پر دو دھاگوں کو لکھنے سے بچنے کے لیے ٹیوننگ سمیت مضبوط ملٹی تھریڈنگ سپورٹ ہے (جس کی وجہ سے کیش لائن اچھلتی ہے اور متوازی تھرو پٹ میں بہت زیادہ رکاوٹیں آتی ہیں)۔ یہ اختیاری طور پر اپنے تھریڈ کیشنگ میموری الاکیٹر کا استعمال کرتا ہے، خود بخود متحرک الگورتھم کا استعمال کرتا ہے جو میموری کے کم حالات کے مطابق میموری کے استعمال کے لیے رفتار کا تبادلہ کرے گا اور اس میں بہت مضبوط x86 اور x64 مخصوص اصلاحات ہیں جن میں SIMD ویکٹرز کا میٹاپروگرامنگ نفاذ بھی شامل ہے جو خود بخود SSE آپریشنز (SSE4 سپورٹ تک) میں مرتب ہو جائے گا۔ اس کا اپنا اسمبلر تحریری تیز میوٹیکس نفاذ، دانا پر سس کالز سے بچنے کے لیے وسیع اندرونی کیشنگ اور اس کا اپنا بین عمل مواصلاتی فریم ورک ہے جو خود بخود سیریلائزیشن اور ڈیسیریلائزیشن کو نافذ کرنے کے لیے میٹا پروگرامنگ کا فائدہ اٹھاتے ہوئے صوابدیدی سی + + آبجیکٹ کی مثالوں کو ایک جگہ سے دوسری جگہ منتقل کر سکتا ہے۔ یہ خاص طور پر اس کے ایس کیو ایل ڈیٹا بیس انٹرفیس میں واضح ہے جہاں کوئی محض ایک صوابدیدی سی + + آبجیکٹ مثال کو بی ایل او بی فیلڈ سے باندھ سکتا ہے اور مزید کوڈ کی ضرورت نہیں ہے۔ ٹی این ایف او ایکس میں اختیاری طور پر اوپن ایس ایس ایل لائبریری اور ایس کیو لائٹ لائبریری کی کاپیاں شامل ہیں تاکہ بالترتیب اس کی مضبوط خفیہ کاری اور اس کے ڈیفالٹ ایس کیو ایل ڈیٹا بیس کے نفاذ کو نافذ کیا جا سکے۔ اسے ماڈیولر طور پر علیحدہ ڈی ایل ایل کے سیٹ کے طور پر یا یک سنگی طور پر بنایا جا سکتا ہے۔ اس میں میزبان آپریٹنگ سسٹم اے سی ایل سیکیورٹی کے لیے مکمل پورٹیبل سپورٹ بھی ہے اور یہ جانتا ہے کہ حساس ڈیٹا کو سویپ فائل میں داخل ہونے سے کیسے بچایا جائے، اس کے علاوہ کسی بھی حذف شدہ حصے کو خود بخود کٹا دیا جائے۔ یہ رسائی حاصل کر سکتا ہے کہ کون سا صارف عمل چلا رہا ہے اور ضرورت کے مطابق اس کے مراعات کو کیسے بڑھایا جائے۔ اس میں کوئی جی یو آئی بلڈ نہیں ہے جو ڈیمون اور سسٹم کے عمل کے لیے پورٹیبلٹی ٹول کٹ کے طور پر موزوں ہے۔ اس میں کوئی ایکس 11/جی ڈی آئی انحصار نہیں ہے۔ ٹی این ایف او ایکس نے پہلے ہی ان مرتب کرنے والوں کے لیے سی + + 0x خصوصیات شامل کرنا شروع کر دی ہیں جو ان کی حمایت کرتے ہیں-یہ آئی ایس او سی + + معیار کی اگلی ترمیم ہے۔ ویجیٹ ٹول کٹ آپریٹنگ سسٹم تجریدی پرت کی فہرست ویجیٹ ٹول کٹ کی فہرست فاکس ٹول کٹ کیو ٹی حوالہ جات بیرونی لنکس پروجیکٹ ہوم پیج ویجیٹ ٹول کٹ ایل جی پی ایل لائسنس کا استعمال کرتے ہوئے سی + + سافٹ ویئر میں پروگرام کردہ مفت سافٹ ویئر