Corrade

cor­rade (v.) — “To scrape to­geth­er, to gath­er to­geth­er from var­i­ous sources”

Cor­rade is a mul­ti­plat­form util­i­ty li­brary writ­ten in C++11/C++14. It’s used as a base for the Mag­num graph­ics en­gine, among oth­er things.

Supported platforms

See the Build Sta­tus page for de­tailed per-plat­form build sta­tus.

Features

  • Low-lev­el util­i­ties to bridge plat­form dif­fer­ences when ac­cess­ing OS func­tion­al­i­ty, filesys­tem, con­sole and en­vi­ron­ment
  • Light­weight con­tain­er im­ple­men­ta­tions, com­ple­ment­ing STL fea­tures with fo­cus on com­pi­la­tion speed, ease of use and per­for­mance
  • Test frame­work em­pha­siz­ing flex­i­bil­i­ty, ex­ten­si­bil­i­ty, min­i­mal use of macros and clar­i­ty of di­ag­nos­tic out­put
  • Plug­in man­age­ment li­brary with stat­ic and dy­nam­ic plug­ins, de­pen­den­cy han­dling and hot code reload
  • Sig­nal/slot con­nec­tion li­brary with full type safe­ty

Check al­so the Fea­ture Over­view pages for fur­ther in­for­ma­tion.

Documentation, getting started

Head over to the doc­u­men­ta­tion for build­ing in­struc­tions. The best way to get start­ed is to read some ex­am­ples and tu­to­ri­als.

License

Cor­rade is li­censed un­der the MIT/Ex­pat li­cense:

Copy­right © 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Vladimír Von­druš <mosra@centrum.cz> and con­trib­u­tors

Per­mis­sion is here­by grant­ed, free of charge, to any per­son ob­tain­ing a copy of this soft­ware and as­so­ci­at­ed doc­u­men­ta­tion files (the “Soft­ware”), to deal in the Soft­ware with­out re­stric­tion, in­clud­ing with­out lim­i­ta­tion the rights to use, copy, mod­i­fy, merge, pub­lish, dis­trib­ute, sub­li­cense, and/or sell copies of the Soft­ware, and to per­mit per­sons to whom the Soft­ware is fur­nished to do so, sub­ject to the fol­low­ing con­di­tions:

The above copy­right no­tice and this per­mis­sion no­tice shall be in­clud­ed in all copies or sub­stan­tial por­tions of the Soft­ware.

THE SOFT­WARE IS PRO­VID­ED “AS IS”, WITH­OUT WAR­RAN­TY OF ANY KIND, EX­PRESS OR IM­PLIED, IN­CLUD­ING BUT NOT LIM­IT­ED TO THE WAR­RANTIES OF MER­CHANTABIL­I­TY, FIT­NESS FOR A PAR­TIC­U­LAR PUR­POSE AND NON­IN­FRINGE­MENT. IN NO EVENT SHALL THE AU­THORS OR COPY­RIGHT HOLD­ERS BE LI­ABLE FOR ANY CLAIM, DAM­AGES OR OTH­ER LI­A­BIL­I­TY, WHETHER IN AN AC­TION OF CON­TRACT, TORT OR OTH­ER­WISE, ARIS­ING FROM, OUT OF OR IN CON­NEC­TION WITH THE SOFT­WARE OR THE USE OR OTH­ER DEAL­INGS IN THE SOFT­WARE.

All Cor­rade ex­am­ple code is put in­to pub­lic do­main (or UN­LI­CENSE) to free you from any le­gal ob­sta­cles when reusing the code in your projects:

This is free and un­en­cum­bered soft­ware re­leased in­to the pub­lic do­main.

Any­one is free to copy, mod­i­fy, pub­lish, use, com­pile, sell, or dis­trib­ute this soft­ware, ei­ther in source code form or as a com­piled bi­na­ry, for any pur­pose, com­mer­cial or non-com­mer­cial, and by any means.

In ju­ris­dic­tions that rec­og­nize copy­right laws, the au­thor or au­thors of this soft­ware ded­i­cate any and all copy­right in­ter­est in the soft­ware to the pub­lic do­main. We make this ded­i­ca­tion for the ben­e­fit of the pub­lic at large and to the detri­ment of our heirs and suc­ces­sors. We in­tend this ded­i­ca­tion to be an overt act of re­lin­quish­ment in per­pe­tu­ity of all present and fu­ture rights to this soft­ware un­der copy­right law.

THE SOFT­WARE IS PRO­VID­ED “AS IS”, WITH­OUT WAR­RAN­TY OF ANY KIND, EX­PRESS OR IM­PLIED, IN­CLUD­ING BUT NOT LIM­IT­ED TO THE WAR­RANTIES OF MER­CHANTABIL­I­TY, FIT­NESS FOR A PAR­TIC­U­LAR PUR­POSE AND NON­IN­FRINGE­MENT. IN NO EVENT SHALL THE AU­THORS BE LI­ABLE FOR ANY CLAIM, DAM­AGES OR OTH­ER LI­A­BIL­I­TY, WHETHER IN AN AC­TION OF CON­TRACT, TORT OR OTH­ER­WISE, ARIS­ING FROM, OUT OF OR IN CON­NEC­TION WITH THE SOFT­WARE OR THE USE OR OTH­ER DEAL­INGS IN THE SOFT­WARE.

For more in­for­ma­tion, please re­fer to <https://unlicense.org/>

Some Cor­rade li­braries, plug­ins and ex­e­cuta­bles de­pend on third-par­ty soft­ware. A full list to­geth­er with li­cense in­fo is main­tained in the doc­u­men­ta­tion. There’s al­so a de­tailed in­fo about con­trib­u­tors.