All Projects → flipcoder → kit

flipcoder / kit

Licence: MIT License
C++11 libs: await, channels, reactive/signals, timelines, alarms, logging, args, etc.

Programming Languages

C++
36643 projects - #6 most used programming language
lua
6591 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to kit

State Machine
🤖 A state machine library for Kotlin, with extensions for Android.
Stars: ✭ 72 (+242.86%)
Mutual labels:  reactive, coroutines
Ktor Rest Sample
Sample REST Service written in Kotlin with Ktor Framework
Stars: ✭ 37 (+76.19%)
Mutual labels:  reactive, coroutines
GitKtDroid
A sample Android application📱 built with Kotlin for #30DaysOfKotlin
Stars: ✭ 53 (+152.38%)
Mutual labels:  reactive, coroutines
SACK
System Abstraction Component Kit
Stars: ✭ 18 (-14.29%)
Mutual labels:  threads, timers
rx-ease
Spring animation operator for rxjs 🦚✨
Stars: ✭ 16 (-23.81%)
Mutual labels:  reactive
YoutubeEngine
Swift ReactiveCocoa lib for Youtube api
Stars: ✭ 24 (+14.29%)
Mutual labels:  reactive
Paging-3-Sample
This app is created as a sample app which loads movies from Tmdb api and uses Paging 3 library to show it in a Recycler view.
Stars: ✭ 96 (+357.14%)
Mutual labels:  coroutines
vue-rxjs
Yet another rxjs binding library for Vue.js
Stars: ✭ 14 (-33.33%)
Mutual labels:  reactive
Keemun
No description or website provided.
Stars: ✭ 13 (-38.1%)
Mutual labels:  coroutines
messenger
Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!
Stars: ✭ 194 (+823.81%)
Mutual labels:  threads
springboot2-reactive-kotlin
A simple counter using Spring Boot 2 and Kotlin
Stars: ✭ 19 (-9.52%)
Mutual labels:  reactive
moko-errors
Automated exceptions handler for mobile (android & ios) Kotlin Multiplatform development.
Stars: ✭ 45 (+114.29%)
Mutual labels:  coroutines
kotlinx-sockets
Kotlinx coroutines sockets
Stars: ✭ 54 (+157.14%)
Mutual labels:  coroutines
react-mobx-router5
React components for routing solution using router5 and mobx
Stars: ✭ 58 (+176.19%)
Mutual labels:  reactive
koru
Simple coroutine wrappers for Kotlin Native. Generated from annotations. Compatible with RxSwift, Combine etc.
Stars: ✭ 141 (+571.43%)
Mutual labels:  coroutines
NYTimesMostPopularArticles
A simple app to hit the NY Times Most Popular Articles API and show a list of articles, that shows details when items on the list are tapped (a typical master/detail app), also user able to browse/ add articles to favorite list that implements MVVM architecture using Dagger2, Retrofit, Coroutines, LiveData, RoomDatabase, Database Debugging, Data…
Stars: ✭ 38 (+80.95%)
Mutual labels:  coroutines
vue3-demo
💡 vue3新特性示例: 响应式API、组合式API、TodoMVC
Stars: ✭ 114 (+442.86%)
Mutual labels:  reactive
Retrofit2-Flow-Call-Adapter
A Retrofit 2 adapter for Kotlin Flows.
Stars: ✭ 41 (+95.24%)
Mutual labels:  coroutines
CoopThreads
Lightweight, platform agnostic, stackful cooperative threads library.
Stars: ✭ 18 (-14.29%)
Mutual labels:  threads
JustJava-Android
JustJava is a mock food ordering and delivery application for a coffee shop.
Stars: ✭ 59 (+180.95%)
Mutual labels:  coroutines

kit

Really cool C++ stuff, including modern async

Open-source under MIT License

Copyright (c) 2013 Grady O'Connell

async

  • Coroutines w/ YIELD(), AWAIT(), and SLEEP()
  • Channels
  • Async Sockets
  • Event Multiplexer
// MX thread 0, void future
MX[0].coro<void>([]{
    // do async stuff
    auto foo = AWAIT(bar);

    // async sleep yield
    SLEEP(chrono::milliseconds(100));
});
// socket example
MX[0].coro<void>([&]{
    for(;;)
    {
        auto client = make_shared<TCPSocket>(AWAIT(server->accept()));
        
        // coroutine per client
        MX[0].coro<void>([&, client]{
            int client_id = client_ids++;
            LOGf("client %s connected", client_id);
            try{
                for(;;)
                    AWAIT(client->send(AWAIT(client->recv())));
            }catch(const socket_exception& e){
                LOGf("client %s disconnected (%s)", client_id % e.what());
            }
        });
    }
});

reactive

signals, reactive values (signal-paired vars), and lazy evaluation

meta

JSON-compatible serializable meta-objects, property trees

freq

Timelines, alarms, animation/easing, waypoints/keyframes, interpolation

log

Logger w/ error handling, thread-safe scoped indent, silencing, and capturing

math

some math stuff to use with glm

common (kit.h)

Common stuff used by other modules, including:

  • freezable: freeze objects as immutable
  • make_unique: clone of c++14 function
  • dummy_mutex
  • ENTIRE() range macro
  • bit() and mask()
  • null_ptr_exception
  • scoped_unlock
  • thread-safe singleton
  • timed function auto-retry
  • index data structures w/ unused ID approximation
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].