uCalc API Version: 2.1.3-preview.2 Released: 6/16/2026
Warning
uCalc API Preview Release Notice:The documentation describes the intended behavior of the API. The current preview build contains incomplete features, unoptimized performance, and is subject to breaking changes.
PassCount
Method
Product:
Transformer Library
Class:
Transformer
Returns the number of passes
Syntax
PassCount()
Parameters
[None]
Return
int
Integer
Remarks
This returns the number of passes, as defined with Pass().
Examples
Pass()
using uCalcSoftware;
var uc = new uCalc();
var FruitsXML =
"""
""";
var t = uc.NewTransformer();
t.Text = FruitsXML;
var Pass1 = t.Pass();
var Pass2 = t.Pass();
Pass1.Description = "Pass A";
Pass1.FromTo("Fruits", "ListOfFruits");
Pass1.FromTo(" ", "{name} ");
Pass2.Description = "Pass B";
Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *");
Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **");
t.Transform();
Console.WriteLine("All passes");
Console.WriteLine("----------");
Console.WriteLine(t.Text);
Console.WriteLine(t.Pass(0).Description);
Console.WriteLine(t.Pass(1).Description);
Console.WriteLine($"Pass count: {t.PassCount()}");
Console.WriteLine("");
t.Str(FruitsXML);
Pass2.Release();
t.Transform();
Console.WriteLine("Pass1 only (Pass2 released)");
Console.WriteLine("---------------------------");
Console.WriteLine(t.Text);
All passes
----------
<ListOfFruits>
<Fruit>Apple *</Fruit>
<Fruit>Banana **</Fruit>
<Fruit>Orange *</Fruit>
<Fruit>Grapes **</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango *</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon **</Fruit>
</ListOfFruits>
Pass A
Pass B
Pass count: 2
Pass1 only (Pass2 released)
---------------------------
<ListOfFruits>
<Fruit>Apple</Fruit>
<Fruit>Banana</Fruit>
<Fruit>Orange</Fruit>
<Fruit>Grapes</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon</Fruit>
</ListOfFruits> using uCalcSoftware; var uc = new uCalc(); var FruitsXML = """ <Fruits> <Fruit CommonName='Apple' ScientificName='Malus domestica' /> <Fruit CommonName='Banana' ScientificName='Musa acuminata' /> <Fruit CommonName='Orange' ScientificName='Citrus × sinensis' /> <Fruit CommonName='Grapes' ScientificName='Vitis vinifera' /> <Fruit CommonName='Strawberry' ScientificName='Fragaria × ananassa' /> <Fruit CommonName='Pineapple' ScientificName='Ananas comosus' /> <Fruit CommonName='Mango' ScientificName='Mangifera indica' /> <Fruit CommonName='Blueberry' ScientificName='Vaccinium corymbosum' /> <Fruit CommonName='Rambutan' ScientificName='Nephelium lappaceum' /> <Fruit CommonName='Salak (Snake Fruit)' ScientificName='Salacca zalacca' /> <Fruit CommonName='Jabuticaba' ScientificName='Plinia cauliflora' /> <Fruit CommonName='Watermelon' ScientificName='Citrullus lanatus' /> </Fruits> """; var t = uc.NewTransformer(); t.Text = FruitsXML; var Pass1 = t.Pass(); var Pass2 = t.Pass(); Pass1.Description = "Pass A"; Pass1.FromTo("Fruits", "ListOfFruits"); Pass1.FromTo("<Fruit CommonName={@str:name} ScientificName={@str:sci_name} />", "<Fruit>{name}</Fruit>"); Pass2.Description = "Pass B"; Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *"); Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **"); t.Transform(); Console.WriteLine("All passes"); Console.WriteLine("----------"); Console.WriteLine(t.Text); Console.WriteLine(t.Pass(0).Description); Console.WriteLine(t.Pass(1).Description); Console.WriteLine($"Pass count: {t.PassCount()}"); Console.WriteLine(""); t.Str(FruitsXML); Pass2.Release(); t.Transform(); Console.WriteLine("Pass1 only (Pass2 released)"); Console.WriteLine("---------------------------"); Console.WriteLine(t.Text);
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
auto FruitsXML =
R"(
)";
auto t = uc.NewTransformer();
t.Text(FruitsXML);
auto Pass1 = t.Pass();
auto Pass2 = t.Pass();
Pass1.Description("Pass A");
Pass1.FromTo("Fruits", "ListOfFruits");
Pass1.FromTo(" ", "{name} ");
Pass2.Description("Pass B");
Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *");
Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **");
t.Transform();
cout << "All passes" << endl;
cout << "----------" << endl;
cout << t.Text() << endl;
cout << t.Pass(0).Description() << endl;
cout << t.Pass(1).Description() << endl;
cout << "Pass count: " << t.PassCount() << endl;
cout << "" << endl;
t.Str(FruitsXML);
Pass2.Release();
t.Transform();
cout << "Pass1 only (Pass2 released)" << endl;
cout << "---------------------------" << endl;
cout << t.Text() << endl;
}
All passes
----------
<ListOfFruits>
<Fruit>Apple *</Fruit>
<Fruit>Banana **</Fruit>
<Fruit>Orange *</Fruit>
<Fruit>Grapes **</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango *</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon **</Fruit>
</ListOfFruits>
Pass A
Pass B
Pass count: 2
Pass1 only (Pass2 released)
---------------------------
<ListOfFruits>
<Fruit>Apple</Fruit>
<Fruit>Banana</Fruit>
<Fruit>Orange</Fruit>
<Fruit>Grapes</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon</Fruit>
</ListOfFruits> #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; auto FruitsXML = R"( <Fruits> <Fruit CommonName='Apple' ScientificName='Malus domestica' /> <Fruit CommonName='Banana' ScientificName='Musa acuminata' /> <Fruit CommonName='Orange' ScientificName='Citrus × sinensis' /> <Fruit CommonName='Grapes' ScientificName='Vitis vinifera' /> <Fruit CommonName='Strawberry' ScientificName='Fragaria × ananassa' /> <Fruit CommonName='Pineapple' ScientificName='Ananas comosus' /> <Fruit CommonName='Mango' ScientificName='Mangifera indica' /> <Fruit CommonName='Blueberry' ScientificName='Vaccinium corymbosum' /> <Fruit CommonName='Rambutan' ScientificName='Nephelium lappaceum' /> <Fruit CommonName='Salak (Snake Fruit)' ScientificName='Salacca zalacca' /> <Fruit CommonName='Jabuticaba' ScientificName='Plinia cauliflora' /> <Fruit CommonName='Watermelon' ScientificName='Citrullus lanatus' /> </Fruits> )"; auto t = uc.NewTransformer(); t.Text(FruitsXML); auto Pass1 = t.Pass(); auto Pass2 = t.Pass(); Pass1.Description("Pass A"); Pass1.FromTo("Fruits", "ListOfFruits"); Pass1.FromTo("<Fruit CommonName={@str:name} ScientificName={@str:sci_name} />", "<Fruit>{name}</Fruit>"); Pass2.Description("Pass B"); Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *"); Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **"); t.Transform(); cout << "All passes" << endl; cout << "----------" << endl; cout << t.Text() << endl; cout << t.Pass(0).Description() << endl; cout << t.Pass(1).Description() << endl; cout << "Pass count: " << t.PassCount() << endl; cout << "" << endl; t.Str(FruitsXML); Pass2.Release(); t.Transform(); cout << "Pass1 only (Pass2 released)" << endl; cout << "---------------------------" << endl; cout << t.Text() << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Dim FruitsXML =
"
"
Dim t = uc.NewTransformer()
t.Text = FruitsXML
Dim Pass1 = t.Pass()
Dim Pass2 = t.Pass()
Pass1.Description = "Pass A"
Pass1.FromTo("Fruits", "ListOfFruits")
Pass1.FromTo(" ", "{name} ")
Pass2.Description = "Pass B"
Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *")
Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **")
t.Transform()
Console.WriteLine("All passes")
Console.WriteLine("----------")
Console.WriteLine(t.Text)
Console.WriteLine(t.Pass(0).Description)
Console.WriteLine(t.Pass(1).Description)
Console.WriteLine($"Pass count: {t.PassCount()}")
Console.WriteLine("")
t.Str(FruitsXML)
Pass2.Release()
t.Transform()
Console.WriteLine("Pass1 only (Pass2 released)")
Console.WriteLine("---------------------------")
Console.WriteLine(t.Text)
End Sub
End Module
All passes
----------
<ListOfFruits>
<Fruit>Apple *</Fruit>
<Fruit>Banana **</Fruit>
<Fruit>Orange *</Fruit>
<Fruit>Grapes **</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango *</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon **</Fruit>
</ListOfFruits>
Pass A
Pass B
Pass count: 2
Pass1 only (Pass2 released)
---------------------------
<ListOfFruits>
<Fruit>Apple</Fruit>
<Fruit>Banana</Fruit>
<Fruit>Orange</Fruit>
<Fruit>Grapes</Fruit>
<Fruit>Strawberry</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Mango</Fruit>
<Fruit>Blueberry</Fruit>
<Fruit>Rambutan</Fruit>
<Fruit>Salak (Snake Fruit)</Fruit>
<Fruit>Jabuticaba</Fruit>
<Fruit>Watermelon</Fruit>
</ListOfFruits> Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() Dim FruitsXML = " <Fruits> <Fruit CommonName='Apple' ScientificName='Malus domestica' /> <Fruit CommonName='Banana' ScientificName='Musa acuminata' /> <Fruit CommonName='Orange' ScientificName='Citrus × sinensis' /> <Fruit CommonName='Grapes' ScientificName='Vitis vinifera' /> <Fruit CommonName='Strawberry' ScientificName='Fragaria × ananassa' /> <Fruit CommonName='Pineapple' ScientificName='Ananas comosus' /> <Fruit CommonName='Mango' ScientificName='Mangifera indica' /> <Fruit CommonName='Blueberry' ScientificName='Vaccinium corymbosum' /> <Fruit CommonName='Rambutan' ScientificName='Nephelium lappaceum' /> <Fruit CommonName='Salak (Snake Fruit)' ScientificName='Salacca zalacca' /> <Fruit CommonName='Jabuticaba' ScientificName='Plinia cauliflora' /> <Fruit CommonName='Watermelon' ScientificName='Citrullus lanatus' /> </Fruits> " Dim t = uc.NewTransformer() t.Text = FruitsXML Dim Pass1 = t.Pass() Dim Pass2 = t.Pass() Pass1.Description = "Pass A" Pass1.FromTo("Fruits", "ListOfFruits") Pass1.FromTo("<Fruit CommonName={@str:name} ScientificName={@str:sci_name} />", "<Fruit>{name}</Fruit>") Pass2.Description = "Pass B" Pass2.FromTo("{Fruit: Apple | Orange | Mango }", "{Fruit} *") Pass2.FromTo("{Fruit: Banana | Grapes | Watermelon }", "{Fruit} **") t.Transform() Console.WriteLine("All passes") Console.WriteLine("----------") Console.WriteLine(t.Text) Console.WriteLine(t.Pass(0).Description) Console.WriteLine(t.Pass(1).Description) Console.WriteLine($"Pass count: {t.PassCount()}") Console.WriteLine("") t.Str(FruitsXML) Pass2.Release() t.Transform() Console.WriteLine("Pass1 only (Pass2 released)") Console.WriteLine("---------------------------") Console.WriteLine(t.Text) End Sub End Module