Coder Social home page Coder Social logo

15831944 / alib-class-library Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexworx/alib-class-library

0.0 0.0 0.0 3.22 MB

A modern C++ 11 general purpose class library. Featuring boxing, strings, regular expressions, logging and much more.

License: Boost Software License 1.0

Shell 1.55% C++ 95.44% Python 0.52% C 0.01% Objective-C++ 0.02% CMake 2.47%

alib-class-library's Introduction

ALib Homepage

Please find all about the ALib For C++, including

  • Programmer's Manuals
  • Reference Documentation
  • Tutorials
  • Project setup guide
  • Version History / Change log

at the ALib Homepage.

Abstract

ALib is a general purpose, use-case agnostic, platform independent, low-level C++ class library.

Its mission is to provide foundational concepts, types and idioms relevant to any C++ project. As of today, ALib consists of 16 modules, each addressing different topics. A subset of the available modules can be selectively included in a custom library build.

Main Characteristics And Design Goals

  • ALib is free software.
  • The minimum C++ language standard is C++ 11, selective support for more modern C++ versions included.
  • Modularization: Possible selective use of only parts of the library.
  • Extensive documentation.
  • Least intrusive: Designed to keep user code as independent from ALib types and idioms as possible.
  • Developed and steadily tested under GNU/Linux, Windows OS and Mac OS with compilers GNU, Clang and Microsoft Visual C++.

Library Dependencies

ALib compiles as is, hence it is not dependent on any 3rd-party library. Optional dependencies exist. For example if boost is available, ALib Strings are using its regex search.
In contrast, ALib provides optional compatibility headers for 3rd-party libraries (e.g. QT Class Library), which for example provide adoptions of ALib type-traits for QT-types.

Documentation

The following documentation is provided.

  1. Reference Documentation covering 100% of types, members, functions, namespaces, macros and other C++ entities.

  2. Programmer's Manuals are available for (almost) each module of the library.
    Together more than 450 pages of well structured in-depth discussion of library features as well as step by step tutorials are available.

  3. A detailed version history is given.

  4. A separated General Manual is available describing the library structure, project setup, bootstrapping, etc.

  5. Reference documentation to C++ compiler symbols and macros.

  6. Tutorial and reference documentation's code samples are implemented as unit tests and are integrated as source and output text snippets into the documentation.

  7. For module ALox, a separated website exists. This includes plenty of ALox-specific documentation, a lengthy tutorial, definitions of configuration/environment variables and more.

IDE / Build System Setup

The C++ Version got tested on the following platform combinations:

The Programmer's Manual contains an extensive chapter about how to compile and use ALib in your C++ environment.

C# and Java Versions Of ALib

Parts of ALib have sibling incarnations in programming languages C# and JAVA. Historically, ALib aimed to be a cross platform/cross language library. This goal was (mostly) dropped in favour to be able to independently develop ALib for C++.

ALib for C# and ALib for Java are included in and distributed with the cross platform ALox Logging Library.

License

ALib is free software, can be downloaded at Github and sources are published under Boost Software License

Contributions

We would be happy, if the community started to support this library and are willing to receive contributions and, if accepted, to update the code accordingly.
Note that for legal reasons, we hereby explicitly refuse and reject code (or ideas for code) that are not explicitly provided under the Boost Software License. Please do not even contact us with your ideas/code in that case.

Thanks

Our thanks go to all supporters that did and do help realizing this project. Furthermore to just all of these millions of supporters of free software, including:

Special thanks also to C. Darwin, who created life on earth hundreds of millions of years ago, until he - when things became too crazy - disappeared in 1882.

More Information...

Please visit the ALib Homepage!

alib-class-library's People

Contributors

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