Giter Club home page Giter Club logo

cpputils's Introduction

CppUtils

A few constructs that I have found useful in coding C++ Libraries that depend only on STL

Dispatch Thread

This is a very handy mix-in to classes which basically provides a worker thread. If you mix this class into your class you will get the PostToDispathc() which will accept a lambda and will execute it on the thread.

The Thread is killed (this is a blocking call) when the dispatch thread is destroyed.

If multiple calls are made to PostToDispatch() from different threads, the lambdas are queued up.

ANotifier

If you use Protocol Buffers to Send / Receive Messages over different interface then ANotifier can be used by message receivers to register handlers for speceific Protocol Buffer message types. This abstract class provides the ability to register lambdas based user supplied Keys.

ACancelable

ANotifier Registration function returns objects of type ACancelable. Client can call the Cancel() method on these objects to cancel the specific notification. You can use this approach to create cancelable objects that may represent the state of pending asynchronous executions. Refer to the code to see how to implement.

CmdLineArgParser

This is a handy class that will let you implement getopt styled command line argument parsing in a C++ friendly way. Refer to the unit tests on how to use.

cpputils's People

Contributors

kartikaiyer avatar

Stargazers

Stefan Pfeifer avatar

Watchers

 avatar Sayli Benadikar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.