Commit Graph

14 Commits

Author SHA1 Message Date
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