uCalc API Version: 5.7.0-preview.1 Released: 7/30/2026
Warning
uCalc API Preview Release Notice:This preview documentation describes the intended behavior of the API. It is not fully accurate or complete.The current preview build contains incomplete features, unoptimized performance, and is subject to breaking changes.Use of the preview version in your production code is not recommended.
Product:
Class:
Provides access to the collection of all data types registered within the uCalc instance.
The DataTypes property provides access to the collection of all DataType objects registered within the current uCalc instance. It is the primary tool for runtime introspection of the engine's type system.
This collection includes all built-in types (like Double, Int32, String) as well as any custom data types you have defined using the Define method.
The returned DataTypesAccessor object behaves like a standard collection, allowing you to:
foreach loop.This is invaluable for building dynamic tools on top of uCalc, such as:
typeof, C++ RTTI): Native reflection systems inspect the types available in the entire compiled application or assembly. DataTypes is more focused and safer; it operates only within the sandboxed context of a specific uCalc instance. It reveals the types known to the parser, not the entire host application. This makes it a tailored, lightweight introspection mechanism for the domain of expression evaluation.ID: 801
using uCalcSoftware;
var uc = new uCalc();
foreach(var Item in uc.DataTypes) {
Console.WriteLine(Item.Name);
}
anytype
bool
bool
int8u
complex
double
single
int
int16
int16u
int
int32u
int64
int64u
int8
int8u
int
omnitype
pointer
sametypeas
single
size_t
string
void using uCalcSoftware; var uc = new uCalc(); foreach(var Item in uc.DataTypes) { Console.WriteLine(Item.Name); }
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
for(auto Item : uc.DataTypes()) {
cout << Item.Name() << endl;
}
}
anytype
bool
bool
int8u
complex
double
single
int
int16
int16u
int
int32u
int64
int64u
int8
int8u
int
omnitype
pointer
sametypeas
single
size_t
string
void #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; for(auto Item : uc.DataTypes()) { cout << Item.Name() << endl; } }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
For Each Item In uc.DataTypes
Console.WriteLine(Item.Name)
Next
End Sub
End Module
anytype
bool
bool
int8u
complex
double
single
int
int16
int16u
int
int32u
int64
int64u
int8
int8u
int
omnitype
pointer
sametypeas
single
size_t
string
void Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() For Each Item In uc.DataTypes Console.WriteLine(Item.Name) Next End Sub End Module