Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 04952f8ce9741f08f7852a4fbcdad54dab1a9337
Author: Matt Wilson <[email protected]>
Date:   Tue Feb 11 08:57:48 2025 +1100

    ~ CMake fix

commit 9223976
Author: Matt Wilson <[email protected]>
Date:   Tue Feb 11 08:55:01 2025 +1100

    V0.1 (#15)

    * [0.1] : ~ container versions

    * ~ final version preparation

commit 4328cbb
Author: Matt Wilson <[email protected]>
Date:   Tue Feb 11 08:42:34 2025 +1100

    Function pointers (#14)

    * ~ tidying

    * ~ refactoring support macros into **collect-c/common.h**

    * [documentation] : ~ language

    * [documentation] : ~ clearing up preconditions declarations

    * [documentation] : + adding missing documentation elements

    * [refac] : ~ function pointers

    * [refac] : ~ doc fix

commit 68355ef
Author: Matt Wilson <[email protected]>
Date:   Tue Feb 11 08:35:40 2025 +1100

    Documentation (#13)

    * ~ tidying

    * ~ refactoring support macros into **collect-c/common.h**

    * [documentation] : ~ language

    * [documentation] : ~ clearing up preconditions declarations

    * [documentation] : + adding missing documentation elements

commit d529112
Author: Matt Wilson <[email protected]>
Date:   Tue Feb 11 08:31:09 2025 +1100

    refactor (1) (#12)

    * ~ tidying

    * ~ refactoring support macros into **collect-c/common.h**

commit c59892f
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 20:00:34 2025 +1100

    Vec (#11)

    * [vector] : initial (and very partial) implementation

    * [vector] : + added `#clear()` and `#push_front_by_ref()`

    ---------

    Co-authored-by: Matt Wilson <[email protected]>

commit 20f5e72
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 19:47:35 2025 +1100

    ~ tidying (#10)

    Co-authored-by: Matt Wilson <[email protected]>

commit 9204ce6
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 13:38:30 2025 +1100

    library version

commit ee951a6
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 13:03:17 2025 +1100

    [doubly-linked list] (#9)

    * [double-linked list] : initial (and very partial) implementation

    * [double-linked list] : + `#push_front()`

    * [double-linked list] : ~ `#free_storage()` now ensures `#spares` list is freed

    * [double-linked list] : + `#clear()`

    * [double-linked list] : + `#find_node()` and `#rfind_node()`

    * [double-linked list] : + `#erase_node)`

    * [double-linked list] : ~ macro improvements, such that most macros can now take `collect_c_dlist_t*` (and `collect_c_dlist_t const*`) as well as `collect_c_dlist_t`

    * [double-linked list] : + added `#front()` and `#back()`

    * [double-linked list] : + added `#insert_after()` and `#insert_before()`

    ---------

    Co-authored-by: Matt Wilson <[email protected]>

commit cf99c64
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 09:07:39 2025 +1100

    [circular queue] deprecated elements (#8)

    * ~ naming consistency

    * **test.unit.cq** : ~ improved test case names

    * [circular queue] : ~ `collect_c_cq_t#pfn_element_free`'s `el_index` is now `intptr_t` (was `size_t`) so can connote "unknown"

    * [circular queue] : ~ tidying

    * ~ CMake fixes

    * [circular queue] : ~ fixed callback index for `collect_c_cq_free_storage()` and `#clear()`

    * [circular queue] : ~ fixing callback indexes, no properly indicates the logical index of the element

    * [circular queue] : ~ macro fixes

    * [circular queue] + added `collect_c_cq_push_back_n_by_ref()`

    * [circular queue] : ~ improved various API names

    * [circular queue] : ~ sorting deprecated constructs

    * [circular queue] : ~ replacing deprecated constructs

commit b9af539
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 09:04:20 2025 +1100

    [circular queue] : + added `collect_c_cq_push_back_by_ref()` (#7)

    * ~ naming consistency

    * **test.unit.cq** : ~ improved test case names

    * [circular queue] : ~ `collect_c_cq_t#pfn_element_free`'s `el_index` is now `intptr_t` (was `size_t`) so can connote "unknown"

    * [circular queue] : ~ tidying

    * ~ CMake fixes

    * [circular queue] : ~ fixed callback index for `collect_c_cq_free_storage()` and `#clear()`

    * [circular queue] : ~ fixing callback indexes, no properly indicates the logical index of the element

    * [circular queue] : ~ macro fixes

    * [circular queue] + added `collect_c_cq_push_back_n_by_ref()`

    * [circular queue] : ~ improved various API names

commit fe1d8e0
Author: Matt Wilson <[email protected]>
Date:   Mon Feb 10 08:48:19 2025 +1100

    [circular queue] fixing index of callback(s) (#6)

    * ~ naming consistency

    * **test.unit.cq** : ~ improved test case names

    * [circular queue] : ~ `collect_c_cq_t#pfn_element_free`'s `el_index` is now `intptr_t` (was `size_t`) so can connote "unknown"

    * [circular queue] : ~ tidying

    * ~ CMake fixes

    * [circular queue] : ~ fixed callback index for `collect_c_cq_free_storage()` and `#clear()`

    * [circular queue] : ~ fixing callback indexes, no properly indicates the logical index of the element

    * [circular queue] : ~ macro fixes

commit 04fa084
Author: Matt Wilson <[email protected]>
Date:   Sun Feb 9 14:12:46 2025 +1100

    ~ minor mods

commit c030cf9
Author: Matt Wilson <[email protected]>
Date:   Sun Feb 9 14:09:27 2025 +1100

    [circular queue] fixing index of callback(s) (preparatory work) (#5)

    * ~ naming consistency

    * **test.unit.cq** : ~ improved test case names

    * [circular queue] : ~ `collect_c_cq_t#pfn_element_free`'s `el_index` is now `intptr_t` (was `size_t`) so can connote "unknown"

    * [circular queue] : ~ tidying

    * ~ CMake fixes

commit dcc7b72
Author: Matt Wilson <[email protected]>
Date:   Fri Feb 7 11:20:06 2025 +1100

    [circular queue] : Added element-overwrite functionality (#4)

    * cq : initial

    * [circular queue] : initial implementation

    * [circular queue] : + added erase/remove/overwrite callback functionality

    * [circular queue] : `COLLECT_C_CIRCQ_clear()` now takes optional second argument

    * [circular queue] : ~ minor optimisation of `#clear()`, and resetting `b` = `e` = 0 when clear / deallocate

    * [circular queue] : + added **test.performance.cq**

    * [circular queue] : ~ documentation markup

    * [circular queue] : ~ fix

    * [circular queue] : + added and applied `COLLECT_C_CIRCQ_F_OVERWRITE_FRONT_WHEN_FULL`

    * ~ settings

    * [circular queue] : ~ renamed `COLLECT_C_CIRCQ_push_by_ref()` / `COLLECT_C_CIRCQ_push_by_value()` => `CLC_CQ_push_by_ref()` / `CLC_CQ_push_by_value()`

    * [circular queue] : ~ tidying / simplifying test programs

    * [circular queue] : ~ fix

    * [circular queue] : + added performance test of use of `COLLECT_C_CIRCQ_F_OVERWRITE_FRONT_WHEN_FULL`

    * [circular queue] : + added and applied `COLLECT_C_CIRCQ_define_empty_with_callback()`

    * [circular queue] : ~ refactoring

commit a2e93fd
Author: Matt Wilson <[email protected]>
Date:   Fri Feb 7 11:02:49 2025 +1100

    Circular Queue (#3)

    * cq : initial

    * [circular queue] : initial implementation

    * [circular queue] : + added erase/remove/overwrite callback functionality

    * [circular queue] : `COLLECT_C_CIRCQ_clear()` now takes optional second argument

    * [circular queue] : ~ minor optimisation of `#clear()`, and resetting `b` = `e` = 0 when clear / deallocate

    * [circular queue] : + added **test.performance.cq**

    * [circular queue] : ~ documentation markup

    * [circular queue] : ~ fix

    * ~ settings

    * [circular queue] : ~ renamed `COLLECT_C_CIRCQ_push_by_ref()` / `COLLECT_C_CIRCQ_push_by_value()` => `CLC_CQ_push_by_ref()` / `CLC_CQ_push_by_value()`

    * [circular queue] : ~ tidying / simplifying test programs

    * [circular queue] : ~ fix

    * [circular queue] : ~ tidying

    * [circular queue] : ~ updating **test.unit.version** to incorporate circular queue

    * [circular queue] : ~ tidying

    * [circular queue] : ~ fixing assertion failures

    * [circular queue] : ~ minor refactoring

commit e1d612c
Author: Matt Wilson <[email protected]>
Date:   Fri Feb 7 10:39:29 2025 +1100

    + added **test.unit.version** (#2)

    Co-authored-by: Matt Wilson <[email protected]>
  • Loading branch information
synesissoftware committed Feb 10, 2025
1 parent 1da5c3f commit 3e4122e
Show file tree
Hide file tree
Showing 28 changed files with 7,251 additions and 12 deletions.
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"[c]": {
"editor.insertSpaces": true,
"editor.rulers": [ 60, 76 ],
"editor.rulers": [ 60, 64, 68, 76 ],
"editor.tabSize": 4,
},
"[cpp]": {
Expand Down Expand Up @@ -120,6 +120,7 @@
"string": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"terse-api.h": "c",
"thread": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
Expand All @@ -139,6 +140,7 @@
"xloctime": "cpp",
"xmemory": "cpp",
"xstring": "cpp",
"xtests.h": "c",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp",
Expand Down
8 changes: 3 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Purpose: Top-level CMake lists file for collect-c
#
# Created: 4th February 2025
# Updated: 4th February 2025
# Updated: 11fth February 2025
#
# ######################################################################## #

Expand Down Expand Up @@ -39,7 +39,7 @@ string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)

# handle version number
set(RX_PROJ_TAG "COLLECT_CXX")
set(RX_PROJ_TAG "COLLECT_C")
set(RX_WS "[ \t]")
file(READ "${CMAKE_SOURCE_DIR}/include/${PROJECT_NAME_LOWER}/common/version.h" _header_file)
string(REGEX MATCH "#${RX_WS}*define${RX_WS}+_?${RX_PROJ_TAG}_VER_MAJOR${RX_WS}+([0-9]+)" MAJOR_DUMMY ${_header_file})
Expand All @@ -61,7 +61,7 @@ set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON) # GNU extensions and POSIX standard
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)

Expand Down Expand Up @@ -107,7 +107,6 @@ option(BUILD_EXAMPLES "Build examples" ON)
#



# ############################
# cstring

Expand Down Expand Up @@ -284,4 +283,3 @@ message(NOTICE "Generating CMake build scripts for ${PROJECT_NAME} ${PROJECT_VER

# ############################## end of file ############################# #


14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ T.B.C.

## Components

### APIs

#### Circular Queue

T.B.C.


#### Doubly-linked List

T.B.C.


#### Vector

T.B.C.


Expand Down
Loading

0 comments on commit 3e4122e

Please sign in to comment.