Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Introduction

Welcome to Lunchbox, a C++ library for multi-threaded programming. Lunchbox was formerly known as eq::base or co::base, the foundation for the Equalizer parallel rendering framework and the Collage network library. It is intended for all application developers creating high-performance multi-threaded programs.

The API documentation can be found on eyescale.github.io. As with any open source project, the available source code, in particular the unit tests provide a reference for developing applications.

Technical questions can be posted to the Equalizer Developer Mailing List, or directly to info@equalizergraphics.com.

Commercial support, custom software development and porting services are available from Eyescale. Please contact info@eyescale.ch for further information.

Features

Lunchbox provides the following major features to facilitate the development and deployment of multi-threaded applications:

  • Operating System Abstraction: lunchbox::Atomic, lunchbox::Condition, lunchbox::DSO, @ref bitops "bit operations", lunchbox::daemonize(), (lunchbox::Clock, lunchbox::MemoryMap, lunchbox::PerThread, lunchbox::RNG, lunchbox::Thread)
  • High-Performance Threading Primitives: lunchbox::Buffer, lunchbox::LFQueue, lunchbox::LFVector, lunchbox::Monitor, lunchbox::MTQueue, lunchbox::RequestHandler, lunchbox::SpinLock, (lunchbox::Lock, lunchbox::TimedLock)
  • Utility classes: lunchbox::Any, lunchbox::Log, lunchbox::Pool, lunchbox::UnorderedIntervalSet, lunchbox::Future, lunchbox::PersistentMap, (lunchbox::ScopedMutex)
  • Detailed @ref Changelog

Building

Lunchbox is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. It requires a C++11 compiler and uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:

  • Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
  • Windows: 7 (Visual Studio 2012)
  • Mac OS X: 10.9 (Makefile, Ninja)

Building from source is as simple as:

git clone --recursive https://github.com/Eyescale/Lunchbox.git
mkdir Lunchbox/build
cd Lunchbox/build
cmake -GNinja -DCLONE_SUBPROJECTS=ON ..
ninja

About

Your toolbox, since the free lunch is over: a C++ library for multi-threaded programming

Resources

License

You can’t perform that action at this time.