{"id":13,"date":"2012-10-17T21:51:53","date_gmt":"2012-10-18T03:51:53","guid":{"rendered":"http:\/\/www.teracharge.com\/?page_id=13"},"modified":"2012-11-28T23:34:28","modified_gmt":"2012-11-29T06:34:28","slug":"cstl","status":"publish","type":"page","link":"http:\/\/www.teracharge.com\/?page_id=13","title":{"rendered":"CSTL"},"content":{"rendered":"<p><a href=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Logo1_petit.png\" ><img loading=\"lazy\" class=\"wp-image-162 alignnone\" title=\"CSTL_Logo1_Petit\" src=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Logo1_petit.png\" alt=\"\" width=\"269\" height=\"151\" srcset=\"http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Logo1_petit.png 640w, http:\/\/www.teracharge.com\/wp-content\/uploads\/2012\/10\/Logo1_petit-300x168.png 300w\" sizes=\"(max-width: 269px) 100vw, 269px\" \/><\/a><\/p>\n<p><a class=\"blue button\" href=\"http:\/\/www.teracharge.com\/?page_id=146\" >Download<\/a> <a class=\"blue button\" href=\"http:\/\/www.teracharge.com\/cstl\" >Documentation<\/a><\/p>\n<p>CSTL is a C library of container, algorithms, and iterators, each providing many fundamental computer science algorithms and abstract data types.\u00a0 CSTL&#8217;s components are heavily parameterized: almost every component library can be tailored to a specific end application.<\/p>\n<p>The goal of the library is to mimic the C++ Standard Template Library as closely as possible, while remaining a C89 library.\u00a0 The library is also written to minimize RAM usage as much as possible.\u00a0 Most of the familiar STL containers are found in CSTL and exibit identical behavior, with a few notable exceptions:<\/p>\n<ul>\n<li>None of the containers invoke C++ constructors\/destructors.\u00a0 That is, if compiled for C++, constructors and destructors are not invoked when elements are added\/removed.<\/li>\n<li>Heap free containers, algorithms, and iterators are provided and can be used.\u00a0 This allows CSTL to compile on small microcontrollers with restricted RAM availability.<\/li>\n<\/ul>\n<p>CSTL will compile on any C89 compiler, with one notable exception:<\/p>\n<ul>\n<li>A C99 stdint.h header must be defined for CSTL to compile.<\/li>\n<\/ul>\n<p>Environments lacking a stdint.h header can be easily amended: CSTL is designed to readily accept custom stdint header files.<\/p>\n<p>CSTL was successfully compiled and used on the following processor families:<\/p>\n<ul>\n<li>X86<\/li>\n<li>X64<\/li>\n<li>Microchip PIC18<\/li>\n<li>Microchip PIC24<\/li>\n<li>Microchip PIC32<\/li>\n<li>Atmel AVR<\/li>\n<li>And many more.<\/li>\n<\/ul>\n<p>CSTL is released under the Apache V2.0 license, and therefore, free to use. You may download the library here.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Download Documentation CSTL is a C library of container, algorithms, and iterators, each providing many fundamental computer science algorithms and abstract data types.\u00a0 CSTL&#8217;s components are heavily parameterized: almost every component library can be tailored to a specific end application.<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/www.teracharge.com\/?page_id=13\" >Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":162,"parent":6,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"no-title.php","meta":[],"_links":{"self":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/pages\/13"}],"collection":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13"}],"version-history":[{"count":20,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/pages\/13\/revisions"}],"predecessor-version":[{"id":15,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/pages\/13\/revisions\/15"}],"up":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/pages\/6"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.teracharge.com\/index.php?rest_route=\/wp\/v2\/media\/162"}],"wp:attachment":[{"href":"http:\/\/www.teracharge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}