Asymptote is a powerful descriptive 2D and 3D vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. It provides for figures the same high-quality level of typesetting that LaTeX does for scientific text. Asymptote is a programming language as opposed to just a graphics program. It can exploit the best features of script (command-driven) and graphical user interface (GUI) methods. High-level graphics commands are implemented in the language itself, allowing them to be easily tailored to specific applications.
MetriC++ is a Sonar plugin and a "MetricsAnalytics clone" that analyzes the total quality related to your C++ code. Using this plugin, you can visualize your C++ code from different points of view, including architecture quality, design quality, code quality, test quality, and total quality. MetriC++ helps you to refactor your code and check your test coverage. It improves the maintainability, reliability, and efficiency of your project. It includes Code Analyzer Pro, CPD, RATS, Flawfinder, and cppcheck.
libcfp analyzes and parses the syntax of a user-supplied chemical formula in ASCII notation. It does not know anything about the semantics of real world physical element characteristics. But it requires no external library dependencies and uses namespace std:: only. Furthermore, it uses UnitTest++ during development to ensure consistent behavior of formula parsing.
OpenVRML is a VRML and X3D browser plug-in and C++ toolkit for incorporating VRML/X3D support into applications. It provides VRML97 and Classic VRML X3D parsers, a runtime, and an OpenGL renderer as C++ libraries. The renderer is fully separate from the runtime library so that users can also provide their own renderer. The OpenVRML browser is provided as a D-Bus service, and is embeddable in host applications using XEmbed. The distribution provides both a stand-alone host and a host that runs as a Mozilla plug-in.
Tiliae IoC container is a Spring-like IoC container in C++. It tries to mimic Spring’s XML syntax, and has most of its basic features. It includes a simple reflection library with no additional pre-compilation step (implemented as preprocessor macros and called annotations). Annotated classes can be queried and instantiated, and method calls are also possible. The Inversion-of-Control container can instantiate beans (i.e. objects) using one of its constructors (constructor dependency injection), set properties (setter dependency injection), inject one bean into another, and instantiate simple template classes. It can also instantiate std::list, std::vector, set, and map with its custom template arguments. Most simple (scalar) types are supported, such as int, double, std::string, and UTF-8 Core::String. Beans (objects) can be returned as simple pointers or std::shared_ptr pointers. Tiliae features three bean scopes (singleton, prototype, and “bean”), bean definition inheritance, custom factory objects, parent containers, the ability to import XML files, and automatic type conversions.
Common Text Transformation Library is a library of C++ classes and functions to parse and modify STL strings. CTTL substring classes may be compared, inserted, replaced, and parsed with EBNF grammars. The compiled program implements a fast, thread-safe, re-entrant recursive descent parser.
Papyrus is a 2D C++ scenegraph (canvas) library that utilizes the cairo library to perform drawing operations. Similar canvas libraries are the Gnome Canvas, Diacanvas, and the QT Canvas. Numerous canvas primitives are available, including arcs, rectangles, polylines, and line markers. An optional companion library, Papyrusmm, provides a set of Gtkmm widgets which includes viewports (a canvas display widget similar to Gtk::DrawingArea) and other UI widgets related to drawing interfaces.
The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialized messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols, and more.