14 std::cout <<
"=== qtty-cpp Demo ===" << std::endl;
15 std::cout <<
"FFI ABI Version: " <<
abi_version() <<
"\n" << std::endl;
18 std::cout <<
"1. Distance Conversion:" << std::endl;
19 Meter distance(1500.0);
20 std::cout <<
" Distance: " << distance.
value() <<
" m" << std::endl;
23 std::cout <<
" Distance: " << km.
value() <<
" km" << std::endl;
26 std::cout <<
"\n2. Using Literals:" << std::endl;
29 auto area_side = height + width;
30 std::cout <<
" Height: " << height.value() <<
" m" << std::endl;
31 std::cout <<
" Width: " << width.value() <<
" m" << std::endl;
32 std::cout <<
" Sum: " << area_side.value() <<
" m" << std::endl;
35 std::cout <<
"\n3. Velocity Calculation:" << std::endl;
36 auto car_distance = 100.0_km;
37 auto travel_time = 2.0_h;
38 auto speed = car_distance / travel_time;
39 std::cout <<
" Distance: " << car_distance.value() <<
" km" << std::endl;
40 std::cout <<
" Time: " << travel_time.value() <<
" h" << std::endl;
41 std::cout <<
" Speed: " << speed.value() <<
" km/h" << std::endl;
44 std::cout <<
"\n4. Angular Conversions:" << std::endl;
45 auto angle_deg = 180.0_deg;
47 std::cout <<
" Angle: " << angle_deg.
value() <<
" degrees" << std::endl;
48 std::cout << std::setprecision(6);
49 std::cout <<
" Angle: " << angle_rad.
value() <<
" radians" << std::endl;
52 std::cout <<
"\n5. Time Conversions:" << std::endl;
53 auto duration_seconds = 3665.0_s;
54 Hour duration_hours = duration_seconds.
to<
Hour>();
56 std::cout <<
" Duration: " << duration_seconds.
value() <<
" seconds" << std::endl;
57 std::cout << std::setprecision(4);
58 std::cout <<
" Duration: " << duration_hours.
value() <<
" hours" << std::endl;
59 std::cout << std::setprecision(2);
60 std::cout <<
" Duration: " << duration_minutes.value() <<
" minutes" << std::endl;
63 std::cout <<
"\n6. Compound Operations:" << std::endl;
65 std::cout <<
" Initial: " << total.
value() <<
" m" << std::endl;
68 std::cout <<
" After += 50m: " << total.
value() <<
" m" << std::endl;
71 std::cout <<
" After *= 2: " << total.
value() <<
" m" << std::endl;
74 std::cout << std::setprecision(2) << std::fixed;
75 std::cout <<
" After /= 3: " << total.
value() <<
" m" << std::endl;
78 std::cout <<
"\n7. Comparisons:" << std::endl;
79 auto length1 = 10.0_m;
81 std::cout <<
" " << length1.value() <<
"m > " << length2.value() <<
"m? "
82 << (length1 > length2 ?
"Yes" :
"No") << std::endl;
83 std::cout <<
" " << length1.value() <<
"m == " << length2.value() <<
"m? "
84 << (length1 == length2 ?
"Yes" :
"No") << std::endl;
87 std::cout <<
"\n8. Absolute Value and Negation:" << std::endl;
88 Meter negative(-42.5);
89 auto positive = negative.
abs();
90 auto double_negative = -negative;
91 std::cout <<
" Original: " << negative.
value() <<
" m" << std::endl;
92 std::cout <<
" Absolute: " << positive.value() <<
" m" << std::endl;
93 std::cout <<
" Negated: " << double_negative.value() <<
" m" << std::endl;
95 std::cout <<
"\n=== All examples completed successfully! ===" << std::endl;