• Martin Marinov's avatar
    TSP-3405 Improve Journal output and return data capabilities (#5) · 16cbb948
    Martin Marinov authored
    * Add support for output arguments accessed by * and **
    * Add ArgT and ArgQ, the macro JT (journal traits) to provide a generic approach to disambiguate definitions for value, reference and pointer arguments
    * Add support for linked arguments
    * Recursive Cpp::define() for ArgLinkT<> and ArgT<>
    * Reference to pointer arguments now defer processing to the pointer argument implementation, rendering define overloads for pointer to custom types redundant
    * Journal non-linked pointers to opaque data now using their actual addresses cast with reinterpret_cast<>
    * Remove links to this pointers when emitting object destructor calls
    * Remove Data::key
    * Add Data::type to allow different types of initialization
    * Simplify ArgLinkT
    * Add ReturnLinkT and JOURNAL_[METHOD|FUNCTION]_RETURN_LINK
    * Remove OutputT
    * Add JOURNAL_TYPE_NAME macro
    * Add Journal::Cpp casts
    * Fix a bug where define(..., float) was outputting invalid float constants
    * Improve the comment on Journal::Filename
    16cbb948
JournalCppDefs.hh 6.65 KB