summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-01-21 19:58:56 +0100
committerGitHub <[email protected]>2021-01-21 19:58:56 +0100
commit467c94ab05f86aea6890043c8816b47ff0c2a4a1 (patch)
tree14746d5942b192b3dcc57816a473ba19cc863149
parent6b3974cab0d3dd0f82d83e9fa58aef15c543cac2 (diff)
downloadSTC-modified-467c94ab05f86aea6890043c8816b47ff0c2a4a1.tar.gz
STC-modified-467c94ab05f86aea6890043c8816b47ff0c2a4a1.zip
Update README.md
-rw-r--r--README.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/README.md b/README.md
index 81832da3..380ba15c 100644
--- a/README.md
+++ b/README.md
@@ -118,7 +118,7 @@ Highlights
----------
- **User Friendly** - Easy to use, as can be seen from the examples above. The ***using_***-declaration instantiates the container type to use. You may pass *optional* arguments for customization of value- *comparison*, *destruction*, *cloning*, *convertion types*, and more. Methods have in most cases similar named corresponding methods in STL.
- **High Performance** - The containers are written with efficiency, low memory usage, and small code size in mind. Most containers perform similarly to the c++ STL containers, however **cmap** and **cset** are around 5 ***-five-*** times faster than the STL equivalents, *std::unordered_map* and *std::unordered_set*. See below. Also **cdeq** are in some cases significantly faster than *std::deque*, however implementations vary between different c++ compilers.
-- **Type Safe** - No more casting that obscure bugs in your code. The compiler will let you know when you're passing wrong container or element types to your methods, and no more error prone casting of elements back from your containers.
+- **Type Safe** - No more error prone casting of container types and elements back and forth from your containers. Less obscure bugs in your code. The compiler will let you know when retrieving or passing wrong container or element types to the methods.
- **Uniform API** - Methods to *construct*, *initialize*, *iterate* and *destruct* are intuitive and consistent across the various containers in the library. Makes it easier to learn how to use the library.
- **Small Footprint** - Generated code is surprisingly small, partly due to the small library code base. The example above with six different containers resulted in an executable of ***18 kb in size*** without dependencies, using the TinyC compiler! It compiles and links instantaniously. Compare this with a corresponding c++ program using STL.
- **Dual Mode Compilation** - Can be used a simple header-only library with static methods (default), or as a traditional library by defining STC_HEADER in your project. See below for instructions.