يتم إعطاؤك مقتطف رمز يمثل نسخة مبسطة من فئة تسمى `GetObjectRequest`. يتم استخدام هذه الفئة لإنشاء طلب HTTP لاسترداد كائن من الخادم. مهمتك هي تنفيذ الوظائف المفقودة للفئة بناءً على التوقيعات المقدمة.

تحتوي فئة `GetObjectRequest` على وظائف الأعضاء التالية:

1. `GetObjectRequest()` - مُنشئ للفئة.

2. `GetObjectRequest& setBucketName(const char* name)` - يضبط اسم المجموعة التي يجب استرداد الكائن منها. تأخذ الدالة سلسلة نمط C كمدخلات وترجع مرجعًا إلى كائن `GetObjectRequest`.

3. `GetObjectRequest& setKey(const char* key)` - يضبط مفتاح الكائن الذي يجب استرداده. تأخذ الدالة سلسلة نمط C كمدخلات وترجع مرجعًا إلى كائن `GetObjectRequest`.

4. `GetObjectRequest& setRange(long long int start, long long int end)` - يضبط نطاق الكائن المراد استرداده. تأخذ الدالة معلمتين ``طويلة طويلة int`` `start` و`end` التي تمثل إزاحة البداية والنهاية للنطاق، وتقوم بإرجاع مرجع إلى كائن `GetObjectRequest`.

5. `GetObjectRequest& setMatchingETagConstraints(const std::list<string>& etags)` - يضبط قيود ETag لاسترجاع الكائن. تأخذ الدالة مرجعًا إلى معلمة `std::list<string>` `etags` التي تحتوي على قائمة بقيم ETag المراد مطابقتها. تقوم بإرجاع مرجع إلى كائن `GetObjectRequest`.

6. `GetObjectRequest& setNonmatchingETagConstraints(const std::list<string>& etags)` - يضبط قيود ETag غير المطابقة لاسترجاع الكائن. تأخذ الدالة مرجعًا إلى معلمة `std::list<string>` `etags` التي تحتوي على قائمة بقيم ETag التي يجب ألا تتطابق. تقوم بإرجاع مرجع إلى كائن `GetObjectRequest`.

7. `GetObjectRequest& setUnmodifiedSinceConstraint(time_t date)` - يعين القيد لاسترداد الكائن فقط إذا لم يتم تعديله منذ التاريخ المحدد. تأخذ الدالة معلمة `time_t` `date` التي تمثل التاريخ والوقت وتقوم بإرجاع مرجع إلى كائن `GetObjectRequest`.

8. `GetObjectRequest& setModifiedSinceConstraint(time_t date)` - يعين القيد لاسترداد الكائن فقط إذا تم تعديله منذ التاريخ المحدد. تأخذ الدالة معلمة `time_t` `date` التي تمثل التاريخ والوقت وتقوم بإرجاع مرجع إلى كائن `GetObjectRequest`.

9. `GetObjectRequest& setResponseHeaders(ResponseHeaderOverrides* ResponseHeaders)` - يضبط رؤوس الاستجابة لاسترجاع الكائن. تأخذ الدالة مؤشرًا إلى كائن "ResponseHeaderOverrides" كمدخل وترجع مرجعًا إلى كائن "GetObjectRequest".

تحتاج إلى تنفيذ وظائف الأعضاء هذه في فئة "GetObjectRequest"، مع الأخذ في الاعتبار أنواع الإرجاع والمعلمات الخاصة بها.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}