Zupply

A light-weight portable C++ 11 library for Researches and Demos

Posted by Joshua Z. Zhang on July 18, 2015

Zupply is a light-weight, cross-platform, easy to use C++11 library packed with fundamental functions/classes best for reaserches/small projects/demos.

Github repository

Zupply

Why Zupply

  • Tired of repetitive coding on reading/writing files? Logging messages? Loading configurations?
  • Feel desperate transferring code to another platform because you hard-coded in platform specific ways?
  • Reluctant to use Boost because it’s too heavy-weight?
  • Hate setting up environments on a clean computer without any develop library which is required to be linked by many programs?
  • Just want to build a small demo, why bother libraries such as OpenCV just for reading/writing images?

  • If you agree at least two of them, zupply will be the right tool.

Features

  • Zero dependency, only C++ 11 standard
  • Designed to be easily included in projects, no need to link
  • Pure and clean, everything encapsulated in namespace zz, almost no pollution if you don’t expose the namespace (explain)
  • Targeting Linux/Windows/Mac OS X/Partial Unix based OSes, meanwhile providing unified experience coding on each platform

What’s included

  • CLI Argument-parser
  • INI/CFG Configuration-file-parser
  • Easy to use Timer and DateTime classes to measure time and datetime
  • Fast sync/async Logger with rich information and highly configurable
  • Cross-platform functions to handle filesystems. (create directory, check file existence, iterate through folder etc…)
  • Various formatting functions to (trim/split/replace/…) strings
  • Thread safe data structures for specific purposes
  • ProgBar class that is designed for displaying progress bar inside consoles
  • Image and ImageHdr class to do basic operations with image, for example, read(JPG, PNG, BMP, TGA, PSD, GIF, HDR, PIC)/write(JPG, PNG, TGA, BMP), crop, resize, pixel-wise access.
  • A lot more

What’s under construction

  • Serializer/Deserializer: for dump/read objects to/from string directly, binary should also be supported

Documentation

Full documentation supplied.

Tutorials

For tutorials, please check Zupply Wiki!

License

Zupply uses very permissive MIT license.

Credits