1. 27 Feb, 2020 2 commits
    • Martin Marinov's avatar
    • Adam Helps's avatar
      TSP-3429 TSP-3435 Handles and reference counts (#9) · 86c62dda
      Adam Helps authored and Martin Marinov's avatar Martin Marinov committed
      * Adds optional pre-call and post-call events in the journal to implement reference count abridgement.
      * Adds new documentation for many functions, and improves existing.
      * Removes "JOURNAL_FUNCTION" from the created macros when journal is turned off, because there is no such macro when journal is turned on.
      * Adds the ability to unlink names in the journal manually. This was already being done by destructors, but there wasn't a way to do it for names managed in other ways.
      * Add HandleT<> to support handle tracking
      * Generalize the key<> function to handles and make key a pair of size_t 
      * Simplify ReturnLink and make it work for HandleT<>
      * Adds an operator< to the HandleT class so that it can be used as a key in associative containers (T-Splines uses it this way for ref-count collapsing).
  2. 11 Feb, 2020 3 commits
    • Martin Marinov's avatar
    • Martin Marinov's avatar
      Fix Linux build errors (#7) · 0e0be2e4
      Martin Marinov authored
    • Martin Marinov's avatar
      UNWRAP-128 Clean up and improve journal capabilities to support UNWRAP (#6) · f90c9415
      Martin Marinov authored
      * Move type_name<> to JournalCppDefs.hh and namespace Cpp and enable automatic handling on *, & and const types
      * Leverage argument<> for CArrayT<> elements
      * Add Journal::to_lower() and improve object naming when the class name is all capitals
      * Prevent de-referencing of possibly invalid argument pointers
      * Add define_consrtuct[_default] to simplify for non-opaque data constructors, e.g., vectors, planes, matrices, transforms, etc.
      * Fix a bug where references to a pointer could inadvertently dereference an invalid pointer
      * Disable automatic includes by default; enable them by defining JOURNAL_AUTO_INCLUDE.
      * Add JOURNAL_MAIN_VOID to prevent return from the main() function in C++ journals.
      * Add extract_directory() and replace_filename() in JournalFileSystem.hh/cc
  3. 04 Feb, 2020 2 commits
    • Martin Marinov's avatar
    • 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
      * 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
  4. 23 Jan, 2020 1 commit
    • Martin Marinov's avatar
      MTBR-691 Add Scheme support (#4) · d418e6e2
      Martin Marinov authored
      * Refactor Journal::Stream::Impl
      * Add Scheme journal implementation
      * Apply SMI class naming conventions for Scheme
      * Remove Base::Command as this is breaking ENDL output during static initialization
      * Clang reformat for JournalStream.cc
      * Improve the naming API
      * Various fixes for the Scheme journal
      * Replace define() overloads with template<> define() specializations
  5. 17 Jan, 2020 1 commit
  6. 14 Jan, 2020 2 commits
  7. 20 Dec, 2019 2 commits