Skip to content
Snippets Groups Projects
  1. Mar 24, 2017
  2. Feb 28, 2017
  3. Feb 24, 2017
    • Philippe Canal's avatar
      Allow the use of 1st gen Collection Proxy for bitset and vector<bool> · b2d9f764
      Philippe Canal authored
      Because the address of the element of a bitset and vector<bool> can not be
      taken, we need to use a temporary storage to implement the interface that
      requires the address of the element.  So far this had only been implemented
      in the specialized collection proxy (TGenBitsetProxy and TGenVectorBoolProxy).
      Those are obtained only when cloning a generic collection proxy.
      Consequently using the result TClass::GetCollectionProxy for those two
      directly did not work in all cases/interfaces.  However since TTree is making
      a copy of the collection proxy, it was correctly in all cases.
      
      This patch resolves all the issues seen in ROOT-8574 including
        - the bitset proxy's iterator did not record it started but still recorded its advance
        - the genertic proxy At function in case of bitset or vector<bool> was not return the right address
      
      We also simplified TGenVectorBoolProxy since we know the actual container type at compilation time.
      b2d9f764
    • Philippe Canal's avatar
      Remove kBOOL_t and thus remove inconsistencies. · 54b0abc0
      Philippe Canal authored
      In 2004 kBool_t was the same value as kUChar_t (both 11).
      So when the collection proxy were introduced to distinguished the two, a new
      one was introduced kBOOL_t (value 21) to be used internally by the collection
      proxies.
      
      However this value is returned by TVirtualCollectionProxy::GetType and lead
      to incorrect behaviors, for example:
      
          std::cerr << TDataType::GetDataType(proxy->GetType())->AsString(proxy->At(i)) << "\n";
      
      as the value 21 is in TDataTypes.h the value of kDataTypeAliasUnsigned_t
      
      In 2005 (eab7cae0), kBool_t was updated in TDataTypes.h (to the value 18)
      to be distinct from kUChar_t as (at the time) sizeof(bool) on MacOS was 4.
      However the code in collection proxy was never modernize to leverage this new
      distinction.
      
      Since the value is only recorded in the CollectionProxy objects and those
      are never persisted, we can safetly switch from kBOOL_t to kBool_t.
      54b0abc0
  4. Feb 22, 2017
  5. Feb 14, 2017
  6. Feb 10, 2017
  7. Feb 07, 2017
  8. Feb 03, 2017
  9. Jan 31, 2017
  10. Jan 28, 2017
  11. Jan 26, 2017
  12. Jan 24, 2017
    • Gerardo Ganis's avatar
      io/io: fix for ROOT-8516 (corruption in file writing) · 280f9fb7
      Gerardo Ganis authored
      When the write-cache required flushing to file and the length of the buffer
      to be written exceed the size of the cache buffer, requiring
      direct-write-to-file, the offset (seek position) was incorrectly left to
      the one of the last basket in the flushed cache.
      280f9fb7
  13. Jan 23, 2017
  14. Jan 10, 2017
  15. Dec 20, 2016
  16. Dec 17, 2016
  17. Dec 14, 2016
  18. Dec 12, 2016
  19. Dec 11, 2016
  20. Dec 07, 2016
    • Sergey Linev's avatar
      json: Implement export into .json.gz file · 3e92ccba
      Sergey Linev authored
      JSON content automatically zipped - makes produced file approx 3 times
      smaller. By default, JSON code will not include any additional spaces.
      3e92ccba
    • Sergey Linev's avatar
      json: use new method for objects referencing · a6bf1c63
      Sergey Linev authored
      Before object reference was done with the string like "$ref12".
      This approach is error-prone, while any normal string with
      similar content will confuse JSROOT.parse function. Now
      other syntax is used: {"$ref":12}. Such output can never be
      produced with normal C++ classes, therefore is absolutely safe.
      
      Starting from JSROOT version 4.8, both formats are supported.
      Means old JSON files, produced with older ROOT versions still
      can be used with actual JSROOT code.
      a6bf1c63
    • Sergey Linev's avatar
      json: add special '$pair' marker for map pair objects · bb0ec6bd
      Sergey Linev authored
      Normally each JSON object accounted in object map,
      which is required when dereferencing objects.
      This does not works with pair JSON objects,
      which are created after all contained objects are stored.
      Therefore pair marked separately and does not accounted in reference
      map.
      bb0ec6bd
Loading