Wrapper function

A wrapper function is a function (another word for a subroutine) in a software library or a computer program whose main purpose is to call a second subroutine[1] or a system call with little or no additional computation. Wrapper functions simplify writing computer programs by abstracting the details of a subroutine's implementation.

Purpose

Wrapper functions are a means of delegation and can be used for a number of purposes.

Programming convenience

Wrapper functions simplify writing computer programs. For example, the MouseAdapter and similar classes in the Java AWT library demonstrate this.[2] They are useful in the development of applications that use third-party library functions. A wrapper can be written for each of the third party functions and used in the native application. In case the third party functions change or are updated, only the wrappers in the native application need to be modified as opposed to changing all instances of third party functions in the native application.

Adapting class/object interfaces

Wrapper functions can be used to adapt an existing class or object to have a different interface. This is especially useful when using existing library code.

Code testing

Wrapper functions can be used to write error checking routines for pre-existing system functions without increasing the length of a code by a large amount by repeating the same error check for each call to the function.[3] All calls to the original function can be replaced with calls to the wrapper, allowing the programmer to forget about error checking once the wrapper is written. A test driver is a kind of wrapper function that exercises a code module, typically calling it repeatedly, with different settings or parameters, in order to rigorously pursue each possible path. It is not deliverable code, but it is not throwaway code either, being typically retained for use in regression testing. An interface adaptor is a kind of wrapper function that simplifies, tailors, or amplifies the interface to a code module, with the intent of making it more intelligible or relevant to the user. It may rename parameters, combine parameters, set defaults for parameters, and the like.

Multiple inheritance

In a programming language that does not support multiple inheritance of base classes, wrapper functions can be used to simulate it. Below is an example of part of a Java class that "inherits" from LinkedList and HashSet. See Method for further implementation details.

public class Test implements LinkedList, HashSet{

@Override
//contains data members and data methods
//covariant return

}

Library functions and system calls

Many library functions, such as those in the C Standard Library, act as interfaces for abstraction of system calls. The fork and execve functions in glibc are examples of this. They call the lower-level fork and execve system calls, respectively.

This may lead to incorrectly using the terms "system call" and "syscall" to refer to higher-level library calls rather than the similarly named system calls, which they wrap.[4][5]

Helper function

A helper function is a function which groups parts of computation by assigning descriptive names and allowing for the reuse of the computations.[6] Although not all wrappers are helper functions, all helper functions are wrappers, and a notable use of helper functions—grouping frequently utilized operations—is in dynamic binary translation, in which helper functions of a particular architecture are used in translation of instructions from one instruction set into another.[7]

See also

References

  1. ^ Reselman, Bob; Peasley, Richard; Pruchniak, Wayne (1998). Using Visual Basic 6. Que. p. 446. ISBN 9780789716330.
  2. ^ The Java Tutorials
  3. ^ Stevens, Richard; Fenner, Bill; Rudoff; Andrew M. (2003). UNIX Network Programming. Addison-Wesley. pp. 5–6, 29. ISBN 9780131411555.
  4. ^ "syscalls(2) - Linux manual page". man7.org. Retrieved 2020-04-25.
  5. ^ "System Calls (The GNU C Library)". www.gnu.org. Retrieved 2020-04-25.
  6. ^ Fisler, Kathi (2005). "CS 1101: Helper functions". Worcester Polytechnic Institute. Archived from the original on 7 May 2021. Retrieved 17 November 2021.
  7. ^ Wang, Wenwen (3 March 2021). Helper function inlining in dynamic binary translation. CC: Compiler Construction. New York, United States: Association for Computing Machinery. p. 107. doi:10.1145/3446804.3446851. ISBN 978-1-4503-8325-7.

Read other articles:

Uma, rumah tradisional Mentawai. Setelah uma selesai, anggota suku pemilik uma atau disebut sikebbukat uma akan mempersiapkan pesta perayaan atau peresmian yang disebut gurut uma Gurut uma atau disebut juga sebagai punen gurut uma adalah upacara adat dalam Suku Mentawai yang dilakukan untuk merayakan penyelesaian pembuatan sebuah uma, rumah tradisional suku Mentawa. Upacara ini diselenggarakan oleh kelompok suku pemilik uma baru atau disebut sikebbukat uma dan dipimpin oleh seorang sikerei. P...

 

 

Hidrogen klorida (komponen utama dari asam lambung) Hiperklorhidri atau hiperklorhidria adalah kelainan pada lambung yang ditandai dengan sekresi asam lambung yang berlebih saat tidak ada makanan di dalam lambung.[1][2] Hiperklorhidri biasa berkaitan dengan ulkus peptikum atau ulkus usus dua belas jari.[3][4] Sebab Hiperklorhidria dapat terjadi karena produksi hormon gastrin yang tidak seimbang, sehingga mempengaruhi kerja sel parietal yang berfungsi mengsekres...

 

 

Swedish songwriter (1962–) This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Jörgen Elofsson – news · newspapers · books · scholar · JSTOR (June 2013) (Learn how and when to remove this templat...

Russian footballer (born 1993) In this name that follows Eastern Slavic naming customs, the patronymic is Sergeyevich and the family name is Mogilevets. Pavel Mogilevets Mogilevets with Khimki in 2020Personal informationFull name Pavel Sergeyevich MogilevetsDate of birth (1993-01-25) 25 January 1993 (age 31)Place of birth Kingisepp, RussiaHeight 1.83 m (6 ft 0 in)Position(s) MidfielderTeam informationCurrent team UrartuNumber 28Youth career DYuSSh Smena-ZenitSenior car...

 

 

سهوب الشرق الأوسط     الإحداثيات 36°15′N 39°15′E / 36.25°N 39.25°E / 36.25; 39.25   تقسيم إداري  البلد سوريا العراق الأردن  خصائص جغرافية  المساحة 132589 كيلومتر مربع  تعديل مصدري - تعديل   تمتد المنطقة البيئية لسهوب الشرق الأوسط (WWF ID: PA0812) في قوس من جنوب الأردن ع...

 

 

The Moody BluesThe Moody Blues saat konser 12 September 2011 di Verizon Wireless Arena di ManchesterInformasi latar belakangAsalBirmingham, InggrisGenreProgressive rock, psychedelic rock, art rock, symphonic rock, synthpop, R&BTahun aktif1964–19741977–sekarangLabelDecca, Deram, Threshold, Polydor, Universal, Ark 21, Eagle, ImageSitus webMoodyBluesToday.comAnggotaGraeme EdgeJohn LodgeJustin HaywardMantan anggotaRay ThomasMichael PinderDenny LaineClint WarwickRodney ClarkPatrick Moraz T...

Pour le hameau canadien, voir Kirriemuir (Alberta). Kirriemuir en écossais : Cearan Mhoire Statue de Peter Pan Administration Pays Royaume-Uni Nation Écosse Council area Angus Force de police Police Scotland Incendie Scottish Fire and Rescue Service Ambulance Scottish Ambulance Service Code postal DD8 Démographie Population 6 085 hab. (2011) Géographie Coordonnées 56° 40′ 25″ nord, 3° 00′ 18″ ouest Localisation Géolocalisation sur ...

 

 

Siw MalmkvistSiw Malmkvist le 6 février 1961.BiographieNaissance 31 décembre 1936 (87 ans)LandskronaNationalité suédoiseActivités Schlager singer, actricePériode d'activité depuis 1957Conjoints Lasse Mårtenson (de 1963 à 1969)Fredrik Ohlsson (en) (depuis 1971)Autres informationsPersonne liée Lill-Babs (collègue)Genre artistique SchlagerSite web (de + sv) www.siw-malmkvist.deDistinction Årets landskronit (d) (2003)modifier - modifier le code - modifier Wikidata ...

 

 

L'area metropolitana di Waco, come viene definita dallo United States Census Bureau, è un'area che comprende due contee del Texas centrale, nello Stato del Texas, con capoluogo la città di Waco. Al censimento del 1º aprile 2010, l'area metropolitana possedeva una popolazione di 234.906 abitanti (anche se una stima del 2016, che include la contea di Falls, già aggiunta all'area metropolitana di Waco nel 2013, vi erano 265.207 abitanti[1]). Indice 1 Contee 2 Comunità 2.1 Località ...

Railway station in Melbourne, Australia SpotswoodPTV commuter rail stationSouthbound view from Platform 1 looking at station buildings on both platforms, September 2022General informationLocationHope Street,Spotswood, Victoria 3015City of Hobsons BayAustraliaCoordinates37°49′50″S 144°53′09″E / 37.8306°S 144.8858°E / -37.8306; 144.8858Owned byVicTrackOperated byMetro TrainsLine(s) Werribee Williamstown Distance9.22 kilometres fromSouthern CrossPlatforms2 sid...

 

 

Сельское поселение России (МО 2-го уровня)Новотитаровское сельское поселение Флаг[d] Герб 45°14′09″ с. ш. 38°58′16″ в. д.HGЯO Страна  Россия Субъект РФ Краснодарский край Район Динской Включает 4 населённых пункта Адм. центр Новотитаровская Глава сельского пос�...

 

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

جيرار مورو (بالفرنسية: Gérard Mourou)‏    معلومات شخصية الميلاد 22 يونيو 1944 (80 سنة)  ألبيرفيل  مواطنة فرنسا  عضو في الجمعية الفيزيائية الأمريكية،  والأكاديمية الروسية للعلوم،  والأكاديمية الوطنية للهندسة،  والأكاديمية النمساوية للعلوم  الحياة العملية المد...

 

 

1978 California Attorney General election ← 1974 November 7, 1978 1982 →   Nominee George Deukmejian Yvonne Brathwaite Burke Party Republican Democratic Popular vote 3,558,329 2,923,432 Percentage 52.9% 43.5% County results Deukmejian:      40–50%      50–60%      60–70%Burke:      40–50%      50–60%     ...

 

 

American software development company Windriver redirects here. For the Windows driver suite, see Jungo WinDriver. For WindRiver, see Wind River (disambiguation). Wind River Systems Inc.Company typeSubsidiaryFounded1981; 43 years ago (1981)HeadquartersAlameda, California, U.S. 37°46′52″N 122°15′43″W / 37.78116°N 122.26195°W / 37.78116; -122.26195Key peopleBryan Le Blanc (Interim Chief Executive Officer)RevenueUS$359.7 million (FY ended Jan...

Dilema CintaGenre Drama Roman Remaja Ditulis olehEndik KoeswoyoSkenarioEndik KoeswoyoSutradaraLakondePemeran Rina Diana Rendy Kjaernett Angga Yunanda Rebecca Klopper Talitha Curtis Winn Billy Boedjanger Benny Ruswandi Shandy William Penggubah lagu temaOncyLagu pembukaCinta dalam Hati — UnguLagu penutupCinta dalam Hati — UnguNegara asalIndonesiaBahasa asliBahasa IndonesiaJmlh. musim1Jmlh. episode10 (daftar episode)ProduksiProduser eksekutifFiaz ServiaProduserChand Parwez ServiaPengaturan ...

 

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (ديسمبر 2022) كأس الدرعية للتنس نسخة كأس الدرعية للتنس التاريخ 2019 مكان ملعب الدرعية أرينا الجوائز المالية 3 ملايين دولار تعديل مصدري - تعديل   استضافت الدرعية التي تضم �...

 

 

American baseball player Baseball player Tim StoddardPitcherBorn: (1953-01-24) January 24, 1953 (age 71)East Chicago, Indiana, U.S.Batted: RightThrew: RightMLB debutSeptember 7, 1975, for the Chicago White SoxLast MLB appearanceJuly 9, 1989, for the Cleveland IndiansMLB statisticsWin–loss record41–35Earned run average3.95Strikeouts582Saves76 Teams Chicago White Sox (1975) Baltimore Orioles (1978–1983) Chicago Cubs (1984) San Diego Padres (1985–1986) ...

Banca mondiale TipoOrganizzazione finanziaria internazionale Affiliazione internazionaleGruppo della Banca mondiale Fondazione27 dicembre 1945 Sede centrale Washington Indirizzo1818 H Street NW, Washington, DC 20433, USA Area di azione Mondo Presidente Ajay Banga Membri172 paesi (AIS) 189 paesi (BIRS) MottoWorking for a World Free of Poverty Sito web Modifica dati su Wikidata · Manuale La Banca Mondiale (in inglese World Bank) comprende due istituzioni internazionali: la Banca...

 

 

River in Germany For other uses, see Weser (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Weser – news · newspapers · books · scholar · JSTOR (March 2021) (Learn how and when to remove this message) WeserWerser (Low German)The Weser near Bad OeynhausenWatershed of the WeserEuropean context...