1. 24 Jun, 2017 1 commit
  2. 22 Jun, 2017 1 commit
  3. 14 Dec, 2016 1 commit
  4. 04 Oct, 2016 1 commit
  5. 02 Oct, 2016 3 commits
  6. 01 Oct, 2016 3 commits
  7. 10 Sep, 2016 1 commit
  8. 05 Sep, 2016 1 commit
  9. 30 Aug, 2016 7 commits
  10. 29 Aug, 2016 2 commits
  11. 27 Aug, 2016 6 commits
  12. 24 Aug, 2016 2 commits
  13. 12 Aug, 2016 1 commit
  14. 10 Aug, 2016 1 commit
  15. 09 Aug, 2016 5 commits
  16. 06 Aug, 2016 3 commits
  17. 04 Aug, 2016 1 commit
    • Jason Rhinelander's avatar
      Switched to virtual CRT trampoline class inheritance · 8243ff92
      Jason Rhinelander authored
      Trampoline inheritance is something of a nuissance because all of the
      base class methods need to be repeated.  I was doing this with some
      defines that shoehorned common methods into each Member subclass, but
      that was messy.
      
      This approach (using "Curiously Recursive Templates") is nicer: each
      PyWhatever class is templated with its base class, so that
      PyFirmNoProd<FirmNoProd> ends up with inheritance path:
      
          PyFirmNoProd<FirmNoProd> : PyFirm<FirmNoProd> : PyAgent<FirmNoProd> :
          PyMember<FirmNoProd> : FirmNoProd : Firm : Agent : Member
      
      This is still a lot of duplication, but it's mainly at the compiler
      level which makes maintenance easier and keeps the code a bit cleaner.
      8243ff92