Giter VIP home page Giter VIP logo

yomm11's Introduction

This library implements open multi-methods for C++11.

Salient features are:

* syntax: is relatively uncluttered. There are no limitations on the
  number of virtual arguments. Virtual and non-virtual arguments can
  be arbitrarily mixed. Virtual and multiple inheritance are
  supported.

* speed: close to a virtual function call when the hierarchies
  involved in the virtual arguments collaborate with the
  library. Calling a method that does nothing, with a single virtual
  argument in a single inheritance hierarchy is 33% slower than the
  equivalent virtual function call. The difference becomes
  unnoticeable if the functions perform a few simple maths
  operations. See tests/benchmarks.cpp.

* size: dispatch tables are constructed in terms of class groups. This
  results in a tables devoid of redundancies.

* support for "foreign" class hierarchies: the library can be used
  without modifications to existing classes, at the cost of lower
  performance. Collaborating and foreign arguments can be freely
  mixed. Performance is still quite good, see the benchmarks.

* next: a pointer to the next most specialized method is available
  inside method specializations - see examples/next.cpp.
  Alternatively, it is possible to call a specialization directly.

Documentation: http://www.yorel.be/mm/ - see also the articles on Code
Project http://tinyurl.com/m8kg2y3

Support and discussions: yomm11 on Google Groups
(https://groups.google.com/forum/#!forum/yomm11)

Author: Jean-Louis Leroy - [email protected]

yomm11's People

Contributors

jll63 avatar zauguin avatar

Watchers

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