Commit Graph

113 Commits

Author SHA1 Message Date
Tristan B. Velloza Kildaire 1bdce71561 niknaks.containers
- Added graphing back
2024-05-05 12:56:37 +02:00
Tristan B. Velloza Kildaire 81f5fb278c Merge branch 'master' into feature/views 2024-05-05 12:54:54 +02:00
Tristan B. Velloza Kildaire 1a754cf7e6
Feature: Generic tree and visitation framework (#17)
* Tree

- WIP

* Tree

- Added initial dfs

* Tree

- By default use the `always` strat

* Tree

- Added a TODO

* Tree

- Added ability to append

Tree (unittests)

- Updated unittests to test appending

* InclusionStratergy

- Now uses the `TreeNode!(T)` instead of the `T` itself

* VisitationTree

- Working on a visitation tree implementation

* Tree

- Pass in, explcitly, the touch startergy

* Tree

- Correct visitation stratergy

* VisitationTree (unittests)

- Added missing assertions

* Tree (unittests)

- Added missing assertions

* Methods

- Added rightward shifting mechanism

* Methods

- Added leftwards shifting mechanism

* TreeNode

- Added removal
- Added indexing support

* Tree

- Reworking opSlicwe

* Tree

- opSlice done

* Tree

- Added normal opSlice as well

* Tree (unittests)

- Updated test for parametwerized opSlice

* Tree

- Added opIndex

* Tree

- Cleaned up
- Removed `getValue()`

Tree (unittests)

- Added test for `removeNode(Tree!(T))`

* Containers

- Added `shiftIntoLeftwards` and `shiftIntoRightwards`

* Containers (unittests)

- Use new methods

* Containers

- Cleaned up

* InclusionStratergy

- Documented

TouchStratergy

- Documented

* Containers

- Documented method

* niknaks.arrays

- Moved here

niknaks.containers

- Moved here

* niknaks.arrays

- Updated unittestesd (test shrinking)
- Added docs

* niknaks.arrays

- Refactored

* niknaks.arrays

- Added this

* VisitationTree

- Documented

* VisitationTree

- Documented

* Tree (unittests)

- Added docs

* Tree (unittests)

- Moved import

* Tree

- Added some docs

* Tree

- CLeaned up

* Tree

- Documented

* Tree

- Documented

* Tree

- Documented
- Cleaned

* Always(T)

- Documented

* Tree

- Added `opDollar()` and `@property`'d `length()`

* Tree

- Adde doc

* Tree

- Renamed `Tree!(T)` to `Graph!(T)`

* Graph

- Typo fix

* Graph

- Clean up

* Graph

- Renamed

* Graph

- Documented helper methods

* Graph

- Typo fix

* graph

-  Documented `dfs(...)`

* Graph

-  Documented `toString()`

* Graph (unittests)

- Added tests for `opIndex(size_t)`

* Graph

- Implemented `getValue()`

Graph (unittests)

- Added tests for `getValue()`

* Graph (unittests)

- Added test for `opDollar()`

* README

- Updated docs
2024-05-04 10:51:31 +02:00
Tristan B. Velloza Kildaire de77bb7d06 View
- `add(T[])` was constructing TWO `SectorType` instances, make it only one
2024-05-02 16:23:09 +02:00
Tristan B. Velloza Kildaire e84128384a View
- Cleaned up
2024-05-02 16:14:58 +02:00
Tristan B. Velloza Kildaire 1da8936ce7 View
- Added docs
2024-05-02 16:11:38 +02:00
Tristan B. Velloza Kildaire 620175d605 SectorType
- More compile-time checks added
2024-05-02 16:07:32 +02:00
Tristan B. Velloza Kildaire d0ea22673f SectorType
- More compile-time checks added
2024-05-02 16:07:12 +02:00
Tristan B. Velloza Kildaire f84f9caa1f SectorType
- More compile-time checks added
2024-05-02 15:57:47 +02:00
Tristan B. Velloza Kildaire ba4dbd975f SectorType
- More compile-time checks added
2024-05-02 15:49:33 +02:00
Tristan B. Velloza Kildaire 20cb74d5e8 SectorType
- Working on type definition
2024-05-02 15:12:36 +02:00
Tristan B. Velloza Kildaire f71286e85c View
- Cleaned up
2024-05-02 15:03:49 +02:00
Tristan B. Velloza Kildaire 818a7cad32 View
- Cleaned up
2024-05-02 15:03:29 +02:00
Tristan B. Velloza Kildaire 98f2f10aca View
- Replaced unreachable code with a false assertion
2024-05-02 15:03:06 +02:00
Tristan B. Velloza Kildaire a421b40bdb View
- Removed unreachable code
2024-05-02 15:02:18 +02:00
Tristan B. Velloza Kildaire 365d15d81f View
- Removed unreachable code
2024-05-02 15:01:57 +02:00
Tristan B. Velloza Kildaire 9472cb96d4 View
- When calling `opSlice(size_t, size_t)` with arguments that are equal then you should return `[]`. This fixe a bug when we do `view[]` and length was `0` as `opSlice()` calls `opSlice(size_t, size_t)` with `opSlice(0, 0) then
2024-05-02 14:59:36 +02:00
Tristan B. Velloza Kildaire 85580d2a71 View
- Cleaned up
2024-05-02 14:51:06 +02:00
Tristan B. Velloza Kildaire e9cb3a1960 View
- Cleaned up
2024-05-02 14:50:46 +02:00
Tristan B. Velloza Kildaire 19a7ce6f7e View
- Only add debug in unittest mode
2024-05-02 14:50:11 +02:00
Tristan B. Velloza Kildaire c886ba184b View
- `opSlice()` now forwards to `opSlice(size_t, size_t)`
2024-05-02 09:36:39 +02:00
Tristan B. Velloza Kildaire 6372f2d8c7 View (unittests)
- Added more tests for `opSlice(size_t, size_t)`
2024-05-02 09:35:41 +02:00
Tristan B. Velloza Kildaire 515d85eae0 View (unittests)
- Added another test to test the last )untested) branch of the `opSlice(size_t, size_t)` method
2024-05-02 09:20:15 +02:00
Tristan B. Velloza Kildaire 1b1cb8f316 View
- Typo fix
2024-05-02 09:18:17 +02:00
Tristan B. Velloza Kildaire 64ba0baa8f View
- New, more efficient `opSlice(size_t, size_t)` implemented

View (unittests)

- Updated slicing tests
2024-05-02 09:18:01 +02:00
Tristan B. Velloza Kildaire bfa7c6020f View
- Fixed range-based `opSlice(...)`

View (unittests)

- Added unittest
2024-05-02 08:35:45 +02:00
Tristan B. Velloza Kildaire 2ecb371d9a View
- Added range `opSlice()`
2024-05-02 08:34:28 +02:00
Tristan B. Velloza Kildaire a2fc15aac1 Merge branch 'master' into feature/views 2024-05-02 08:33:15 +02:00
Tristan B. Velloza Kildaire b6106883da ConfigEntry
- Space fix
2024-05-02 08:32:38 +02:00
Tristan B. Velloza Kildaire 29064908e7 niknaks.functional
- Cleaned up
2024-05-02 08:15:00 +02:00
Tristan B. Velloza Kildaire df52dab72f View
- Made `add(T[])` private
2024-05-02 08:10:04 +02:00
Tristan B. Velloza Kildaire 328239cd57 View
- made `opIndex(size_t)` and `opIndexAssign(T, size_t)` respect the "fake" size

View (unittests)

- Added code to test the above updates to the `View` type
2024-05-02 07:58:17 +02:00
Tristan B. Velloza Kildaire b383cfad65 View
- More work being done on deciding various parts of this API
- Fixed the `opIndexAssign(...)`
2024-05-01 20:27:14 +02:00
Tristan B. Velloza Kildaire 20c3969516 View
- Allow updating indices
2024-04-30 22:35:54 +02:00
Tristan B. Velloza Kildaire 71257f3926 View
- Added support for the `~=` operator overload

View (unittests)

- Use the operator overload
2024-04-30 21:35:19 +02:00
Tristan B. Velloza Kildaire 451fb668bd View (unittests)
- Added test for out-of-bounds indexing
2024-04-30 08:11:21 +02:00
Tristan B. Velloza Kildaire dba6ea59fa View
- Implemented `opSlice()`

View (unittests)

- Added test for `opSlice()`
2024-04-29 11:51:51 +02:00
Tristan B. Velloza Kildaire 0fb11d7c47 View (unittests)
- Fixed incorrect assertion
2024-04-29 11:46:26 +02:00
Tristan B. Velloza Kildaire 68d510418d View
- Initial work-in-progress for a new `View` type-buffer
2024-04-29 11:44:29 +02:00
Tristan B. Velloza Kildaire e0e082dd69 niknaks.arrays
- Added uniqueness  method
2024-04-28 15:25:40 +02:00
Tristan B. Velloza Kildaire 3e9bc5341d PromptException
- Removed unused type
2024-04-28 15:01:25 +02:00
Tristan B. Velloza Kildaire e879124f7b Prompter
- Updates
2024-04-28 14:56:40 +02:00
Tristan B. Velloza Kildaire 92b12b1abd Prompter
- Detected EOF signal
2024-04-28 14:52:15 +02:00
Tristan B. Velloza Kildaire 30fc922f5b
Feature: Improved prompting framework (#21)
* Prompt

- Allow multiple values

Prompt (unittest)

- Updated to use the new `Prompt` API

* Prompter

- Added multi-answer and empty support

* Prompter

- Cleaned up

* Prompter

- Various fixes

Prompting (unittests)

- Added unittest for single-val;ues that CANNOT be empty and for multi-value prompts
2024-04-28 14:40:00 +02:00
Tristan B. Velloza Kildaire c7825c5821 niknaks.arrays (unittest)
- Added a unittest
2024-04-27 16:49:57 +02:00
Tristan B. Velloza Kildaire 6b12529ec3
niknaks.arrays (#20)
- Added array stuff
2024-04-27 15:48:39 +02:00
Tristan B. Velloza Kildaire 6e11752590 ConfigType
- Documented enum members
2024-04-27 13:48:41 +02:00
Tristan B. Velloza Kildaire 46eeaa4430 README
- Updated
2024-04-27 13:46:41 +02:00
Tristan B. Velloza Kildaire 0d2742260b
CacheMap (#19)
- Added `opIndex(K)` support

CacheMap (unittests)

- Make use of the newly added `opIndex(K)` support
2024-04-27 13:45:04 +02:00
Tristan B. Velloza Kildaire 72671804a1
Feature: Generic configuration mechanism (#18)
* Config

- Added initial types

* ConfigEntry

- Added `getType()`

* ConfigENtry

- Implemented `opCast(TypeTo)()` for all the types.
- It will ALSO throw a compile-time false assertion if an unsupported to-type `TypeTo` is specified

* ConfigEntry

- Removed a TODO

* Registry

- Added initial registry implementation

* ConfigEntry

- Added ensure-set stuff

Registry

- Added `opIndex(string)`

* ConfigEntry (unittests)

- Test the ensure set stuff

* Registry

- Refatcored `newEntry(..., ..., ...)` to alow for parameterizing over-writing allowance
- Implemented `opIndexAssign`

* Registry

- Toggle set-on-creation (i.e. setting something if it never existed)
- `opIndexAssign` allows setting-on-creation (i.e. creation of an otherwise non-existent node)

* Registry (unittest)

- Try get more coverage by testing certain case

* Registry (unittest)

- Try get more coverage by testing ANOTHER case

* RegistryEntry

- Added

* Registry

- Implemented `getEntries()`

* Registry

- Implemented `opSlice()`

* Registry (unittests)

- Test the `opSlice()` and hence `getEntries()` method
2024-04-27 13:44:12 +02:00