Browse our Products

Aspose.Tasks for C++ 21.11 Release Notes

All Changes

KeySummaryIssue Type
TASKSNET-10377System.OverflowException: TimeSpan overflowed because the duration is too longBug
TASKSNET-10369Fix Exception on loading the P6 XML fileBug
TASKSNET-3611Fix formula parsing exceptions when opening the specific fileBug

Special notes for C++ users


Now the CODEPORTING_CURRENT_RETTYPE macro is used as the return type of the get_Current method. Now it is just a stub that do not modify its argument type, but in one of upcoming releases, it will return a reference instead of a shared pointer copy in the collections that store reference types or strings.

Generic ‘foreach’ enumeration translation rules

Now it is avoided to pre-declare the ‘foreach’ iterator before the cycle, as it was before. New optimized code looks like this:

auto x_enumerator = y->GetEnumerator();
while (x_enumerator->MoveNext())
   auto&& x = x_enumerator->getCurrent();
   // ...

Because of upcoming changes, you should avoid iterators pre-declaration. if you have a reason not to use range-based for to iterate over collections, please use template above instead.

For detailed information, please also refer to CodePorting.Native Cs2Cpp 21.11 release notes