1. 01 Apr, 2019 1 commit
  2. 19 Feb, 2019 1 commit
  3. 07 Dec, 2018 1 commit
  4. 02 Sep, 2018 1 commit
  5. 05 Aug, 2018 1 commit
  6. 01 Feb, 2018 1 commit
  7. 31 Jan, 2018 1 commit
    • Kenton Varda's avatar
      Add Array::attach() and ArrayPtr::attach(). · 8447ac76
      Kenton Varda authored
      Array::attach() is like Own::attach().
      
      ArrayPtr::attach() promotes an ArrayPtr to an Array by attaching other objects to it. (Hopefully one of those objects actually owns the underlying array data.)
      8447ac76
  8. 11 Jan, 2018 1 commit
    • Kenton Varda's avatar
      Replace all include guards with #pragma once. · 677a52ab
      Kenton Varda authored
      @kloepper pointed out a while back that every compiler you've ever heard of supports this. Plus, it's more concise, it's not prone to copy-paste errors, and it looks nicer.
      
      At the time I wanted to remain consistent and I didn't feel like spending the time to update all my existing code. But, every time I've added a new header since I've cursed the include guard, so I finally broke down and changed it.
      677a52ab
  9. 23 Oct, 2017 1 commit
  10. 12 Oct, 2017 1 commit
    • Edward Catmur's avatar
      Avoid passing null to memcpy/memcmp/memset · dbc088d1
      Edward Catmur authored
      It is invalid to pass null as a pointer argument to memcpy/memcmp/memset, even if the count argument is zero:
      
      > Where an argument declared as size_t n specifies the length of the array for a
      function, n can have the value zero on a call to that function. Unless explicitly stated
      otherwise in the description of a particular function in this subclause, pointer arguments
      on such a call shall still have valid values [...]
      
      Detected by -fsanitize=nonnull-attribute.
      dbc088d1
  11. 03 Sep, 2017 1 commit
  12. 03 Jun, 2017 1 commit
  13. 02 Jun, 2017 2 commits
    • Kenton Varda's avatar
      Add kj::arr() for specifying arrays easily. Requries C++17. · 6643b805
      Kenton Varda authored
      std::initializer_list is problematic because it insists that its elements be const, meaning among other things that you can't move from them. So, an std::initializer_list<kj::String> is often useless. With kj::arr you can do like:
      
          kj::Array<String> = kj::arr(kj::mv(string1), kj::mv(string2));
      
      This requires C++17 due to the fold expression. This could maybe be worked around using some ugly recursion but I'm writing C++17 these days so meh.
      6643b805
    • Kenton Varda's avatar
      Allow initializing kj::Vector from kj::Array and add other methods of Array. · 40b90e4c
      Kenton Varda authored
      I'm increasingly thinking that maybe kj::Array itself should support Vector semantics, but for now this change makes it easier to write code that uses Vector instead of Array.
      40b90e4c
  14. 07 Apr, 2017 2 commits
  15. 02 Feb, 2017 1 commit
  16. 26 Jan, 2017 1 commit
  17. 24 Jan, 2017 1 commit
  18. 29 Jul, 2015 1 commit
  19. 29 Nov, 2014 1 commit
  20. 23 Nov, 2014 1 commit
  21. 22 Nov, 2014 1 commit
  22. 20 Oct, 2014 1 commit
  23. 20 Jun, 2014 1 commit
    • Kenton Varda's avatar
      Change license to MIT. · 889204fe
      Kenton Varda authored
      For portions currently copyright by Kenton (most of it), transfer copyright to Sandstorm Development Group, Inc. (Kenton's company).
      
      The license change is practically meaningless, as MIT and BSD 2-clause are legally equivalent. However, the BSD 2-clause license is sometimes confused for its ugly siblings, BSD 3-clause and BSD 4-clause. The MIT license is more immediately recognizeable for what it is.
      
      Rémy Blank and Jason Choy (the two non-trivial contributors) are on record as approving this change:
      
      https://groups.google.com/d/msg/capnproto/xXDd2HUOCcc/gbe_COIuXKYJ
      889204fe
  24. 10 Dec, 2013 1 commit
  25. 19 Nov, 2013 1 commit
  26. 12 Nov, 2013 1 commit
  27. 25 Oct, 2013 1 commit
  28. 23 Aug, 2013 2 commits
  29. 09 Aug, 2013 1 commit
  30. 07 Aug, 2013 2 commits
  31. 01 Aug, 2013 1 commit
  32. 25 Jul, 2013 1 commit
  33. 17 Jul, 2013 1 commit
  34. 10 Jul, 2013 1 commit
  35. 03 Jul, 2013 1 commit
  36. 12 Jun, 2013 1 commit