Giter Site home page Giter Site logo

shaozhixue / sanecpplibraries Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pagghiu/sanecpplibraries

0.0 0.0 0.0 4.73 MB

Sane C++ Libraries

Home Page: https://pagghiu.github.io/SaneCppLibraries

License: MIT License

Shell 0.09% C++ 98.29% Python 0.52% C 1.01% Batchfile 0.10%

sanecpplibraries's Introduction

Sane C++

YouTube X (formerly Twitter) Follow Discord GitHub Repo stars

Sane C++ is a set of C++ platform abstraction libraries for macOS, Windows and Linux.

Sane Cpp

Principles:

✅ Fast compile times
✅ Bloat free
✅ Simple readable code
✅ Easy to integrate
⛔️ No C++ Standard Library / Exceptions / RTTI
⛔️ No third party dependencies (prefer OS API)

Visit the documentation website for more information.

Blog posts:

On the Youtube Channel you can find some videos showing some bits of the development process:

Libraries

Many libraries are in draft state, while others are slightly more usable.
Click on specific page each library to know about its status.

  • 🟥 Draft (incomplete, work in progress, proof of concept, works on basic case)
  • 🟨 MVP (minimum set of features have been implemented)
  • 🟩 Usable (a reasonable set of features has been implemented to make library useful)
  • 🟦 Complete (all planned features have been implemented)
Library Description
Algorithms 🟥 Placeholder library templated algorithms will be placed
Async 🟨 Async I/O (files, sockets, timers, processes, fs events, threads wake-up)
Build 🟥 Minimal build system where builds are described in C++
Containers 🟨 Generic containers (SC::Vector, SC::SmallVector, SC::Array etc.)
File 🟩 Synchronous Disk File I/O
File System 🟩 File System operations { exists
File System Iterator 🟩 Enumerates files and directories inside a given path
File System Watcher 🟩 Notifications {add, remove, rename, modified} for files and directories
Foundation 🟩 Primitive types, asserts, limits, Function, Span, Result, Tagged Union
Hashing 🟩 Compute MD5, SHA1 or SHA256 hashes for a stream of bytes
Http 🟥 HTTP parser, client and server
Plugin 🟥 Minimal dependency based plugin system with hot-reload
Process 🟩 Create child processes and chain them (also usable with Async library)
Reflection 🟩 Describe C++ types at compile time for serialization
Serialization Binary 🟨 Serialize to and from a binary format using Reflection
Serialization Text 🟨 Serialize to / from text formats (JSON) using Reflection
Socket 🟨 Synchronous socket networking and DNS lookup
Strings 🟩 String formatting / conversion / manipulation (ASCII / UTF8 / UTF16)
Testing 🟨 Simple testing framework used by all of the other libraries
Threading 🟥 Atomic, thread, mutex, condition variable
Time 🟨 Time handling (relative, absolute, high resolution)

Getting in touch

Alternatively I am also reading the following discords too:

Contributing

Please take some time to read the Principles and Coding Style.

After that you can read the CONTRIBUTING.md guide.

License

Sane C++ is licensed under the MIT License, see LICENSE.txt for more information.

sanecpplibraries's People

Contributors

pagghiu 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.