U++ is BSD licensed C++ cross-platform rapid application development framework focused on programmers productivity without sacrificing runtime performance.
http://www.ultimatepp.org
New features for release 2015.1 (rev 8227)
Core
* U++ abandoned "default pick" semantics for containers. The transfer semantics now has to be specified explicitly, either as 'pick' or 'clone' (this is enforced in C++11 mode, in legacy mode old behaviour is maintained and pick/clone are optional).
* New containers, based on fast-insertion arrays: InVector, InArray, SortedIndex, SortedVectorMap, SortedArrayMap. SortedIndex, SortedVectorMap and SortedArrayMap provide binary searches, while maintaining random access to the array, with performance comparable to binary tree based containers (e.g. std::map).
* New Core/POP3 package - support for retrieving emails form POP3 servers.
* Initial round of C++11 support (lambda callbacks, minor fixes)
* A set of small utility functions findarg, decode, min/max now supporting more arguments. SplitTo and Merge for splitting/merging strings.
* InFilterStream, OutFilterStream classes that can provide some sort of processing (e.g. compression) to regular streams.
* New Date related functions EasterDay, GetMonths, GetWeek, GetWeekDate.
* MIME / fileextension mapping functions FileExtToMIME and MIMEToFileExt.
* Some ARMv7 related optimization (unaligned access, byte swaps).
* SpinLock class.
* Stream optimization methods GetPtr, PutPtr, GetSzPtr provide safe access to Stream internal buffer.
* String/WString::Find(const String&) significantly speed optimized.
* Value invalid casts now throwing exception ValueTypeError instead of panic.
* WebSocket class.
* [Stable]SortBy[Keys|Values] functions for sorting VectorMap, ArrayMap.
* plugin/lz4 - adapted fast compression library
* plugin/lzma - adapted high ratio compression library
* plugin/glew - popular OpenGL utility library adapted as package
GUI programming & graphics
* Gtk backend (U++ now using Gtk for host platform interface)
* EditDateDlg, EditNumber simple function for entering single value (equivalent to EditText)
* ArrayCtrl new methods to add/retrieve ValueMaps and ValueArrays, new CreateCtrl<T> method.
* LineEdit heavily optimized to be able to work with huge files (>100MB).
* LineEdit now able to work with rectangular selections.
* DDARasterizer and SDraw are new tools providing Draw with minimal host platform support (only two operations, paint Image and paint colored rectangle, are required).
* Image rescaling now supports varios filters, like bicubic or lanczos.
* AttrText is now rich comparable Value: it is now possible to sort ArrayCtrl by AttrText filled columns.
* GLDraw - Draw implemented using OpenGL (ES).
* SVG parser (to Painter interface).
* plugin/ppm - trivial image format support.
* RichText/RichEdit header/footer support, QTF now using BASE64 for binary data (instead of 7-bit raw encoding).
* Turtle is another web framework of U++ - this one allows to convert existing GUI applications into Web application: simple javascript terminal connects to server where GUI application runs.
* ScatterDraw/ScatterCtrl - Added legend table, linked scroll controls, units, data fitting to equations, run time user equations, zoom window, improved text drawing, huge datasets handling and key/mouse handling.
* X11 backend: Multimonitor support, removed flickering when opening window
* Error[OK|Cancel|Yes|No...] - new Prompt variants with Error decorations
Sql
* New variants of Insert/Select/Update commands (now roughly supporting all important combinations of SQL standard).
* SqlSetFrom functions creates a SqlSet from any container.
* S_ structures refactored, now provide an improved interface with better introspection.
* Sql console redesigned.
TheIDE
* Win64 PDB (Visual C++ compiled code) debugger.
* Find/replace GUI refactored, added support for incremental finds, added regexp support.
* Block replace now has grep-like feature to remove matching/non-matching lines (instead of replacing matches)
* Case insensitive replace now has "mimic case" option (mimics the case of first and next characters, so replacing "vector" -> "array", when match is "Vector", result is "Array").
* Compilation errors now parsed and displayed nicely.
* Assist++ context goto (Alt+J) now supports local variables (goes to declaration).
* Layout/Icon designers now have find Search filter.
* Ide now displays long numbers with thousands separators.
* Syntax highlighting refactored, added highlighting of HTML, XML, .log files, .xsd files, .diff files, C++11 keywords highlighted, TODO and FIXME comments highlighted
* Directory comparison tool.
* Simple Json/XML viewers.
* Comment/Uncomment block.
* Selected identifier is now highlighted in all the text.
* Current line is highlighted with faint lines.
* Precompiled headers support for release mode (BLITZ still far better for debug builds).
* Insert file path (plain or as CString) function.
* Layout code generator now can place double-quotes around elements, generate handlers for buttons.
* Layout designer now can sort widgets based on their graphical position.
* Code navigator is completely redesigned.
* Icon designer supports various rescaling filters and new icon smoothing function.
* Ide now has line duplicate feature (CTRL+D).