Skip to content

DanIsraelMalta/Useful-Functions-and-Classes

Repository files navigation

The following functions/examples exist in the repository:

  • enumerate.h - intuitive enumeration of a list of things

  • zip_iterator.h - parallel-iterate over several controlled heterogeneous sequences simultaneously

  • ArrayOfBytes.h - helper object to deal with integral types as array of bytes

  • expand_stl.h - extend many STL algorithms to operate on homogeneous parameter packs or a variadic amount of collections where each collection can be of a different type but must hold the same underlying type.

  • ContainerSOA.h - allow user to iterate a given collection either in SoA style or in AoS style.

  • irange.h - A flexible range based for loop implementation which allows both looping in reverse order and looping with a given stride

  • FSM.h - minimal generic finite state machine

  • LazyStringSplit.h - Lazy string splitting and iteration

  • EncryptedString.h - compile time encrypted, run time decrypted string

  • Reactive.h - minimal functional reactive programming kit (in less then 150 lines of code)

  • async_deferred.h - an emulated 'std::async' with 'deferred' option with the added value that it doesn't block until thread is finished when returned future is destructed

  • mixin.h - implementing the 'mixin' design pattern without any run-time costs

  • enumeration_casts.h - a set of utilities to safely handle enumeration<->number casting (with compile time checks)

  • GenericVisitor.h - A generic visitor (with example usage)

  • NamedArguments.cpp - An example of how to emulate a function with named arguments in c++

  • Dictionary.h - compile-time fixed-size bi-directional map (dictionary) for integer types

  • arithmetic_comparison.h - safe (no implicit casting) arithmetical value comparison with no run time costs

  • VectorConstructs.h - various (explicit) vectorized construct (requires SSE4.1 or above).

  • TypeList.h - compile time 'type list' data structure

About

A collection of useful functions and classes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages