bcParserCPP is a C++ library for parsing mathematical expressions on any operating system with compilers like Visual C++, GNU C++, and Borland C++.

One of the main features of bcParserCPP is its easy to use C++ API. It also comes with predefined functions to make your life easier. But if you want to create your custom functions or variables, you can do that too. The library supports callbacks to your own functions that you define in your source code.
Another benefit of using bcParserCPP is the optimization it provides. It eliminates constant expressions to save computing time for repeated tasks. Additionally, strings are supported in the expressions.
bcParserCPP covers common analytic and logical operators, as well as paranthesis and functions in the form of f(x,y,... N). You can refer to the list of predefined functions available in the documentation for your convenience.
Finally, the best part of bcParserCPP is that it is royalty-free and available at an affordable price. The library is distributed as source code, so it is easy to incorporate into your project. The library is also portable across platforms and compilers, so you can use it in various environments without worrying about compatibility issues.
Version 3.4:
* 09/23/2015. version 3.4: Ensure the code builds with gcc. 'typename' keyword added.
*
* 01/28/2015. version 3.3: Make code build with VS 2013.
*
* 12/11/2014. version 3.2: Special case the default IF function for lazy boolean evaluation.