12 projects tagged "c++11"
ChaiScript is an embedded scripting language designed from the ground up to directly target C++ and take advantage of modern C++ development techniques. Being a native C++ application, it has some advantages over existing embedded scripting languages. It uses a header-only approach, which makes it easy to integrate with existing projects. It maintains type safety between your C++ application and user scripts. It supports a variety of C++ techniques including callbacks, overloaded functions, class methods, and STL containers.
Metacza is a language and its compiler which produces output in the C++ Meta Template Language. Its concise syntax makes Meta Template Programming much easier. Metacza allows you to write programs using boost::mpl, and to produce C++ header files that can be used on their own. Programming without boost::mpl is also supported. Metacza is a higher order language with closures, let, and lambda.
LIME is a dynamic programming language with a LISP-like syntax. It features partial function application, eager and lazy evaluation, call-by-value and call-by-reference, macros, reading/writing LIME code as data, a standard library including infinite streams, and an interactive mode with auto-indentation.
libKISSlog is a trivial lightweight C++ template library designed and written according to the KISS (Keep It Simple and Straightforward) principle. It leans heavily on STL for keeping its implementation as simple as its usage, and tries to provide C++ developers with a lightweight, paradigm-pure, and flexible alternative to logging libraries which use design and/or implementation decisions which at least the author of libKISSlog believes to be questionable. Its easiest to explain why libKISSlog would be suitable for your needs by listing the things which libKISSlog does not choose to use or do: no singletons or other forms of mutable global state, no macros, no attempt to fit the Java runtime everything model onto a C++ library, no attempt to be a Java-style (bloated) framework, no attempt to make the choice for you of whether you need thread safety, and no compromise on simplicity in order to facilitate questionable inner-loop logging practices.
libjmmcg is a basic, low-level library with pretensions to implementing features above and beyond (but not necessarily better than!) those implemented within the Standard C++ Library and the Boost Library. It features a library for multi-core or multi-chip SMP parallelism, a suite of hashing algorithms, functions for raising numbers to integer powers, a generic factory wrapper and a generic, multi-threaded, read-only cache (which uses PPD), arguably the world's worst sorting technique, trace output, exceptions that have the file, line, revision, function, and argument details, string utilities, logging, simple command line processing, and much more.
cipra is a simple, TAP-compatible Unit Testing Framework for C++. It's written in 100% standard C++11 and is only a couple of header files, making it easy to include in your C++11 project. TAP, the Test Anything Protocol, is a standard output format for software unit test frameworks which was originally designed for Perl, but can serve other languages. It has a rich number of tools ("harnesses") which parse TAP-formatted output and do useful things with it. TAP, however, is equally human-readable. The name cipra (pronounced /ˈʃi.pɾaː/ "SHEE-prah") comes from the lojban phrase "lo cipra", which means "the test". It is properly written with an initial minuscule "c", even when at the start of a sentence.