tern 0.2.27
General-purpose and diverse library intended to expand upon Phobos
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
Tern
<p align="center"> <a href="https://code.dlang.org/packages/tern"> <img src="https://img.shields.io/dub/v/tern"/> </a> <a href="https://github.com/cetio/tern"><img src="https://img.shields.io/github/repo-size/cetio/tern.svg" alt="GitHub repo size"/></a> <a href="https://github.com/cetio/tern"><img src="https://img.shields.io/github/languages/code-size/cetio/tern.svg" alt="GitHub code size"/></a> <a href="https://github.com/cetio/tern"><img src="https://img.shields.io/github/commit-activity/t/cetio/tern" alt="GitHub commits"/></a> <a href="https://raw.githubusercontent.com/cetio/tern/main/LICENSE.txt"><img src="https://img.shields.io/github/license/cetio/tern.svg" alt="GitHub repo license"/></a> </p>
FUNCTIONAL
tern.algorithmalgorithms, lazy ranges, and common range functionality.tern.algorithm.iterationtern.algorithm.lazy_filtertern.algorithm.lazy_maptern.algorithm.lazy_substitutetern.algorithm.mutationtern.algorithm.searchingtern.functionalvarious implementations for functional programming and iteration.planefor arbitrary iteration with a predicate across a range.tapfor maintaining local purity and calling an impure function.juxtcall multiple functions async.denatureflatten function to remove args.renatureunflatten function to add args.- provides support for invoking lambdas dynamically based on arguments, ie:
(ref index, element, sum) => ...and everything in-between.
COMPTIME
tern.accessorsautomatic accessor/property generation with support for any flags that are present.tern.objectfor arbitrary and specialized fast interaction with objects.tern.metatiny algorithms and comparisons forAliasSeq.tern.traitsexpansion onstd.traits.- more comparisons, better comparisons, and generation of signatures of type members.
tern.typecons.automemtern.typecons.automem.Uniquescope-disposed non-reassignable/copyable pointer.tern.typecons.automem.Scopedscope-disposed reassignable/copyable pointer.tern.typecons.automem.RefCountedref-counted reassignable/copyable pointer.tern.typecons.automem.Trackedcache -> free based pointer.tern.typecons.automem.Disposablescope-disposed type wrapper.tern.typecons.commontern.typecons.common.BlackHoletern.typecons.common.WhiteHoletern.typecons.common.Singletontern.typecons.common.Enumerablecopy-based un-immutable range wrapper.tern.typecons.common.seriesindex-by-slice based array which uses[]for historical reference and()for element indexing.tern.typecons.securitytern.typecons.security.Atomictern.typecons.security.Blindtiming/power attack protected type wrapper.tern.typecons.varianttern.typecons.variant.VadTypefor partial mocking and arbitrary field modification/addition.
THREADING
tern.atomicimproved atomic operations, built uponcore.atomic.tern.concurrencyarbitrary threaded function execution and parallel processingawaitandasyncfor calling a function on a new thread.tern.typecons.security.Atomicfor wrapping any type to be thread-safe (not accounting for statics.)tern.experimental.monitorcreating and deleting object monitors.tern.functionaljuxtcall multiple functions async.denatureflatten function to remove args.
MEMORY
tern.experimental.constexprdata segment allocated type wrapper.tern.experimental.ds_allocatordata segment allocator.tern.experimental.heap_allocatorfast slab-based heap allocator with optional thread-safety.tern.stream.memory_streamsimple, fast memory stream.tern.memoryvarious general-purpose memory utilities.- hardware-accelerated
copyandmemset. tern.serializationserialization for arbitrarily typed data.tern.objectspecialized storing, loading, and more.
DATA
tern.streamvarious different performant stream implementations.tern.stream.atomic_streamtern.stream.binary_streamtern.stream.memory_streamtern.stream.file_streamtern.algorithmalgorithms, lazy ranges, and common range functionalitytern.algorithm.iterationtern.algorithm.lazy_filtertern.algorithm.lazy_maptern.algorithm.lazy_substitutetern.algorithm.mutationtern.algorithm.searchingtern.stringalgorithms and utilities for working with strings.tern.serializationserialization for arbitrarily typed data.tern.stateenum flags and mask interactions.tern.osVarious system format implementations.tern.os.pePortable Executable format.tern.os.elfELF format.tern.os.hresultWindows HResult.tern.os.processWindows processes.
CRYPTO
tern.digestdigest implementation and crypto algorithms.tern.digest.adler32tern.digest.anuraAnura256Anura1024
tern.digest.berustern.digest.chacha20tern.digest.cipherimports all ciphers.tern.digest.circetern.digest.cityhashtern.digest.crc32tern.digest.djb2tern.digest.elfhashtern.digest.fnv1tern.digest.gimlitern.digest.hashimplements all hashes.tern.digest.highttern.digest.md5tern.digest.miraMira256Mira512
tern.digest.murmurhashtern.digest.piratern.digest.rc4tern.digest.ripemdtern.digest.salsa20tern.digest.shaSHA1SHA256SHA512SHA224SHA384
tern.digest.superfasthashtern.digest.teaTEAXTEAXXTEA
tern.digest.xxhashtern.typecons.security.Blindtiming/power attack protected type wrapper.
MISC
tern.experimental.assemblyassembly shenannigans and ABI support.tern.legacyoutdated or deprecated features.tern.exceptiontern.tensortern.matrixtern.vectortern.evaltern.integerarbitrary sized integers.tern.benchmarkconfigurable parameterized benchmarking with global benchmark keeping.
- 0.2.27 released 8 months ago
- cetio/tern
- AGPL-3.0-only
- Copyright © 2024, cet
- Authors:
- Dependencies:
- intel-intrinsics, tanya
- Versions:
-
Show all 31 versions0.2.27 2025-Mar-31 0.2.26 2024-Aug-26 0.2.25 2024-Aug-26 0.2.24 2024-Aug-14 0.2.23 2024-Aug-07 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
3 downloads this month
-
355 downloads total
-
- Score:
- 0.9
- Short URL:
- tern.dub.pm