Documentation

    Table of Content
    • CodePorting.Native Product Family
      • CodePorting.Native Cs2Cpp
        • Getting Started
          • Product Overview
          • Installation
          • Licensing
          • How to use CodePorting.Native Cs2Cpp
            • How to Use Command line to port and build Projects
            • How to Use GUI to port and build Projects
        • Developer Guide
          • Porting Simple C# Projects
            • Porting Simple Console Application
            • Porting Simple Library
            • Porting Simple NUnit Test
          • Porting Dependent C# Projects
            • Porting Dependent Console Application
            • Porting Dependent Library
            • Porting Dependent NUnit Test
          • Porting Complex C# Projects
            • How to Convert Complex C# Console Application to C++
            • How to Convert Complex C# Library to C++
            • How to Convert Complex C# NUnit Test to C++
          • What Converts to What
            • Abstract Classes
            • Auto Properties
            • Break Statements
            • Class Constructors
            • Continue Statements
            • Delegates
            • Do While Statemetns
            • Enums TypeCast
            • Enums
            • Events
            • Exceptions
            • Expected Exceptions
            • Finalizers
            • For Statements
            • ForEach Statements
            • Generic Classes
            • Generic Delegates
            • Generic Interfaces
            • Generic Methods
            • Generic Structs
            • If Statements
            • Indexers
            • Lambda Expressions
            • Methods
            • Nested Classes
            • Properties
            • Return Statements
            • Simple Class
            • Simple Interface
            • Simple Struct
            • Simple Test
            • Standard TypeCast
            • Static Class
            • Static Constructor
            • Static-Methods
            • Static Properties
            • Switch Statements
            • Test with Setup Methods
            • Throw Statements
            • Try Catch Finally Statements
            • Try Catch Statements
            • Try Finally Statements
            • Var Expressions
            • Virtual Methods
            • While Statements
          • CodePorting.Native Cs2Cpp Attributes
          • CodePorting.Native Cs2Cpp Configuration File
            • CodePorting.Native Cs2Cpp Configuration File Structure
            • Attributes in Configuration file
            • Configuration file Nodes
            • Configuration file Options
          • Memory Management Model
            • Using aliasing constructor to create a smart pointer
          • Cmake Support
          • Limitations and Bugs
            • Porter Limitations and Bugs
            • Library Limitations and Bugs
            • Cpp Code Injection
        • Release Notes
          • 2020
            • CodePorting.Native Cs2Cpp 20.11
            • CodePorting.Native Cs2Cpp 20.12
            • CodePorting.Native Cs2Cpp 20.10
            • CodePorting.Native Cs2Cpp 20.9
            • CodePorting.Native Cs2Cpp 20.8
            • CodePorting.Native Cs2Cpp 20.7
            • CodePorting.Native Cs2Cpp 20.6
            • CodePorting.Native Cs2Cpp 20.5
            • CodePorting.Native Cs2Cpp 20.4
            • CodePorting.Native Cs2Cpp 20.3
            • CodePorting.Native Cs2Cpp 20.2
            • CodePorting.Native Cs2Cpp 20.1
          • 2021
            • CodePorting.Native Cs2Cpp 21.1
          • 2018
            • CodePorting.Native Cs2Cpp 18.9
            • CodePorting.Native Cs2Cpp 18.9.1
            • CodePorting.Native Cs2Cpp 18.10
            • CodePorting.Native Cs2Cpp 18.11
            • CodePorting.Native Cs2Cpp 18.12
          • 2019
            • CodePorting.Native Cs2Cpp 19.1
            • CodePorting.Native Cs2Cpp 19.2
            • CodePorting.Native Cs2Cpp 19.3
            • CodePorting.Native Cs2Cpp 19.4
            • CodePorting.Native Cs2Cpp 19.4.1
            • CodePorting.Native Cs2Cpp 19.5
            • CodePorting.Native Cs2Cpp 19.6
            • CodePorting.Native Cs2Cpp 19.7
            • CodePorting.Native Cs2Cpp 19.8
            • CodePorting.Native Cs2Cpp 19.9
            • CodePorting.Native Cs2Cpp 19.10
            • CodePorting.Native Cs2Cpp 19.11
            • CodePorting.Native Cs2Cpp 19.12

    What's on this Page

      • Major Features
      • Minor fixes
      • Full List of Issues Covering all Changes in this Release
      • Public API and Backward Incompatible Changes
    1. Home
    2. CodePorting.Native Product Family
    3. CodePorting.Native Cs2Cpp
    4. Release Notes
    5. 2019
    6. CodePorting.Native Cs2Cpp 19.5

    Major Features

    1. generate_enum_descriptions porter option was introduced.
    2. TestCaseData NUnit class was supported by porter.

    Minor fixes

    1. Bitwise operators were provided for some enums from the library.
    2. Parsing of numeric enum values was supported by Enum::Parse() methods family.
    3. Error was fixed when writing zero length string to XmlTextWriter.
    4. Operator overload lookup was fixed in porter for some cases.
    5. Conversion from user class to nullable wrapper was fixed in assignment operator.
    6. XmlDocument::CreateAttribute was fixed for the case with XML namespace passed.
    7. Remaining references to boost.regex were removed from the library.
    8. Some code smell issues reported by static analyser were fixed.
    9. Enum::GetName() was fixed for boxed flag enum values.
    10. Some clang warnings were fixed in ported code and library headers.
    11. Region::Intersect() method was fixed for the case of two similar regions.
    12. OutOfMemory exception was fixed when using PathGradientBrush.
    13. Assertion fault crash was fixed when drawing empty GraphicsPath with customized pen.
    14. Some Skia internals were exposed for internal use only.
    15. Porting of Assert.DoesNotThrow() was fixed.
    16. Some cases of regex matching against empty string were fixed.

    Please consult respective sections of our wiki for more information.

    Full List of Issues Covering all Changes in this Release

    KeySummaryCategory
    PDFCPP-938Port Aspose.Foundation.Tests projectEnhancement
    PDFCPP-954Fix XmlDocument::CreateAttribute with xml namespaceEnhancement
    CSPORTCPP-2639Remove unused boost.regex from cpplibs, asposecpplib and boost build scriptsEnhancement
    PDFCPP-953Fix saving document in docx formatEnhancement
    CSPORTCPP-2451Fix clang warningsEnhancement
    SLIDESCPP-1694Fix Region::Intersect operation of two similar regionsEnhancement
    SLIDESCPP-1695Fix OutOfMemory exception when using PathGradientBrushEnhancement
    WORDSCPP-638Add support for porting TestCaseDataEnhancement
    PDFCPP-959Fix drawing empty path with customized penEnhancement
    WORDSCPP-455Manually implement Rendering PAL classes on SkiaEnhancement
    TASKSCPP-1121Found error in macro ASPOSE_GTEST_TEST_THROW_ that cause compile errorEnhancement
    PDFCPP-965fix asposecpplib regex matching empty stringEnhancement
    TASKSCPP-1108Porter generate invalid code while casting user-defined class to nullable oneBug

    Public API and Backward Incompatible Changes

    1. Stub members were added into X509Certificate2 and ProcessStartInfo classes.
    2. A stub was added for HttpWebResponse::GetResponseHeader method.