1. 31 Oct, 2019 1 commit
  2. 24 Sep, 2019 1 commit
  3. 16 Jul, 2019 1 commit
  4. 12 Jul, 2019 1 commit
  5. 06 Feb, 2019 1 commit
  6. 19 Oct, 2018 1 commit
  7. 30 May, 2018 1 commit
  8. 26 Feb, 2018 1 commit
    • Mark Olesen's avatar
      ENH: cleanup tmp class (issue #639) · 52b36f84
      Mark Olesen authored
      Improve alignment of its behaviour with std::shared_ptr
      
        - element_type typedef
        - swap, reset methods
      
      * additional reference access methods:
      
      cref()
          returns a const reference, synonymous with operator().
          This provides a more verbose alternative to using the '()' operator
          when that is desired.
      
              Mnemonic: a const form of 'ref()'
      
      constCast()
          returns a non-const reference, regardless if the underlying object
          itself is a managed pointer or a const object.
          This is similar to ref(), but more permissive.
      
              Mnemonic: const_cast<>
      
          Using the constCast() method greatly reduces the amount of typing
          and reading. And since the data type is already defined via the tmp
          template parameter, the type deduction is automatically known.
      
          Previously,
      
              const tmp<volScalarField>& tfld;
      
              const_cast<volScalarField&>(tfld()).rename("name");
              volScalarField& fld = const_cast<volScalarField&>(tfld());
      
          Now,
      
              tfld.constCast().rename("name");
              auto& fld = tfld.constCast();
      
      --
      
      BUG: attempts to move tmp value that may still be shared.
      
      - old code simply checked isTmp() to decide if the contents could be
        transfered. However, this means that the content of a shared tmp
        would be removed, leaving other instances without content.
      
      * movable() method checks that for a non-null temporary that is
        unique (not shared).
      52b36f84
  9. 03 Jul, 2017 1 commit
  10. 19 May, 2017 1 commit
  11. 02 Jun, 2016 2 commits
  12. 11 Nov, 2015 1 commit
  13. 18 Apr, 2015 1 commit
  14. 01 Aug, 2013 1 commit