Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.

Overview
Last update: Novmber 16, 2005

Directions:

To use Loki, simply extract the files from the archive, 
give your compiler access to their include path:

- if you have a standard conforming compiler use "loki/include/loki" 
  or "loki/include" for "#include <loki/HeaderFile.h>" usage

- if you have a non-conforming compiler use "loki/include/noncc/loki" 
  or "loki/include/noncc" for "#include <loki/HeaderFile.h>" usage. 
  The noncc files are declared as 'deprecated' and will be removed in
  future. They are also not updated with the new features of Loki 
  and bugfixes (unless YOU do it).


If you use the small object allocator directly or indirectly 
(through the Functor class) you must add src/SmallObj.cpp to your 
project/makefile.

If you use Singletons with longevity you must add 
src/Singleton.cpp to your project/makefile.

If you use OrderedStatic.h with you must add 
src/OrderedSataic.cpp to your project/makefile.

Or use the library generated by make.msvc.bat, make.mingw.bat,
or make.


Compatibility:

Supported Compilers:
Gcc v3.4
Gcc v4.0
Gcc v4.1
Microsoft Visual C++ v7.1
Microsoft Visual C++ v8.0

by special noncc files:
Borland C++ Builder v6.0
Microsoft Visual C++ v6.0
Microsoft Visual C++ v7.0
see also readme.txt files


Mostly Supported:
CodeWarrior 6.0

CodeWarrior has a problem with the Conversion template (see TypeManip.h) 
and, though it compiles it, it doesn't provide correct results. 
Consequently, the DerivedToFront algorithm in Typelist.h does not function. 
This affects the static dispatcher in Multimethods.h. As a fix, you must 
order the types (putting the most derived ones in the front) when providing 
the typelist argument to StaticDispatcher.



More info:

Andrei's page  : http://erdani.org 
Soureforge page: http://sourceforge.net/projects/loki-lib/
Issues
  • What does the ATEXIT_FIXED macro mean?

    What does the ATEXIT_FIXED macro mean?

    Hi, I was following the book by Andrei Alexandrescu. While reading about the Phoenix Singleton Pattern, I noticed the recommendation of the macro ATEXIT_FIXED, but I'm not able to find what this macro means, or where it is defined? Is it defined by the compiler?

    Any inputs regarding this would be really helpful,

    Thanks!

    opened by rishitc 0
Implementations of Multiple View Geometry in Computer Vision and some extended algorithms.

MVGPlus Implementations of Multiple View Geometry in Computer Vision and some extended algorithms. Implementations Template-based RANSAC 2D Line estim

Chenyu 6 Apr 7, 2022
Flexible Collision Library

FCL -- The Flexible Collision Library Linux / OS X Windows Coverage FCL is a library for performing three types of proximity queries on a pair of geom

null 963 Jul 28, 2022
the implementations of 'Parzen-Window Based Normalized Mutual Information for Medical Image Registration'

ImageRegistration_NormalisedMutualInformation 代码复现论文《Parzen-Window Based Normalized Mutual Information for Medical Image Registration》 利用归一化互信息对医学图像进行

gtc1072 3 Apr 4, 2022
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 20k Aug 5, 2022
A flexible, high-performance serving system for machine learning models

XGBoost Serving This is a fork of TensorFlow Serving, extended with the support for XGBoost, alphaFM and alphaFM_softmax frameworks. For more informat

iQIYI 120 Aug 1, 2022
BayesOpt: A toolbox for bayesian optimization, experimental design and stochastic bandits.

BayesOpt: A Bayesian optimization library BayesOpt is an efficient implementation of the Bayesian optimization methodology for nonlinear optimization,

Ruben Martinez-Cantin 323 Aug 9, 2022
The dgSPARSE Library (Deep Graph Sparse Library) is a high performance library for sparse kernel acceleration on GPUs based on CUDA.

dgSPARSE Library Introdution The dgSPARSE Library (Deep Graph Sparse Library) is a high performance library for sparse kernel acceleration on GPUs bas

dgSPARSE 53 Aug 9, 2022
The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control.

Robotics Library The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control. It co

Robotics Library 593 Aug 7, 2022
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow

eXtreme Gradient Boosting Community | Documentation | Resources | Contributors | Release Notes XGBoost is an optimized distributed gradient boosting l

Distributed (Deep) Machine Learning Community 23k Aug 6, 2022
ORB-SLAM3 is the first real-time SLAM library able to perform Visual, Visual-Inertial and Multi-Map SLAM with monocular, stereo and RGB-D cameras, using pin-hole and fisheye lens models.

Just to test for my research, and I add coordinate transformation to evaluate the ORB_SLAM3. Only applied in research, and respect the authors' all work.

B.X.W 5 Jul 11, 2022
C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library

Build Status Travis CI VM: Linux x64: Raspberry Pi 3: Jetson TX2: Backstory I set to build ccv with a minimalism inspiration. That was back in 2010, o

Liu Liu 6.9k Aug 10, 2022
Edge ML Library - High-performance Compute Library for On-device Machine Learning Inference

Edge ML Library (EMLL) offers optimized basic routines like general matrix multiplications (GEMM) and quantizations, to speed up machine learning (ML) inference on ARM-based devices. EMLL supports fp32, fp16 and int8 data types. EMLL accelerates on-device NMT, ASR and OCR engines of Youdao, Inc.

NetEase Youdao 176 Jul 21, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.7k Aug 2, 2022
Radeon Rays is ray intersection acceleration library for hardware and software multiplatforms using CPU and GPU

RadeonRays 4.1 Summary RadeonRays is a ray intersection acceleration library. AMD developed RadeonRays to help developers make the most of GPU and to

GPUOpen Libraries & SDKs 965 Aug 8, 2022
Using PLT trampolines to provide a BLAS and LAPACK demuxing library.

libblastrampoline All problems in computer science can be solved by another level of indirection Using PLT trampolines to provide a BLAS and LAPACK de

Elliot Saba 44 May 13, 2022
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Build Type Linux MacOS Windows Build Status OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facia

null 24.6k Aug 2, 2022
A lightweight C++ machine learning library for embedded electronics and robotics.

Fido Fido is an lightweight, highly modular C++ machine learning library for embedded electronics and robotics. Fido is especially suited for robotic

The Fido Project 412 Jun 25, 2022
ParaMonte: Plain Powerful Parallel Monte Carlo and MCMC Library for Python, MATLAB, Fortran, C++, C.

Overview | Installation | Dependencies | Parallelism | Examples | Acknowledgments | License | Authors ParaMonte: Plain Powerful Parallel Monte Carlo L

Computational Data Science Lab 171 Aug 1, 2022
ThunderSVM: A Fast SVM Library on GPUs and CPUs

What's new We have recently released ThunderGBM, a fast GBDT and Random Forest library on GPUs. add scikit-learn interface, see here Overview The miss

Xtra Computing Group 1.4k Jul 25, 2022