Commit Graph

32 Commits

Author SHA1 Message Date
Tristan B. Velloza Kildaire a5f7e9fc95 VisitationTree
- Documented
2024-04-27 16:42:07 +02:00
Tristan B. Velloza Kildaire 926598086d VisitationTree
- Documented
2024-04-27 16:25:47 +02:00
Tristan B. Velloza Kildaire 4dceaad585 niknaks.arrays
- Moved here

niknaks.containers

- Moved here
2024-04-27 15:39:36 +02:00
Tristan B. Velloza Kildaire 457f876a95 Containers
- Documented method
2024-04-27 15:38:10 +02:00
Tristan B. Velloza Kildaire b1f2cb594b InclusionStratergy
- Documented

TouchStratergy

- Documented
2024-04-27 15:27:31 +02:00
Tristan B. Velloza Kildaire 9d39cc3710 Containers
- Cleaned up
2024-04-27 15:22:57 +02:00
Tristan B. Velloza Kildaire 5b205019f6 Containers (unittests)
- Use new methods
2024-04-27 15:20:59 +02:00
Tristan B. Velloza Kildaire 38169bbebd Containers
- Added `shiftIntoLeftwards` and `shiftIntoRightwards`
2024-04-27 15:19:25 +02:00
Tristan B. Velloza Kildaire eeb1fd4a46 Merge branch 'master' into feature/tree 2024-04-27 15:17:13 +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 d3eec6eba6 Tree
- Cleaned up
- Removed `getValue()`

Tree (unittests)

- Added test for `removeNode(Tree!(T))`
2024-04-26 18:30:28 +02:00
Tristan B. Velloza Kildaire 04c5373a69 Tree
- Added opIndex
2024-04-26 18:28:06 +02:00
Tristan B. Velloza Kildaire 450d811f52 Tree (unittests)
- Updated test for parametwerized opSlice
2024-04-26 18:25:17 +02:00
Tristan B. Velloza Kildaire 54b66ec3f1 Tree
- Added normal opSlice as well
2024-04-26 18:24:31 +02:00
Tristan B. Velloza Kildaire d7a830ffa9 Tree
- opSlice done
2024-04-26 18:22:31 +02:00
Tristan B. Velloza Kildaire 8dca2ebf73 Tree
- Reworking opSlicwe
2024-04-26 16:50:01 +02:00
Tristan B. Velloza Kildaire 4a431c43d1 TreeNode
- Added removal
- Added indexing support
2024-04-26 16:35:21 +02:00
Tristan B. Velloza Kildaire 11fd2f856e Methods
- Added leftwards shifting mechanism
2024-04-26 16:28:19 +02:00
Tristan B. Velloza Kildaire 41ebad0768 Methods
- Added rightward shifting mechanism
2024-04-26 16:05:10 +02:00
Tristan B. Velloza Kildaire 838ddbb9db Tree (unittests)
- Added missing assertions
2024-04-26 15:36:54 +02:00
Tristan B. Velloza Kildaire e44caf3643 VisitationTree (unittests)
- Added missing assertions
2024-04-26 15:35:29 +02:00
Tristan B. Velloza Kildaire ce78102af9 Tree
- Correct visitation stratergy
2024-04-23 16:02:40 +02:00
Tristan B. Velloza Kildaire 04edc241ad Tree
- Pass in, explcitly, the touch startergy
2024-04-23 15:52:02 +02:00
Tristan B. Velloza Kildaire 167c2b7c0d VisitationTree
- Working on a visitation tree implementation
2024-04-23 15:49:49 +02:00
Tristan B. Velloza Kildaire f49ecf1908 InclusionStratergy
- Now uses the `TreeNode!(T)` instead of the `T` itself
2024-04-22 22:14:28 +02:00
Tristan B. Velloza Kildaire d5b00c548e Tree
- Added ability to append

Tree (unittests)

- Updated unittests to test appending
2024-04-22 20:18:50 +02:00
Tristan B. Velloza Kildaire 4ecb57d4fa Tree
- Added a TODO
2024-04-22 20:14:26 +02:00
Tristan B. Velloza Kildaire 84f18407e8 Tree
- By default use the `always` strat
2024-04-22 17:03:30 +02:00
Tristan B. Velloza Kildaire 60028a34be Tree
- Added initial dfs
2024-04-22 17:02:24 +02:00
Tristan B. Velloza Kildaire 34d2b3031f Tree
- WIP
2024-04-13 14:56:54 +02:00
Tristan B. Velloza Kildaire 3545501653 Documentation
- Added authors
2024-04-08 08:40:16 +02:00
Tristan B. Velloza Kildaire bdcbb1b55b
Feature: CacheMap (#11)
* Containers

- Created module

* ExpirationStrategy

- Added new enum with members `LIVE` and `ON_ACCESS`

* Entry

- Added entry

* CacheMap

- Added initial implementation

CacheMap (unitests)

- Added a unittest

* CacheList

- Added a stub `CacheList` container type

* CacheMap

- Implement the static ifdefs to set
- Use the hitcount method

* CacheMap

- Disbale hitcount for now

* CacheMap

- Added `ReplacementFunction`

* CacheMap

- Implemented `updateKey(K key)`

* CacheMap

- Implemented `expirationCheck(K key)`

* CacheMao

- Updated `get(K key)` to use the new `K` key-based exipiration check

* CacheMap

- The method `updateKey(K key)` now returns the value refreshed
- `get(K key)` now refrehses on unfound key

* CacheMap

- Implemented `makeKey(K key)`
- Busy reworking, still broken

* CacheMap

- Fixed errors with compilation in `makeKey(K key)`

* CacheMap

- Fixed `expirationCheck(K key)` by using `makeKey(K key)` whenever the key does not yet exist

* CacheMap (unittests)

- Fixed unit test

* CacheMap

- Removed `put(K, V)` method

* CacheMap

- Removed traversal version `expirationCheck()`

* CacheMap

- Force compilation failure when `get()` is called for LIVE strat
- Added proper `~this()` implementation for LIVE strat

* CacheMap

- Documented methods

* CacheMap

- Updated `get(K)`

* CacheMap

- Either a function or delegate may now be used

* CacheMap

- Removed nop

* CacheMap

- Always use a thread that wakes up at expirary time to clean up
- Added destructor (that won't seg) as it wits for the cleanup to happen then exits (allowing destruction AFTER the fact)

* CacheMap

- Added some documentation

* CacheMap

- Cleaned up

* CacheList

- Removed `CacheList`

* Containers

- Moved inside of unittest

* Containers (unittest)

- Documented
- Removed unused unittest

* ExpirationStrategy

- Removed this enum

* Entry

- Documented

* CacheMap

- Documented `get(Key)`

* CacheMap

- Documented `checkerFunc()`

* CacheMap

- Documented `doLiveCheck()` and `~this()`

* niknaks.containers

- Documented module

* niknaks (package)

- Added import

* CacheMap

- Implemented `removeKey(K key)`

* CacheMap

- Documented `removeKey(K)`

* CacheMap (unittest)

- Explcitiyl set time

* CacheMap (unittest)

- Added a test ofkey removal (explicit)

* CacheMap (unittest)

- Destroy map

* CacheMap (unittest)

- Added missing documentation

* CacheMap (unittest)

- Removed old code

* CacheMap (unittests)

- Cleaned up

* CacheMap

- Fixed the constructor which takes in a `ReplacementFunction` to pass in the default arguments as well
- The `checkerFunc` now uses the `sweepInterval`
- Added support for a `sweepInterval` which the checker runs at now (seperate to the `expirationTime`)

CacheMap (unittest)

- Documented more unittests
- Added a unit test for on-access stratergy testing

* niknaks.containers

- Cleaned up imports
2023-12-04 10:44:45 +02:00