Documentation

    Table of Content
    • CodePorting.Translator Product Family
      • CodePorting.Translator Cs2Cpp
        • Getting Started
          • Product Overview
          • Installation
          • Licensing
          • How to use CodePorting.Translator Cs2Cpp
            • How to Use Command line to translate and build Projects
            • How to Use GUI to translate and build Projects
        • Developer Guide
          • Translating Simple C# Projects
            • Translating Simple Console Application
            • Translating Simple Library
            • Translating Simple NUnit Test
          • Translating Dependent C# Projects
            • Translating Dependent Console Application
            • Translating Dependent Library
            • Translating Dependent NUnit Test
          • Qt support
          • Translating 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
            • AbstractClasses
            • BreakStatements
            • ClassAutoProperties
            • ClassConstructors
            • ClassEvents
            • ClassFinalizers
            • ClassGenericMethods
            • ClassIndexers
            • ClassMethods
            • ClassProperties
            • ClassStaticConstructor
            • ClassStaticMethods
            • ClassStaticProperties
            • ClassVirtualMethods
            • ContinueStatements
            • Delegates
            • DoWhileStatements
            • Enums
            • EnumTypeCast
            • Exceptions
            • ExpectedException
            • ForeachStatements
            • ForeachStatementsStd
            • ForStatements
            • GenericClasses
            • GenericDelegates
            • GenericInterfaces
            • GenericStructs
            • IfStatements
            • LambdaExpressions
            • NestedClasses
            • ReturnStatements
            • SimpleClass
            • SimpleInterface
            • SimpleStruct
            • SimpleTest
            • StandardTypeCast
            • StaticClass
            • SwitchStatements
            • TestWithSetupMethods
            • ThrowStatements
            • TryCatchFinallyStatements
            • TryCatchStatements
            • TryFinallyStatements
            • VarExpressions
            • WhileStatements
          • CodePorting Translator Cs2Cpp Attributes
          • CodePorting Translator Cs2Cpp Configuration File
            • CodePorting.Translator Cs2Cpp Configuration File Structure
            • Attributes in Configuration file
            • Configuration file Nodes
            • Configuration file Options
          • Memory Management Model
            • Memory Management Model Description
            • Using aliasing constructor to create a smart pointer
          • Cmake Support
          • C++ code injection
          • C++ user-defined exception classes
          • Limitations and Bugs
            • Translator Limitations and Bugs
            • Library Limitations and Bugs
            • Cpp Code Injection
        • Release Notes
          • 2022
            • CodePorting.Translator Cs2Cpp 22.6
            • CodePorting.Native Cs2Cpp 22.5
            • CodePorting.Native Cs2Cpp 22.4
            • CodePorting.Native Cs2Cpp 22.3
            • CodePorting.Native Cs2Cpp 22.2
            • CodePorting.Native Cs2Cpp 22.1
          • 2021
            • CodePorting.Native Cs2Cpp 21.12
            • CodePorting.Native Cs2Cpp 21.11
            • CodePorting.Native Cs2Cpp 21.10.1
            • CodePorting.Native Cs2Cpp 21.10
            • CodePorting.Native Cs2Cpp 21.9
            • CodePorting.Native Cs2Cpp 21.8
            • CodePorting.Native Cs2Cpp 21.7
            • CodePorting.Native Cs2Cpp 21.6
            • CodePorting.Native Cs2Cpp 21.5
            • CodePorting.Native Cs2Cpp 21.4
            • CodePorting.Native Cs2Cpp 21.3
            • CodePorting.Native Cs2Cpp 21.2
            • CodePorting.Native Cs2Cpp 21.1
          • 2020
            • CodePorting.Native Cs2Cpp 20.12
            • CodePorting.Native Cs2Cpp 20.11
            • 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
          • 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
          • 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
    1. Home
    2. CodePorting.Translator Product Family
    3. CodePorting.Translator Cs2Cpp
    4. Release Notes
    5. 2018
    6. CodePorting.Native Cs2Cpp 18.12

    CodePorting.Native Cs2Cpp 18.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

    Major Features

    1. original_tests_names option is added to disable prefixing tests names with categories names.
    2. force_include_enum option is added to enabling adding ‘#include’ directives for enums instead of generating forward declarations in all cases.

    Minor fixes.

    1. Region::IsVisible(PointF) method is implemented.
    2. Tests stub file (list of tests in ported project) is now sorted by test name.
    3. The problem is fixed for ‘finally’ block operating on variables that have already been freed by ‘return’ statement (moving constructor optimization issue).
    4. System::Convert::FromBase64String() now throws exception of correct FormatException type on input of unexpected format.
    5. DateTime constructors now throw valid ArgumentOutOfRangeException exceptions on out-of-range dates or monthes being passed to them.
    6. Callstack print of SmartPtr class destructor was ligtened by 1/3.
    7. Messages of NotImplementedException, NotSupportedException and CultureNotFoundException are fixed to match .NET ones.
    8. Order of constexpr fields in output files is fixed to avoid initialization fiasco.
    9. A bug is fixed blocking some messages from reaching porter.log.
    10. Messages for config errors now include file, line and position information.
    11. A bug is fixed in porter generating ‘gtest not found’ errors if current directory was not ‘bin/porter’.
    12. TEST_F macros in output files are now placed near the test methods they call to make debug easier

    Please consult respective sections of our wiki for more information.

    Full List of Issues Covering all Changes in this Release

    KeySummaryCategory
    PDFCPP-817Fix issues with OriginlKit functional testsTask
    PDFCPP-834Fix Region.IsVisibleTask
    CSPORTCPP-2295Fix null reference after returning pointer used in ‘finally’ blockBug
    WORDSCPP-702System::Convert::FromBase64String throws an incorrect exception for invalid inputBug
    WORDSCPP-696System::DateTime implementation doesn’t catch exceptions from Boost.DateTimeBug
    CSPORTCPP-2302Investigate reducing destructors call stackInvestigation
    WORDSCPP-676Always add include directives for enums instead of forward declarationsTask
    WORDSCPP-360Reorder constexpr field declarationTask
    CSPORTCPP-2331porter.log missing entriesBug
    CSPORTCPP-2151improve porter error messages on config issuesTask
    CSPORTCPP-2153Porter not finding gtest if current directory is not asposecpplib/binBug
    CSPORTCPP-2327Attach TEST_F macros to corresponding test functionsTask
    WORDSCPP-683Unexpected exception suffix message for NotSupportedException exceptionBug

    Public API and Backward Incompatible Changes

    1. IsVisible(PointF) method is added into Region class {{code language#“cpp”}}PointF point(22.5, 90.2); bool visible # myRegion.IsVisible(point);```