Skip to content

C++ library of general tools and lightweight implementations of some design patterns

License

Notifications You must be signed in to change notification settings

erestor/ctoolhu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ctoolhu

What is it?

  • C++ library featuring general tools and lightweight implementations of some design patterns
  • using modern C++, Boost & Loki, platform-independent
  • compatible with Emscripten for building WebAssembly

Where is it?

  • Ctoolhu is located in ctoolhu directory
  • the other files in the repository make it possible for Ctoolhu to be opened in Visual Studio

What does it give you?

  • event
    • event aggregator with auto-subscription
  • maths
    • epsilon-based floating point comparison
  • memory
    • extension of boost::object_pool for use with std::unique_ptr
  • property_tree
    • simplifies JSON conversion with boost::property_tree
  • random
    • random number generators
    • random selector for containers
  • singleton
    • singleton holder with variable lifetime (esp. for Emscripten builds)
  • std_ext
    • simplifies typical usage of standard library algorithms
  • thread
    • locking proxy for object-level locking
    • implementation of async using a thread pool (esp. for Emscripten builds)
  • time
    • stopwatch for duration measurement
  • typesafe
    • type-safe integers
  • visitor
    • boilerplate for implementing the visitor pattern

What next?

  • add more components as they come up in production

Who uses it?

Licence

  • MIT

About

C++ library of general tools and lightweight implementations of some design patterns

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages