Skip to content

vlanore/tinycompo

Repository files navigation

tinycompo - experimental branch

Build Status Coverage Status licence CeCILL

tinycompo is a lightweight framework to write component-based applications in C++.

How to use

tinycompo is a header-only framework. To use it, simply add tinycompo.hpp to your project and include it where necessary. The license that tinycompo uses (CeCILL-B) should be compatible with direct inclusion in most,, if not all, projects.

Note that tinycompo requires C++11. Be sure to use a C++11-compatible compiler (e.g., gcc 5) and to use the --std=c++11 compilation flag (or the flag for a more recent version like C++14).

A brief presentation

tinycompo proposes to write object-oriented programs, or parts of object-oriented programs, as component assemblies. A component assembly is a set of object instances connected together, typically by holding pointers to one another. An object in this context, because it is meant to be composed with other objects, is called a component.

Instead of instantiating objects directly, tinycompo works by declaring a model of what objects to instantiate and how to connect them together. Such a model can then be instantiated into a concrete assembly.

Advantages and drawbacks

Advantages of the tinycompo approach include:

  • Encourages composition over inheritance.
  • Provides a high-level view of application structure.
  • By decoupling assembly declaration and instantiation,

About

A lightweight header-only framework for component-based programming in C++.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published