From 1bed08774be9b15006bd866f308ac9633a7b7117 Mon Sep 17 00:00:00 2001 From: Tyge Løvset <60263450+tylov@users.noreply.github.com> Date: Tue, 27 Sep 2022 10:36:39 +0200 Subject: Update ccommon_api.md --- docs/ccommon_api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ccommon_api.md b/docs/ccommon_api.md index be23dc36..ca8f5bd2 100644 --- a/docs/ccommon_api.md +++ b/docs/ccommon_api.md @@ -273,7 +273,7 @@ crange_iter crange_end(crange* self); void crange_next(crange_iter* it); // 1. All primes less than 32: -crange r1 = crange_from(3, 32, 2); +crange r1 = crange_make(3, 32, 2); printf("2"); // first prime c_forfilter (i, crange, r1 , isPrime(*i.ref)) -- cgit v1.2.3 From 4d91335784ac4ada0580db950d01e3ce9d91f200 Mon Sep 17 00:00:00 2001 From: Tyge Løvset <60263450+tylov@users.noreply.github.com> Date: Tue, 27 Sep 2022 11:07:40 +0200 Subject: Version 4.0, Release Candidate 3 --- README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6108550e..0b233ced 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ STC - Smart Template Containers for C ===================================== -News: Version 4.0 Release Candidate 2 (Sep 2022) +News: Version 4.0 Release Candidate 3 (Sep 2022) ------------------------------------------------ - [See detailed changes for version 3](#version-3). @@ -26,6 +26,7 @@ in the future, and do minor modifications. Containers ---------- +- [***ccommon*** - **High-level algorithms on containers**](docs/ccommon_api.md) - [***carc*** - **std::shared_ptr** alike type](docs/carc_api.md) - [***carr2***, ***carr3*** - 2D and 3D **array** types](docs/carray_api.md) - [***cbits*** - **std::bitset** alike type](docs/cbits_api.md) @@ -45,10 +46,9 @@ Containers Others ------ -- [***ccommon*** - RAII and iterator macros](docs/ccommon_api.md) -- [***coption*** - getopt() alike command line args parser](docs/coption_api.md) -- [***crandom*** - A novel very fast *PRNG* named **stc64**](docs/crandom_api.md) - [***cregex*** - Regular expression parser (extended from Rob Pike's regexp9)](docs/cregex_api.md) +- [***crandom*** - A novel very fast *PRNG* named **stc64**](docs/crandom_api.md) +- [***coption*** - getopt() alike command line args parser](docs/coption_api.md) Highlights ---------- @@ -467,16 +467,19 @@ Memory efficiency ## API changes summary V3.8 - V4.0 - Added **cregex** with documentation - powerful regular expressions. -- Updated **cstr**, now always takes self as pointer, like all containers except csview. -- Updated **cvec**, **cdeq**, changed `*_range*` function names. +- Added: `c_forfilter`: Iteration with "piped" filtering using && operator. 4 built-in filters. +- Added: `c_forwhile`: *c_foreach* iteration with extra predicate. +- Added: **crange**: Number generator type, which can be iterated (e.g. with *c_forfilter*). - Added back **coption** - command line argument parsing. -- NEW / DEPRECATED: +- Added / Deprecated: - `c_forlist`: macro replacing `c_forarray` and `c_apply` which is deprecated. More user friendly. - `c_forloop`: macro replacing `c_forrange` which is deprecated. Uses 'long long' as iterator type. - `c_with`: macro renamed from `c_autovar`, which is deprecated. Like Python's **with** statement. - `c_scope`: macro renamed from `c_autoscope`, which is deprecated. - `c_defer`: macro renamed from `c_autodefer`, which is deprecated. Resembles Go's and Zig's **defer**. -- [See detailed changes for version 3](#version-3). +- Updated **cstr**, now always takes self as pointer, like all containers except csview. +- Updated **cvec**, **cdeq**, changed `*_range*` function names. +[See detailed changes for version 3](#version-3). ## Changes version 3.8 - Overhauled some **cstr** and **csview** API: -- cgit v1.2.3 From df016494014d283b56ef4aadccde5baa0cd43625 Mon Sep 17 00:00:00 2001 From: Tyge Løvset <60263450+tylov@users.noreply.github.com> Date: Tue, 27 Sep 2022 11:23:33 +0200 Subject: Version 4.0, Release Candidate 4 --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0b233ced..c99024a2 100644 --- a/README.md +++ b/README.md @@ -471,12 +471,12 @@ Memory efficiency - Added: `c_forwhile`: *c_foreach* iteration with extra predicate. - Added: **crange**: Number generator type, which can be iterated (e.g. with *c_forfilter*). - Added back **coption** - command line argument parsing. -- Added / Deprecated: - - `c_forlist`: macro replacing `c_forarray` and `c_apply` which is deprecated. More user friendly. - - `c_forloop`: macro replacing `c_forrange` which is deprecated. Uses 'long long' as iterator type. - - `c_with`: macro renamed from `c_autovar`, which is deprecated. Like Python's **with** statement. - - `c_scope`: macro renamed from `c_autoscope`, which is deprecated. - - `c_defer`: macro renamed from `c_autodefer`, which is deprecated. Resembles Go's and Zig's **defer**. +- New + renamed loop iteration/scope macros: + - `c_forlist`: macro replacing `c_forarray` and `c_apply`. More user friendly. + - `c_forloop`: macro replacing `c_forrange`. Uses 'long long' as iterator type. + - `c_with`: macro renamed from `c_autovar`. Like Python's **with** statement. + - `c_scope`: macro renamed from `c_autoscope`. + - `c_defer`: macro renamed from `c_autodefer`. Resembles Go's and Zig's **defer**. - Updated **cstr**, now always takes self as pointer, like all containers except csview. - Updated **cvec**, **cdeq**, changed `*_range*` function names. [See detailed changes for version 3](#version-3). -- cgit v1.2.3 From ccc1b89c9b65355d10752c3ff7ec4a32cde6d15c Mon Sep 17 00:00:00 2001 From: Tyge Løvset <60263450+tylov@users.noreply.github.com> Date: Tue, 27 Sep 2022 11:28:49 +0200 Subject: Version 4.0, Release Candidate 3 (upd docs) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c99024a2..5aee6492 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ STC - Smart Template Containers for C News: Version 4.0 Release Candidate 3 (Sep 2022) ------------------------------------------------ -- [See detailed changes for version 3](#version-3). +- [See detailed changes for version 4](#version-4). Introduction ------------ @@ -463,9 +463,9 @@ Memory efficiency - **carr2**, **carr3**: Type size: 1 pointer plus dimension variables. Arrays are allocated as one contiguous block of heap memory, and one allocation for pointers of indices to the array. - **carc**: Type size: 2 pointers, one for the data and one for the reference counter. -# Version 3 +# Version 4 -## API changes summary V3.8 - V4.0 +## API changes summary V4.0 - Added **cregex** with documentation - powerful regular expressions. - Added: `c_forfilter`: Iteration with "piped" filtering using && operator. 4 built-in filters. - Added: `c_forwhile`: *c_foreach* iteration with extra predicate. -- cgit v1.2.3