1. binet
  2. mana-core-sgtools

Commits

ssn...@4525493e-7705-40b1-a816-d608a930855b  committed d86e623

making branch

  • Participants
  • Branches SGTools-00-16-17-branch

Comments (0)

Files changed (34)

File .hgtags

View file
  • Ignore whitespace
+2c8d13e64d2bd054cff48e115c866d1c0760940c SGTools-00-07-08
+92cce8769c23af72a47a74daf217138c2acdf88a SGTools-00-07-09
+b643cc94bd33cf5befcff995ef97defd1f21e0e5 SGTools-00-08-00
+12624cec24c8e01d859494b515d24baaa2f06801 SGTools-00-08-01
+b105393f1383ee30cc4080fc267bb5b3b0aba1d7 SGTools-00-08-02
+c445f584da0a2ffbec66a52766c589f97d4bb87a SGTools-00-08-03
+ee663faf2beeab4e59a0c9385a4d88cf65136843 SGTools-00-08-04
+5d10ca683b4a6fc999e4608cdf500c86d82933ea SGTools-00-08-05
+3d8edd07d0fdc7265fa5c212b24c235b6062baa0 SGTools-00-09-00
+52bb0ca904af94187dc21a14316cf801899a7ebb SGTools-00-10-00
+a5cf6cca9c22b5f6496c557bd6919a292906f90f SGTools-00-10-01
+094c0105eef35e605612ab74904dd3a0b7649938 SGTools-00-10-02
+8b7a216adb9caaf91d761fce9c006fb4e10a9282 SGTools-00-10-03
+bc42e403473111f2db49a28f4a38463b8eb2920f SGTools-00-10-04
+d6a2009dac06340b38b5fd5ac375fea9d2280ddd SGTools-00-10-05
+42dd4194999adba3fe5a291834e2666fa57d75e7 SGTools-00-10-06
+b2e06d11566091153a1737130b07fbf8e3fae6fb SGTools-00-10-07
+e47df32b3dd9b8d72ddc13bdaab1a2ff03589cb7 SGTools-00-10-08
+2ae72839dda53c438ee8a9f1db2df6f1e098a83d SGTools-00-11-00
+2866a96e2db5ba0e3f735d4f9b95606d6d2d441f SGTools-00-12-00
+05f3027e247d827eafc7fef7abcf59216aca1752 SGTools-00-12-01
+e073411ead6f58c875e8a5daf961ca69473adb7c SGTools-00-12-02
+53d33a3343bbc4de22df1edfd7b7600f9661e474 SGTools-00-12-03
+4b137ae3938ba4201bbe0f62ae4b27be35c23dd6 SGTools-00-13-00
+af2ffe35f4a854b975649e0dc958f2cd43d2f864 SGTools-00-13-01
+5bb5efadbef85d0bb781b5c7f624b1a93693328b SGTools-00-13-02
+0d56049ed5dc5d767fe4dbc30e76b1fef95f3116 SGTools-00-13-03
+81347e78820df087a81933b43620a3bbaeb5ef28 SGTools-00-14-00
+5f4975152cea918c33c4af43f3013a198ea7e880 SGTools-00-14-01
+10af53cee579508cd6799d50eb4e9b5ee045708b SGTools-00-14-02
+d8979c4d56d9805fddb10c6eabe63e5c09dc301d SGTools-00-15-00
+ec4c66b4f228c324720a541250e234506c421248 SGTools-00-15-01
+9e8b3c0f64b0589bc6081ba817a61ac45f2b4df6 SGTools-00-15-02
+8a91fe57441273cb653e147016f62d3678a882f8 SGTools-00-15-03
+6d0f9d21260c18b5de9dd9c8ed8812509e2de38c SGTools-00-15-04
+9815f1964438109cd9476494d29ef9e0b34ceef0 SGTools-00-16-00
+c1012b5f5af6cd4187319c59e673ec57f1bd3eba SGTools-00-16-01
+26f3eb471e94b0ad20aecd9fb240cbb595e59052 SGTools-00-16-02
+29fcc9726eaf2d0854d4850471270bfd770a55cf SGTools-00-16-03
+950d020edda89cee643a2c71a55d09557f950e1c SGTools-00-16-04
+aa7cbc8941215a8861ba018b9d4d1d3e628b633e SGTools-00-16-05
+7f9a9d78833e7cb5183891029f482b33ad29f2fa SGTools-00-16-06
+4110f4118c080460d1534d46794da50f9a07c1ee SGTools-00-16-07
+fd47eff30beafc1987247bd5586bfa70ec38c60c SGTools-00-16-08
+5a9fc71f1cf96268c9ef12646dd9425e4bae148f SGTools-00-16-09
+5ff687bee1f2cad4f5f14186915c34c80edae892 SGTools-00-16-10
+bc31357a288c6c81562facf264d6a30f7f70c3f4 SGTools-00-16-11
+07867a4adbb4b7efc073e4f4ea4b2ad72d2ce5a9 SGTools-00-16-12
+3069dc34a46e1669651a30d17af160c4a67615cf SGTools-00-16-13
+932a9f1cd993de4981fa2bfb3f69ec730595b5d1 SGTools-00-16-14
+ecc1616d02661a0210af273871d5925ae85f569c SGTools-00-16-15
+45180f697cad74bab4481be390a8bce782cf45ff SGTools-00-16-16

File ChangeLog

View file
  • Ignore whitespace
+2011-09-23  scott snyder  <snyder@bnl.gov>
+
+	* Tagging  SGTools-00-16-17.
+	* SGTools/ClassID_traits.h, SGTools/CLASS_DEF.h: Add s_isConst.
+
+2011-08-27  scott snyder  <snyder@bnl.gov>
+
+	* Tagging  SGTools-00-16-16.
+	* cmt/requirements: More patterns to ignore.
+
+2011-08-19  Sebastien Binet  <sebastien.binet@cern.ch>
+
+	* tagging  SGTools-00-16-15
+	* add the CLIDs for builtins, maps and vectors in libSGTools.so
+	* A src/SGToolsClids.cxx
+
+2011-07-11  Paolo Calafiura  <calaf@localhost6.localdomain6>
+
+	* tagging  SGTools-00-16-14
+	* src/DataStore.cxx (DataStore::proxy): fix the alias counting
+
+2011-05-20  Paolo Calafiura  <calaf@calaf-laptop>
+
+	* tagging  SGTools-00-16-13
+	* src/DataStore.cxx (DataStore::proxy): do not count aliases as
+	separate objects when checking for defaultkey object
+
+2011-05-20  Sebastien Binet  <sebastien.binet@cern.ch>
+
+	* tagging  SGTools-00-16-12
+	* more clids to read d3pds
+	* M SGTools/BuiltinsClids.h
+	* M SGTools/StlVectorClids.h
+
+2011-05-18  Sebastien Binet  <sebastien.binet@cern.ch>
+
+	* tagging  SGTools-00-16-11
+	* add clids for vector of vector of builtins
+	* M SGTools/StlVectorClids.h
+
+2011-04-21  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-16-10.
+	* cmt/requirements: Fix checkreq warnings.
+	* Tagging SGTools-00-16-09.
+	* SGTools/CallBackID.icc: Fix gcc 4.6 warning.
+	* SGTools/BaseInfo.h: Fix clang warnings.
+
+2011-01-29  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-16-08.
+	* SGTools/DataProxy.icc: Improve diagnostic for invalid proxy
+	state message.
+
+2010-11-16  Paolo Calafiura  <calaf@calaf-laptop>
+
+	* Tagging SGTools-00-16-07
+	* SGTools/DataProxy.h: must rename errno() to errNo()
+
+2010-11-11  Paolo Calafiura  <calaf@calaf-laptop>
+	* Tagging SGTools-00-16-06
+	* SGTools/DataProxy.h: added errno-style error code to query 
+	accessData problems 
+
+	* Tagging SGTools-00-16-04
+	* SGTools/StorableConversions.h (SG): make icc happy
+	* test/DataBucket_test.cxx: make icc happy
+	* test/StringPool_test.cxx: make icc happy
+
+2010-08-18  Paolo Calafiura  <calaf@calaf-laptop>
+
+	* Tagging SGTools-00-16-03
+	* src/DataProxy.cxx: Coverity fixes. Get rid of setDefaults method.
+
+2010-06-15  Peter van Gemmeren  <gemmeren@anl.gov>
+
+	* Tagging SGTools-00-16-02
+	* SGTools/DataProxy.h: Remove setTransientAddress as it does not fix proxy reinit.
+
+2010-05-14  Paolo Calafiura  <calaf@calaf-laptop>
+
+	* Tagging SGTools-00-16-01
+	* SGTools/DataProxy.h (setTransientAddress): new method allowing to
+	effectively reinit the proxy (#62088)
+
+2010-01-11  Paolo Calafiura  <calaf@calaf-laptop>
+
+	* Tagging SGTools-00-16-00.
+	* src/DataStore.cxx (DataStore::keys): new functionality
+
+2010-01-05  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-15-04.
+	* Fix bad tag.
+	
+	* Tagging SGTools-00-15-03.
+	* SGTools/CLIDRegistry.h: gcc 4.4 fixes.
+	* SGTools/ClassID_traits.h: gcc 4.4 fixes.
+
+2009-10-19  Thomas Kittelmann  <thomas.kittelmann@cern.ch>
+	* Provide SG auditor with actual key on keyless retrieves.
+	* tag SGTools-00-15-02 
+
+2009-10-12  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-15-01.
+	* SGTools/BaseInfo.icc (RegisterAddBaseInit): Fix for the case in
+	which the BIB does not already exist.
+	* test/BaseInfo_test.cxx: Test this case.
+
+2009-10-10  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-15-00.
+	* SGTools/BaseInfo.h: Add SG_ADD_BASE.
+	* SGTools/BaseInfo.icc: Likewise.
+	* test/BaseInfo_test.cxx: Test the changes.
+
+2009-09-29  Charles Leggett
+	* DataProxy::bindHandle(): return a bool instead of void. no error
+	  message of exception thrown here
+	* tag SGTools-00-14-02
+
+2009-09-28  Charles Leggett
+	* DataProxy::bindHandle(): change runtime error for multiply bound 
+	* proxies to a warning to give folks time to fix it.
+	* tag SGTools-00-14-01
+
+2009-09-25  Charles Leggett
+	* DataProxy::bindHandle(): check to see if handle is already bound
+	  to another proxy
+	* requires change to IResetable
+	* tag SGTools-00-14-00
+	
+2009-09-21  Paolo Calafiura  <calaf@lxcalaf.cern.ch>
+
+	* src/DataStore.cxx (addToStore): minor code cleanup
+
+2009-09-14  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-13-03.
+	* SGTools/IStringPool.h: Add interface ID.
+	* SGTools/IProxyDictWithPool.h: Add interface ID.
+
+2009-07-16  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-13-02.
+	* src/StringPool.cxx, SGTools/T2pMap.h: Get hashtable classes from
+	CxxUtils.
+	* Check spelling throughout.  Add ispellwords.
+	* SGTools/BaseInfo.h, SGTools/BaseInfo.icc, src/BaseInfo.cxx: More
+	initialization order fixes.
+
+2009-07-14  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-13-01.
+	* SGTools/BaseInfo.h, src/BaseInfo.cxx: Add get_ti_bases().
+	* test/BaseInfo_test.cxx: Test the changes.
+
+	* Tagging SGTools-00-13-00.
+
+	* src/BaseInfo.cxx (class BaseInfoBaseImpl, castTo, castfnTo,
+	add_info, info ctor): Add base->derived conversions.
+	* SGTools/BaseInfo.icc (add_base, converterTo, converterToHelper,
+	castTo, castfnTo): Likewise.
+	* SGTools/BaseInfo.h: Likewise.
+	* test/BaseInfo_test.cxx: Test the changes.
+
+	* Tagging SGTools-00-12-03.
+	* src/BaseInfo.cxx (class BaseInfoBaseImpl, add_info, BaseInfoBase
+	ctor, find): Initialization order fixes.
+
+2009-06-24  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-12-02
+	* SGTools/BaseInfo.h, src/BaseInfo.cxx: Add clid() and baseinfo()
+	methods to BaseInfoBase.
+	* test/BaseInfo_test.cxx: Test the changes.
+
+2009-05-13  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-12-01
+	* test/SGTools.xml: Treat test output differences wrt reference
+	files as errors.
+
+2009-03-04  Paolo Calafiura 
+
+	* Tagging SGTools-00-12-00
+	* SGTools/DataStore.h: added forwarding method to let t2p interact with IPageAccessControlSvc
+	* SGTools/T2PMap.h: t2pRegister will now call IPageAccessControlSvc::controlPage if the pointer to the service is set.
+
+2009-01-15  Sebastien Binet  <binet@farnsworth>
+
+	* tagging SGTools-00-11-00
+	* new CLASS_DEF schema to handle typedefs
+	* A SGTools/ClassName.h
+	* A SGTools/ClassName.icc
+	* M SGTools/CLASS_DEF.h
+	* M SGTools/CLIDRegistry.h
+	* M SGTools/ClassID_traits.h
+
+2008-12-15  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-10-08.
+	* SGTools/BaseInfo.h: Forgot to re-hide addInit().
+	
+	* Tagging SGTools-00-10-07.
+	* SGTools/BaseInfo.h: Restore gcc 4.3 changes.  Also hide from
+	reflex inlined code that was calling the hidden functions.
+	* SGTools/BaseInfo.icc: Likewise.
+
+2008-12-15  David Quarrie <David.Quarrie@cern.ch>
+	* Tagging SGTools-00-10-06
+	* SGTools/BaseInfo.h: Revert some of Scott's changes temporarily
+	
+2008-12-11  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-10-05.
+	* SGTools/BaseInfo.h: Prevent gcc 4.3 compiler warnings for
+	generated dictionaries.
+	* SGTools/BaseInfo.icc: Likewise.
+
+2008-11-25  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-10-04.
+	* src/BaseInfo.cxx: Store type_info's as pointers, rather than as
+	the names.
+	* SGTools/BaseInfo.h: Don't need to include <string>.
+
+2008-11-17  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-10-03.
+	* src/BaseInfo.cxx: Comment out use of boost mutex.  We don't
+	require thread-safety anymore, and the boost mutex code is broken
+	in boost 1.35 (compilation error in timespec.hpp).
+
+2008-10-27  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-10-02.
+	* src/DataStore.cxx (addSymLink): Fail if the specified entry is
+	already pointing at another proxy (prevents mem leak).
+
+2008-10-09  Sebastien Binet  <binet@lblbox.dyndns.cern.ch>
+
+	* tagging SGTools-00-10-01
+	* made std::map<std::string, std::vector<{int,uint,float,double}> > 
+	  store-able in StoreGate
+	* M SGTools/StlMapClids.h
+
+2008-09-16  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-10-00
+	* migrating pure C++ classes/utils to CxxUtils
+	* M SGTools/hashtable.h
+	* M SGTools/unordered_map.h
+	* M SGTools/unordered_set.h
+	* M cmt/requirements
+	* R share/hashtable_test.ref
+	* R src/hashtable.cxx
+	* R test/hashtable_test.cxx
+
+2008-08-15  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-09-00.
+	* SGTools/IStringPool.h: Change SG hash key from 62 to 30 bits.
+	* SGTools/StringPool.h: Likewise
+	* share/StringPool_test.ref: Updated.
+
+2008-07-24  David Quarrie <David.Quarrie@cern.ch>
+
+	* tagging SGTools-00-08-05
+	* BaseInfo.icc: Don't create a concrete implementation of the s_regbase static for MacOSX. This is handled by the DATAVECTOR_BASE_SINGLETON macro on his platform because the default implementation results in duplicate symbols in every program unit.
+
+2008-07-14  Paolo Calafiura  
+
+	* tagging SGTools-00-08-04
+	* src/DataProxy.cxx: use IMessageSvcHolder to address bug #38278
+
+2008-07-10  David Quarrie <David.Quarrie@cern.ch>
+
+	* tagging SGTools-00-08-03
+	* SGTools/SGVersionedKey.h: Default namespace tweaks for MacOSX. Tested for both Mac & SLC4
+
+2008-06-21  Paolo Calafiura  <calaf@lxplus206.cern.ch>
+
+	* Tagging SGTools-00-08-02
+	* reverted changes made in 00-08-00 as the make existing code using IDC bomb
+	
+2008-06-24  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-08-01
+	* adding dict for SG::BaseInfoBase (mostly for debugging purposes)
+	* modifying ClassID_traits API to remove std::string temporaries
+	* M SGTools/CLASS_DEF.h
+	* M SGTools/ClassID_traits.h
+	* M SGTools/SGToolsDict.h
+	* M SGTools/selection.xml
+
+2008-06-21  Paolo Calafiura  <calaf@lxplus206.cern.ch>
+
+	* Tagging SGTools-00-08-00
+	* src/DataProxy.cxx: reset dobj pointer only when pointee is released
+	* SGTools/DataBucket.*: overload release() to release bucket only when host dobj is released.
+	* these two changes should allow to honor DataObject::addRef() in SG, without resetting the dobj pointer at the end of each event
+	* ----> Change significantly behaviour of store after clear. Needs to be validated carefully.
+	
+2008-06-04  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-07-09
+	* src/DataProxy.cxx (accessData): Remove code that was trying to
+	do createObj with a symlinked address when the primary createObj
+	failed.  This was added originally because the DataHeader lost
+	information on which CLID was the primary (as it stored the CLIDs
+	as a set).  This deficiency in the DataHeader has been fixed for
+	some time.  But having this code here causes problems for
+	recovering from P->T conversion failures.  If the converter fails,
+	it will cause the symlink search code to run.  If there is a
+	symlink, we'll try to create the object through that CLID.
+	However, since this is not the primary CLID, there will probably
+	not be a P->T converter registered for it.  So, we'll end up
+	getting the persistent object returned (hard-casted) as the
+	transient object.  This will crash us later.
+
+2008-05-30  Paolo Calafiura  
+
+	* Tagging SGTools-00-07-08
+	* DataBucket[Base]: added relinquish method to handle failed records properly
+	* src/DataStore.cxx (DataStore::clearStore): improved debug printout
+
+2008-05-22  Paolo Calafiura  
+
+	* Tagging SGTools-00-07-07
+	* test/DataBucket_test.cxx (main): cleanup heap allocated objects at end of test
+
+2008-05-07  Paolo Calafiura  
+
+	* Tagging SGTools-00-07-06
+	* substantially extend SG::VersionedKey interface
+
+2008-05-05  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-07-04.
+	* src/SGVersionedKey.cxx: Missing <cassert> include.
+
+2008-04-23  Paolo Calafiura  
+
+	* Tagging SGTools-00-07-03.
+	* SGIFolder.h: added clear() method as requested by Peter to
+	address the issue of "exploding" trigger keys
+
+
+2008-04-23  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-07-02.
+	* src/BaseInfo.cxx (find): Protect against null initlist.
+
+2008-04-22  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-07-01.
+
+	* SGTools/BaseInfo.h: Allow automatic initialization.  Clean up
+	header dependencies.  Add locking for thread-safety.
+	* SGTools/BaseInfo.icc: Likewise.
+	* src/BaseInfo.cxx: Likewise.
+	* cmt/requirements: Likewise.
+	* test/BaseInfo_test.cxx: Likewise.
+
+2008-04-17  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-07-00.
+
+	* SGTools/IProxyDictWithPool.h: Add tryELRemap().
+	* src/IProxyDictWithPool.cxx: (new)
+
+2008-04-09  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-06-00.
+
+2008-04-07  scott snyder  <snyder@bnl.gov>
+
+	* SGTools/ptrhash.h: (new)
+	* SGTools/T2pMap.h: Use it.
+
+2008-03-31  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/DataBucketTraitFwd.h: (new)
+	* SGTools/asStorableFwd.h: (deleted)
+	* SGTools/StorableConversions.h: Use DataBucketTrait.
+
+	* SGTools/BaseInfo.h: Add BaseType.
+	* test/BaseInfo_test.cxx: Test it.
+
+2008-03-30  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/asStorableFwd.h: (new)
+	* SGTools/StorableConversions.h: Use it.
+
+	* SGTools/StorableConversions.h: Add IRegisterTransient arg to
+	fromStorable, Storable_cast.
+	* src/StorableConversions.cxx: Likewise.
+	* SGTools/DataProxy.icc: Pass proxy as IRegisterTransient arg to
+	Storable_cast.
+
+	* SGTools/DataProxy.h: Derive from IRegisterTransient.
+	* src/DataProxy.cxx: Likewise.
+
+2008-03-29  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/IRegisterTransient.h: (new)
+	* SGTools/DataBucket.h: Add optional IRT arg to cast().
+	* SGTools/DataBucket.icc: Likewise.
+	* SGTools/DataBucketBase.h: Likewise.
+
+2008-03-28  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/BaseInfo.h (class BaseInfo): Add baseinfo(), castfn().
+	* SGTools/BaseInfo.icc: Likewise.
+	* src/BaseInfo.cxx: Likewise.
+	* test/BaseInfo_test.cxx: Test.
+
+	* src/DataProxy.cxx (accessData): Register base instances in the
+	t2p map as well.
+
+2008-03-27  scott s snyder  <snyder@bnl.gov>
+
+	* share/VersionedKey_test.ref (VersionedKey): (new)
+
+	* SGTools/T2pMap.h: Change to use a hash map.
+
+2008-03-25  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/DataBucketBase.icc: Fix comments.
+
+2008-04-06  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-05-01
+	* removing injection of Stl-CLIDS from libSGTools.so (breaks CLIDComps test)
+	* R src/StlClids.cxx
+
+2008-04-04  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-05-00
+	* adding new CLIDs for a few builtins and STL containers
+	* updated and added ref files
+	* A SGTools/BuiltinsClids.h
+	* A SGTools/StlMapClids.h
+	* A SGTools/StlVectorClids.h
+	* A src/StlClids.cxx
+	* A share/VersionedKey_test.ref
+	* M cmt/requirements
+	* M test/DataBucket_test.cxx
+
+2008-03-26  Paolo Calafiura  
+	* tagging SGTools-00-04-03	
+	* SGTools/SGVersionedKey.h: adding new class
+	* test/VersionedKey_test.cxx: and its test
+
+2008-02-11  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-04-02
+	* adding dict. generation for vectors of DataProxy
+	* M SGTools/selection.xml
+	* M SGTools/SGToolsDict.h
+
+2007-12-14  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-04-01
+	* SGTools/DataBucket.icc: correctly handle case where T's copy 
+	  constructor is private
+
+2007-12-13  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-04-00
+	* extended DataBucketBase interface (clone)
+	* migration of ClassID_traits from CLIDSvc package to here
+	* M SGTools/BaseInfo.icc
+	* A SGTools/CLASS_DEF.h
+	* A SGTools/CLIDRegistry.h
+	* A SGTools/ClassID_traits.h
+	* M SGTools/DataBucket.h
+	* M SGTools/DataBucket.icc
+	* M SGTools/DataBucketBase.h
+	* M SGTools/DataBucketBase.icc
+	* M SGTools/DataProxy.icc
+	* M SGTools/StorableConversions.h
+	* M SGTools/safe_clid.icc
+	* M cmt/requirements
+	* A src/CLIDRegistry.cxx
+	* M test/BaseInfo_test.cxx
+	* M test/DataBucket_test.cxx
+	* M test/safe_clid_test.cxx
+
+2007-12-10  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-03-18.
+	* SGTools/IStringPool.h: Fix typo; add missing #include.
+
+	* Tagging SGTools-00-03-17.
+	* SGTools/StringPool.h (class StringPool): Add dump().
+	* src/StringPool.cxx: Switch to using a hash table.  Add dump().
+	* test/StringPool_test.cxx: Test dump().
+	* share/StringPool_test.ref: Updated.
+
+	* SGTools/unordered_map.h: Moved here from DataModel.
+	* SGTools/unordered_set.h: Moved here from DataModel.
+	* SGTools/hashtable.h: Moved here from DataModel.
+	* test/hashtable_test.cxx: Moved here from DataModel.
+	* src/hashtable.cxx: Moved here from DataModel.
+	* share/hashtable_test.ref: Moved here from DataModel.
+	* cmt/requirements: Add it.
+
+2007-12-03  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-03-16.
+	* src/DataStore.cxx: Fix include path for ISGAudSvc.
+
+2007-11-09  Paolo Calafiura  <calaf@0-11-25-81-1e-12.dhcp.lbl.gov>
+
+	* Tagging SGTools-00-03-15
+	* src/DataProxy.cxx (DataProxy::accessData): downgrade FATAL to WARNING,
+	following policy.
+
+2007-11-07  Paolo Calafiura  
+
+	* Tagging SGTools-00-03-14
+	* src/DataStore.cxx: disable SGAudSvc by default (thanks Sebastien).
+	Enable adding SGAudSvc to theApp.CreateSvc
+
+2007-10-29  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-03-13.
+	* SGTools/selection.xml: Generate dict for DataProxy (for
+	debugging purposes).
+	* SGTools/SGToolsDict.h: Likewise.
+
+2007-10-12  Paolo Calafiura  
+
+	* src/DataStore.cxx (DataStore::DataStore): fix data members init order
+	* tagging as SGTools-00-03-12
+
+2007-10-03  Ilija Vukotic  <ivukotic@cern.ch>
+	* DataStore - speeded up SGAudSvc lookup
+	* tagging as SGTools-00-03-11
+
+2007-10-02  Ilija Vukotic  <ivukotic@cern.ch>
+	* src/DataStore.cxx changes how SGAudSvc is initialized
+	* last change made it not initialized. Few printouts added if problems.
+	* tagging as SGTools-00-03-10
+
+2007-08-29  Paolo Calafiura  <calaf@0-11-25-81-1e-12.dhcp.lbl.gov>
+
+	* SGTools/SGIFolder.h: added new method updateItemList (bug 29015) 
+	* tagging as SGTools-00-03-09
+
+2007-08-22  Paolo Calafiura  <calaf@localhost.localdomain>
+	* src/DataProxy.cxx (DataProxy::accessData): on error, return null ptr 
+	rather than throwing
+	* tagging as SGTools-00-03-08
+
+2007-08-15  Paolo Calafiura  <calaf@0-11-25-81-1e-12.dhcp.lbl.gov>
+
+	* src/DataStore.cxx (DataStore::SGAudSvc): new method to delay access
+	to SGAudSvc and dependency loop with StoreGateSvc
+	* tagging as SGTools-00-03-07
+
+2007-08-11 Ilija Vukotic <ivukotic@cern.ch>
+	* requirements fix
+	* tagging as SGTools-00-03-06
+	 
+2007-08-10 Ilija Vukotic <ivukotic@cern.ch>
+	* move ISGAudSvc.h from AthenaKernel to SGAudCore
+	* tagging as SGTools-00-03-05
+
+2007-07-26 Ilija Vukotic <ivukotic@cern.ch>
+	* Tagging SGTools-00-03-04
+	* fixing circular dependency
+	
+2007-07-23 Ilija Vukotic <ivukotic@cern.ch>
+	* Tagging SGTools-00-03-03
+	* fixed requirements
+	
+2007-07-19 Ilija Vukotic <ivukotic@cern.ch>
+	* Tagging SGTools-00-03-02
+	* added call to SGAudSvc
+
+2007-07-06  Paolo Calafiura  <calaf@0-d-60-fb-f8-d3.dhcp.lbl.gov>
+	* Tagging SGTools-00-03-01
+	* cmt/requirements: make chkconfig happy
+
+2007-06-06  Paolo Calafiura  
+	* Tagging SGTools-00-03-00
+	* SGTools/SGIFolder.h: new SG::IFolder interface, should be used 
+	instead of SG::Folder which was moved to the new SGComps component
+	library.
+
+2007-04-27  Paolo Calafiura  
+	* Tagging SGTools-00-02-10
+	* src/DataStore.cxx (clearStore):  in VERBOSE, print which dobjs are
+	cleared
+
+2007-03-13  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-02-09.
+	* test/StringPool_test.cxx: Forgot to commit.
+
+	* Tagging SGTools-00-02-08.
+
+	* SGTools/IProxyDictWithPool.h: (new)
+	* SGTools/IStringPool.h: (new)
+
+2007-03-11  scott snyder  <snyder@bnl.gov>
+
+	* gcc4 fixes:
+	* test/DataBucket_test.cxx (class AbstractType): Add a virtual
+	dtor to avoid compilation warnings.
+	* test/BaseInfo_test.cxx: Add missing <cassert> include.
+
+2007-03-08  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-02-07.
+
+	* cmt/requirements: Re-enable tests inadvertently commented out.
+
+	* SGTools/StringPool.h (class StringPool): Add aux args.  Change
+	signature of keyToString.  Add keyToString with aux arg.
+	* src/StringPool.cxx: Updated.
+	* test/StringPool_test.cxx: Updated.
+	* share/StringPool_test.ref: Updated.
+
+	* SGTools/crc64.h: Add crc64addint().
+	* src/crc64.cxx (crc64addint): (new)
+	* test/crc64_test.cxx: Update test.
+
+2007-03-07  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-02-06.
+
+	* SGTools/StringPool.h: (new)
+	* src/StringPool.cxx: (new)
+	* test/StringPool_test.cxx: (new)
+	* share/StringPool_test.ref: (new)
+	* cmt/requirements: Add the test.
+
+	* SGTools/crc64.h: (new)
+	* src/crc64.cxx: (new)
+	* test/crc64_test.cxx: (new)
+	* share/crc64_test.ref: (new)
+	* cmt/requirements: Add the test.
+
+2007-03-04  scott snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-02-05.
+	* share/SGFolder_test.ref: Updated.
+	* share/DataBucket_test.ref: Updated.
+
+2007-02-22  Sebastien Binet  <binet@lblbox>
+
+	* tagging SGTools-00-02-04
+	* SGTools/SGFolder.h: get rid of unneeded std::string copy
+
+2007-01-23  Peter van Gemmeren  <gemmeren@anl.gov>
+	* Tagging SGTools-00-02-03
+	* src/DataStore.cxx: Fix SG alias to be set for all events.
+
+2007-01-05  Scott Snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-02-01.
+
+	* SGTools/BaseInfo.h: Fix comments.
+	* SGTools/BaseInfo.icc: Likewise.
+	* src/BaseInfo.cxx: Likewise.
+
+	* SGTools/BaseInfo.h (class BaseInfoBase): Change s_bi_by_clid,
+	s_bi_by_ti to pointers, to avoid global ctor ordering problems
+	with static linking.
+
+2006-12-22  Paolo Calafiura <pcalafiura@lbl.gov>
+	* src/SGFolder.cxx: gaudi 19 setProperty
+	* share/*ref: updated for gaudi 19
+	* tag SGTools-00-02-00
+
+2006-12-21  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* DataStore (removeProxy): merge back 12.0.x branch change
+	* tag SGTools-00-01-14
+
+2006-12-20  Scott Snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-01-13.
+
+	* test/BaseInfo_test.cxx: Fix test failure in optimized mode.
+	* test/SGFolder_test.cxx: Likewise.
+
+2006-12-19  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGFolder (setProperty): hack to have it work with Gaudi v16 and v19
+	* test/SGTools.xml: replace old .sh test script
+	* tag SGTools-00-01-12
+
+2006-12-12 David Quarrie <David.Quarrie@cern.ch>
+	* src/SGFolder.cxx: 
+	* SGTools/SGFolder.h:
+	Add setProperty(std::string&) in preparation for Gaudi v1r19
+
+2006-12-05 David Quarrie <David.Quarrie@cern.ch>
+	* src/SGFolder.cxx: 
+	* SGTools/SGFolder.h:
+	Remove setProperty(std::istream) in preparation for Gaudi v1r19
+
+2006-11-17 Peter van Gemmeren <gemmeren@anl.gov>
+	* DataHeader: Remove DataHeader (now in DBDataModel).
+	* tag SGTools-00-01-09
+
+2006-11-07  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* src/DataBucketCast.cxx (castObject): removed printout.
+	* tag SGTools-00-01-08
+
+2006-11-06  Paolo Calafiura  <pcalafiura@lbl.gov>
+         * src/DataStore.cxx (removeProxy): added forceRemove flag 	 
+         * tag SGTools-00-01-01-04
+
+2006-09-25 David Quarrie <David.Quarrie@cern.ch>
+	* src/SGFolder.cxx: Minor tweak for 64-bit compatibility
+
+2006-08-28 Peter van Gemmeren <gemmeren@anl.gov>
+	* DataHeader: Add support for SG alias readback to TransientAddress.
+	* SGTools/TransientAddress.h: Add setAlias(const std::set<std::string>& keys)
+	function to assign the set of SG aliases.
+	* tag SGTools-00-01-06
+
+2006-08-23 Peter van Gemmeren <gemmeren@anl.gov>
+	* DataHeader: Add support for SG Key Alias to DataHeader.
+	Note: The DataHeader is in the process of moving to DBDataModel and will be
+	      removed from SGTools soon.
+	* tag SGTools-00-01-05
+
+2006-08-16  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-01-04.
+	* test/DataBucket_test.cxx: Test refcounting changes.
+
+	* Tagging SGTools-00-01-03.
+
+	* SGTools/DataBucket.h, SGTools/DataBucket.icc: If the held
+	pointer is a DataObject, then manage its refcount.
+	* SGTools/StorableConversions.h: Can now use the same asStorable
+	implementation for both the DataObject and non-DataObject cases.
+
+2006-08-07  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-01-02
+
+2006-08-03  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/DataStore.h: Add FORCE arg to clearStore.
+	* src/DataStore.cxx (clearStore): Likewise.
+	* SGTools/DataProxy.h: Add FORCE arg to requestRelease.
+	* src/DataProxy.cxx (requestRelease): Likewise.
+	(setDefaults): Properly maintain IConversionSvc refcounts.
+
+2006-05-31  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/DataStore.cxx (removeProxy):trying to make StatusCodeSvc happy 
+	* SGTools/DataProxy.h: remove superfluous StatusCode.h include
+	* tag SGTools-00-01-01
+
+2006-05-02  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGTools/DataProxy.h: make copy constructor and op= private (no impl)
+	* tag SGTools-00-01-00
+
+2006-04-19 S. Rajagopalan <srinir@bnl.gov>
+	* add method keys() to return all StoreGate Keys for a clid
+	* tag SGTools-00-00-63
+
+2006-04-12 S. Rajagopalan <srinir@bnl.gov>
+	* Fix remove proxy to release aliased proxies as well
+	* introduce typedefs and alias() method in DataProxy
+	* tag SGTools-00-00-62
+
+2006-04-10 S. Rajagopalan <srinir@bnl.gov>
+	* add alias feature
+	* change to DataStore (add addAlias())
+	* change to TransientAddress: save alias names
+	* Tag SGTools-00-00-61
+	
+2006-04-10  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* Tagging SGTools-00-00-60
+	* cmt/requirements: removed no_auto_imports from AtlasReflex -
+	tests are failing, is safer
+
+2006-04-09  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* Tagging SGTools-00-00-59
+	* SGTools/DataBucketCast.h: introduced simple class to cast
+	DataObject to real type from python
+
+2006-03-30  scott s snyder  <snyder@bnl.gov>
+
+	* src/DataStore.cxx (proxy): Restore logic change.
+
+	* Tagging SGTools-00-00-58.
+	* src/DataStore.cxx (proxy): Revert last change here for next
+	tag.
+
+2006-03-18  scott s snyder  <snyder@bnl.gov>
+
+	* share/SGFolder_test.ref: Updated.
+
+	* src/DataStore.cxx (proxy_exact): (new)
+	(proxy): Alter logic so that we return an exact match for the
+	default key, if it exists.
+	(addSymLink): Use proxy_exact.
+	* SGTools/DataStore.h: Add proxy_exact().
+
+2006-03-03  Scott Snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-00-57.
+
+	* src/TransientAddress.cxx: Fixes for gcc 3.4 compatibility.
+	* test/DataBucket_test.cxx: Likewise.
+	* test/safe_clid_test.cxx: Likewise.
+	* test/BaseInfo_test.cxx: Likewise.
+
+2005-11-30  scott s snyder  <snyder@bnl.gov>
+
+	* Tagging SGTools-00-00-56.
+
+2005-11-28  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/BaseInfo.h: Move BaseInfoBase from the icc file to
+	here.  Provide an interface for looking up BaseInfoBase instances
+	by clid or typeinfo name.  Adjust instance() so that the instances
+	are created at global ctor time, not when instance() is called.
+	* SGTools/BaseInfo.icc: Likewise.
+	* src/BaseInfo.cxx: Likewise.
+	* test/BaseInfo_test.cxx: Test the changes.
+
+2005-11-16 Peter van Gemmeren <gemmeren@anl.gov>
+	* tag SGTools-00-00-55
+
+2005-11-09  scott s snyder  <snyder@bnl.gov>
+
+	* src/DataHeader.cxx: (getPrimaryClassID): Don't return reference
+	to temporary.
+
+	* src/DataStore.cxx (removeProxy): Remove symlinks too.
+
+	* src/StorableConversions.cxx: (new)
+	* SGTools/StorableConversions.h: Add conversions from a DataObject
+	to a void* by CLID.
+	* src/DataProxy.cxx (DataProxy_cast): (new) Cast via CLID.
+	* SGTools/DataProxy.h: Add it.
+
+	* src/DataStore.cxx (addSymLink): Check that the symlink doesn't
+	already exist.
+
+2005-11-09 Peter van Gemmeren <gemmeren@anl.gov>
+	* Try re-adding new primary CLID member to DHE.
+	* tag SGTools-00-00-54
+
+2005-11-08  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/DataBucket.h: Change for BaseInfo methods being made
+	static.
+	* SGTools/DataBucket.icc: Likewise.
+
+	* SGTools/BaseInfo.h: Document and clean up.  Make BaseInfo
+	methods static.
+	* src/BaseInfo.cxx: Likewise.
+	* SGTools/BaseInfo.icc: (new)
+	* test/BaseInfo_test.cxx: Updated.
+
+	* SGTools/CallBackID.h: Change m_offset to long.
+	* SGTools/CallBackID.icc: Don't use printf to convert pointer;
+	cast through an alias.  This avoids gcc warnings.
+
+	* SGTools/safe_clid.h: Document and clean up.
+	* SGTools/safe_clid.icc: (new)
+
+2005-11-07  scott s snyder  <snyder@bnl.gov>
+
+	* SGTools/DataBucketBase.h (class DataBucketBase): Add cast()
+	functions.
+	* SGTools/DataBucketBase.icc: (new)
+	* SGTools/DataBucket.h: Add cast().
+	* SGTools/DataBucket.icc (cast): (new)
+	* SGTools/StorableConversions.h: Try to use BaseInfo to do pointer
+	conversions.
+	* test/DataBucket_test.cxx: Test pointer conversions.
+
+	* SGTools/safe_clid.h: (new)
+	* test/safe_clid_test.cxx: (new)
+	* share/safe_clid_test.ref: (new)
+	* cmt/requirements: Add safe_clid test.
+
+	* SGTools/BaseInfo.h: (new)
+	* src/BaseInfo.cxx: (new)
+	* test/BaseInfo_test.cxx: (new)
+	* share/BaseInfo_test.ref: (new)
+	* cmt/requirements: Add BaseInfo test.
+
+	* Tagging SGTools-00-00-53.
+
+	* share/DataBucket_test.ref: Update for Gaudi changes.
+	* share/SGFolder_test.ref: Likewise.
+
+	* src/DataHeader.cxx (getPrimaryClassID): Use the pool token to
+	decide which class ID is primary, rather than just choosing the
+	first one.
+	(getAddress): Use getPrimaryClassID rather than just choosing the
+	first one.
+
+2005-08-05 Peter van Gemmeren <gemmeren@bnl.gov>
+	* SGTools/selection.xml: add iterator needed by relPool as advised by Nuno FdB.
+	* tag SGTools-00-00-52
+
+2005-07-27 Peter van Gemmeren <gemmeren@bnl.gov>
+	* SGTools/selection.xml: remove temporary fix to selection file for seal 1.6.3.
+	* tag SGTools-00-00-51
+
+2005-06-25 Peter van Gemmeren <gemmeren@bnl.gov>
+	* For now back out the symlink fix as it may hurt backward compatibility.
+	* tag SGTools-00-00-50
+
+2005-06-24 Peter van Gemmeren <gemmeren@bnl.gov>
+	* Fix DataHeader symlink problem by adding new member to DHE.
+	* Enhance and rename some interface functions in DataHeader.
+	* tag SGTools-00-00-49
+
+2005-06-10  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* tag SGTools-00-00-47
+	* SGTools/selection.xml: temporary fix to selection file for seal
+	1.6.3. (pattern for set) can be changed back after seal 1.6.3
+
+2005-05-26 Charles Leggett
+	* src/SGFolder.cxx: fixes for unchecked status codes
+	* tag SGTools-00-00-46
+
+2005-04-17 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add DataHeader::appendInputDataHeader() function to copy all InputDataHeader refs.
+	* tag SGTools-00-00-45
+
+2005-04-06  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* tag SGTools-00-00-44
+
+	* SGTools/SGToolsDict.h (SGToolsDict): added back in iterator
+	instantiation.
+
+2005-03-18  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* tag SGTools-00-00-43
+	* SGTools/selection.xml: added selection for iterators - needed
+	for object relational
+
+2005-03-16 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add doxygen markups for DataHeader
+	* tag SGTools-00-00-42
+
+2005-03-11  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* SGTools/selection.xml: added pattern to generate iterator
+
+2005-03-08 Charles Leggett <charles.leggett@cern.ch>
+      * fix unmatched delete in CallBackID, change int to long cast
+      * tag SGTools-00-00-41
+
+2005-02-22 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add doxygen mainpage and info for DataHeader
+	* tag SGTools-00-00-40
+
+2004-12-23 S. Rajagopalan <srinir@bnl.gov>
+	* Remove check of primary clid for symLinks
+	* this is because symLinks may not be ordered correctly when
+	* read back from persistency
+	* tag SGTools-00-00-39
+	
+2004-11-15  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGTools/StorableConversions.h(const Storable_cast): 
+	fix TWO compilation errors in one line(thanks Joe B.!)
+	* test/DataBucket_test.cxx: test the above
+	* tag SGTools-00-00-38
+
+2004-11-04  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* test/SGTools.sh:: moved from TestTools
+	* share/*.ref: updated
+	* tag SGTools-00-00-37 
+
+2004-10-06 Peter van Gemmeren <gemmeren@bnl.gov>
+	* remove the hack again. EventSelectorAthenaPool can deal with it.
+	* tag SGTools-00-00-36
+
+2004-09-30 Peter van Gemmeren <gemmeren@bnl.gov>
+	* re-add primary CLID index to m_token in DataHeader needed by back navigation
+
+2004-09-09 Peter van Gemmeren <gemmeren@bnl.gov>
+	* change isInput to stateFlag (enum)
+	* tag SGTools-00-00-35
+
+2004-09-05  David Quarrie  <David.Quarrie@cern.ch>
+	* SGFolder - replace IID by InterfaceID since the former typedef
+	is no longer available
+
+004-08-12  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGTools/DataProxy.h: forward declare SG::T2pMap not T2pMap
+	* tag SGTools-00-00-33
+
+2004-08-04  David Quarrie  <David.Quarrie@cern.ch>
+
+	* cmt/requirements: Change dependency on Boost to one on
+	AtlasBoost to avoid a name clash
+
+2004-07-29 S. Rajagopalan <srinir@bnl.gov>
+	* TransientAddress.h : add setClid method
+	* DataProxy.cxx : correct clid in TAD if correct CLID found
+	* DataProxy.cxx : other minor clean-ups
+	* tag SGTools-00-00-31
+	
+2004-07-29 Peter van Gemmeren <gemmeren@bnl.gov>
+	* remove m_token modifs below.
+	* tag SGTools-00-00-30
+
+2004-07-29 Peter van Gemmeren <gemmeren@bnl.gov>
+	* include m_token modifs below.
+	* tag SGTools-00-00-29
+
+2004-07-29  RD Schaffer  <R.D.Schaffer@cern.ch>
+
+	* tag SGTools-00-00-28
+	* src/DataProxy.cxx (accessData): added loop over ids for symlink
+	mixup. DID NOT include m_token modifs below.
+
+2004-07-28 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add primary CLID index to m_token in DataHeader
+
+2004-07-14  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGTools/StorableConversions.h "copy" refCount when wrapping
+        DataObject in a bucket
+	* tag SGTools-00-00-27
+
+2004-07-13 S. Rajagopalan <srinir@bnl.gov>
+	* StorableConversion.h: Always put T in DataBucket even if T is
+	- a Gaudi "DataObject"
+	* remove asStorable_i and fromStorable_i methods and merge with
+	- asStorable and fromStorable respectively.
+	* tag SGTools-00-00-26
+
+2004-07-09 S. Rajagopalan <srinir@bnl.gov>
+	* create new class T2pMap which holds t2p map
+	* DataStore forwards calls to new T2pMap
+	* DataProxy now fills t2pmap in accessData
+	* only works if it is a non-DataObject for now
+	* tag SGTools-00-00-25
+	
+2004-06-24  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* updated ref outputs
+	* tag SGTools-00-00-24
+
+2004-06-21 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add unsetInput() function to DataHeader
+	* tag SGTools-00-00-23
+
+2004-05-12 Peter van Gemmeren <gemmeren@bnl.gov>
+	* remove key from IOpaqueAddress in DataHeader
+	* tag SGTools-00-00-21
+
+2004-05-03  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/DataProxy.cxx: include <cassert> (bug #3229)
+	* tag SGTools-00-00-20
+
+2004-04-23 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add some member functions to DataHeader
+	* tag SGTools-00-00-19
+
+2004-04-21  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/DataStore.cxx (pRange): make valgrind happy
+	* tag SGTools-00-00-18
+
+2004-03-26  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* SGTools/DataProxy.icc (DataProxy_cast): use getMessageSvc
+	* SGTools/StorableConversion.h: use getMessageSvc
+	* src/DataProxy.cxx (accessData): print a more informative error 
+	message and use getMessageSvc
+	* test/DataBucket_test.cxx: initGaudi to getMessageSvc
+	* tag SGTools-00-00-17
+
+2004-03-25  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* class SGFolder: minor change to const to support inheritance 
+	from Folder. Still to be finalized. Also to be fixed is the way
+	wild cards in ItemList are handled (now are simply passed on)
+
+2004-03-24 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add InputDataHeader vector to DataHeader class
+	* tag SGTools-00-00-16
+
+2004-03-17  Charles Leggett <charles.leggett@cern.ch>
+	* SGTools/CallBackID.* : added objName(), and ptr()
+	* tag SGTools-00-00-14
+
+2004-03-09  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/SGFolder.cxx: reverse order in which one tries to decode an 
+	item in the ItemList (removes fake error message)
+	* tag SGTools-00-00-13
+
+2004-02-25 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add isInput() flag to DataHeader
+	* tag SGTools-00-00-12
+
+2004-02-23 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add DataHeaderElement::getAddress(unsigned char Pool_StorageType) function
+	* tag SGTools-00-00-11
+
+2004-02-20 Peter van Gemmeren <gemmeren@bnl.gov>
+	* add DataHeader and DataHeaderElement Classes and Dictionary.
+	* DataHeader and DataHeaderElement are copies to replace EventHeader
+	* also got rid of some public data members.
+	* tag SGTools-00-00-10
+
+2004-02-19  Paolo Calafiura  <calaf@electra.lbl.gov>
+	* src/SGFolder.cxx (add): print error msg when type not in clid db 
+	* tag SGTools-00-00-09
+	
+2004-01-28  Paolo Calafiura  <calaf@electra.lbl.gov>
+	* src/SGFolder.cxx (Folder): check before setting outputLevel
+	* tag SGTools-00-00-08
+
+2004-01-23  Paolo Calafiura  <calaf@electra.lbl.gov>
+	* moved SG::Folder and its test here. 
+	Moved back the DataBucket_test here
+	* tag SGTools-00-00-07
+
+2003-12-01 S. Rajagopalan <srinir@bnl.gov>
+	* DataProxy:proxy(clid) : return 0 if more than one
+	  DataObject for default key ("") : ambiguous.
+	* Change ordering... process keyed request first
+	* tag SGTools-00-00-06 
+	
+2003-11-10  Charles Leggett <charles.leggett@cern.ch>
+	* added class CallBackID for IOVSvc
+	* DataBucketBase.h: fixed include guard
+	* tag SGTools-00-00-05
+
+2003-04-15  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/DataProxy.cxx: added <iostream>
+	* SGTools/*.h: used Charles script to add include guards
+	* tag SGTools-00-00-03
+
+2003-04-11  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* src/TransientAddress.cxx (TransientAddress): fix memory leak in
+	constructor with IOA
+	* tag SGTools-00-00-02
+
+2003-04-02  Paolo Calafiura  <pcalafiura@lbl.gov>
+	* initial release
+	* tag SGTools-00-00-01
+

File SGTools/CLASS_DEF.h

View file
  • Ignore whitespace
+#ifndef SGTOOLS_CLASS_DEF_H
+#define SGTOOLS_CLASS_DEF_H
+/** @file CLASS_DEF.h
+ *  @brief macros to associate a CLID to a type
+ *
+ *  @author Paolo Calafiura <pcalafiura@lbl.gov>
+ *  $Id: CLASS_DEF.h,v 1.3 2009-01-15 19:07:29 binet Exp $
+ */
+
+#ifndef SGTOOLS_CLASSID_TRAITS_H
+#include "SGTools/ClassID_traits.h"
+#endif
+#include <boost/preprocessor/stringize.hpp>
+
+/** @def CLASS_DEF(NAME, CID , VERSION) 
+ *  @brief associate a clid and a version to a type
+ *  eg 
+ *  @code 
+ *  CLASS_DEF(std::vector<Track*>,8901, 1)
+ *  @endcode 
+ *  @param NAME 	type name
+ *  @param CID 		clid
+ *  @param VERSION 	not yet used
+ */
+#define CLASS_DEF(NAME, CID , VERSION)		\
+  template <>					\
+  struct ClassID_traits< NAME > {				 \
+    typedef boost::is_base_and_derived<DataObject, NAME> isDObj_t;	\
+    BOOST_STATIC_CONSTANT(bool, s_isDataObject = isDObj_t::value);	\
+    typedef type_tools::Int2Type<s_isDataObject> is_DataObject_tag;	\
+    typedef type_tools::true_tag has_classID_tag;			\
+    static const CLID& ID() { static CLID c(CID); return  c; }		\
+    static const std::string& typeName() {				\
+      static const std::string s_name = #NAME;				\
+      return s_name;							\
+    }									\
+    static  Athena::PackageInfo packageInfo() {				\
+      static Athena::PackageInfo __pi( BOOST_PP_STRINGIZE(PACKAGE_VERSION_UQ)  ); \
+      return __pi;							\
+    }									\
+    static const std::type_info& typeInfo() {				\
+      return typeid (NAME);						\
+    }									\
+    typedef type_tools::true_tag has_version_tag;			\
+    BOOST_STATIC_CONSTANT(int, s_version = VERSION);			\
+    BOOST_STATIC_CONSTANT(bool, s_isConst = false);                     \
+  };									\
+  namespace detail {							\
+    const bool clidEntry_ ## CID =					\
+      CLIDRegistry::addEntry<CID>(ClassID_traits< NAME >::typeName(),	\
+				  ClassID_traits< NAME >::packageInfo(), \
+				  ClassName< NAME >::name());		\
+  } 
+
+
+/** @def CLASS_DEF2(ARG1, ARG2, CID , VERSION) 
+ *  @brief hack to use instead of CLASS_DEF when type name contains a comma ','
+ *  eg
+ *  @code 
+ *    CLASS_DEF2(map<int,string>,8900, 1)
+ *  @endcode 
+ *  @param ARG1         type name (1st part)
+ *  @param ARG2 	type name (2nd part)
+ *  @param CID 		clid
+ *  @param VERSION 	not yet used
+ */
+#define CLASS_DEF2(ARG1, ARG2, CID , VERSION)	\
+  template <>					\
+  struct ClassID_traits< ARG1,ARG2 > {					\
+    typedef boost::is_base_and_derived<DataObject, ARG1, ARG2 > isDObj_t; \
+    BOOST_STATIC_CONSTANT(bool, s_isDataObject = isDObj_t::value);	\
+    typedef type_tools::Int2Type<s_isDataObject> is_DataObject_tag;	\
+    typedef type_tools::true_tag has_classID_tag;			\
+    static const CLID& ID() {						\
+      static CLID c(CID); return  c;					\
+    }									\
+    static const std::string& typeName() {				\
+      static const std::string s_name = #ARG1 "," #ARG2;		\
+      return s_name;							\
+    }									\
+    static const std::type_info& typeInfo() {				\
+      return typeid (ARG1,ARG2);					\
+    }									\
+    static  Athena::PackageInfo packageInfo() {				\
+      return Athena::PackageInfo("Package-00-00-00");			\
+    }									\
+    typedef type_tools::true_tag has_version_tag;			\
+    BOOST_STATIC_CONSTANT(int, s_version = VERSION);			\
+    BOOST_STATIC_CONSTANT(bool, s_isConst = false);                     \
+  };									\
+  namespace detail {							\
+    const bool clidEntry_ ## CID =					\
+      CLIDRegistry::addEntry<CID> \
+      (ClassID_traits< ARG1,ARG2 >::typeName(),				\
+       ClassID_traits< ARG1,ARG2 >::packageInfo(),			\
+       ClassName< ARG1,ARG2 >::name());					\
+  } 
+
+#endif // not SGTOOLS_CLASS_DEF_H

File SGTools/ClassID_traits.h

View file
  • Ignore whitespace
+#ifndef SGTOOLS_CLASSID_TRAITS_H
+#define SGTOOLS_CLASSID_TRAITS_H
+/** @file ClassID_traits.h
+ * @brief  a traits class that associates a CLID to a type T
+ * It also detects whether T inherits from Gaudi DataObject
+ *
+ * @author Paolo Calafiura <pcalafiura@lbl.gov> - ATLAS Collaboration
+ * $Id: ClassID_traits.h,v 1.3 2009-01-15 19:07:29 binet Exp $
+ */
+#include <string>
+#include <typeinfo>
+
+#include <boost/config.hpp>
+#include <boost/type_traits/object_traits.hpp>
+#include <boost/concept_check.hpp>
+#include <boost/static_assert.hpp>
+
+#include "GaudiKernel/ClassID.h"
+#include "GaudiKernel/DataObject.h"
+#include "GaudiKernel/System.h"
+
+#include "SGTools/CLIDRegistry.h"
+#include "SGTools/ClassName.h"
+
+#include "AthenaKernel/tools/type_tools.h"
+#include "AthenaKernel/tools/AthenaPackageInfo.h"
+
+
+
+template <bool x> struct ERROR_you_should_use_the_CLASS_DEF_macro_to_define_CLID_and_VERSION;
+template <>       struct ERROR_you_should_use_the_CLASS_DEF_macro_to_define_CLID_and_VERSION<true>{};
+
+///internal use: issues a compilation error when condition B is false
+#ifdef BOOST_HAS_STATIC_ASSERT
+#define MY_STATIC_ASSERT( B ) \
+  static_assert (B, "You should use the CLASS_DEF macro to define CLID and VERSION");
+#else
+#define MY_STATIC_ASSERT( B ) \
+   typedef ::boost::static_assert_test<\
+      sizeof(ERROR_you_should_use_the_CLASS_DEF_macro_to_define_CLID_and_VERSION< (bool)( B ) >)>\
+         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
+#endif
+
+/** @class ClassID_traits
+ * @brief  a traits class that associates a CLID to a type T
+ * It also detects whether T inherits from Gaudi DataObject
+ */
+template <typename T>
+struct ClassID_traits {
+  //default only works for DataObjects
+  typedef boost::is_base_and_derived<DataObject, T> isDObj_t; 
+  ///flags whether T inherits from DataObject
+  BOOST_STATIC_CONSTANT(bool, s_isDataObject = isDObj_t::value); 
+
+  //default traits for class ID assignment
+  typedef type_tools::Int2Type<s_isDataObject> is_DataObject_tag;
+
+  ///the CLID of T
+  static const CLID& ID() { 
+    MY_STATIC_ASSERT(s_isDataObject);
+    return T::classID(); 
+  }
+
+  ///the demangled type name of T
+  static const std::string& typeName() {
+    MY_STATIC_ASSERT(s_isDataObject);
+    static const std::string s_tname = System::typeinfoName(typeid(T));
+    return s_tname;
+  }
+
+  ///the type id of T
+  static const std::type_info& typeId() {
+    MY_STATIC_ASSERT(s_isDataObject);
+    return typeid(T);
+  }
+
+  ///the package name of this CLASSDEF (and BY CONVENTION of the data obj too!)
+  static  Athena::PackageInfo packageInfo() {
+    MY_STATIC_ASSERT(s_isDataObject);
+    return Athena::PackageInfo("Package-00-00-00");
+  }
+
+  typedef type_tools::false_tag has_version_tag;
+  BOOST_STATIC_CONSTANT(int, s_version = 0);
+
+  // Is this is true, these types will automatically be made
+  // const when added to StoreGate.
+  BOOST_STATIC_CONSTANT(bool, s_isConst = false);
+};
+
+#undef MY_STATIC_ASSERT
+
+#endif // not SGTOOLS_CLASSID_TRAITS_H
+
+
+
+
+
+

File cmt/requirements

View file
  • Ignore whitespace
+package SGTools
+author Paolo Calafiura   <Paolo.Calafiura@cern.ch>
+author Srini Rajagopalan <srinir@bnl.gov>
+
+use AtlasPolicy    AtlasPolicy-*
+
+use CxxUtils	   CxxUtils-*	       Control	
+use AthenaKernel   AthenaKernel-*      Control
+
+#need IAddressProvider.h, IResetable.h
+
+use AtlasBoost     AtlasBoost-*	       External
+use GaudiInterface GaudiInterface-*    External
+
+library SGTools *.cxx 
+apply_pattern installed_library 
+
+private
+# Get the boost threads dso linked.
+macro_append Boost_linkopts $(Boost_linkopts_thread)
+macro_append SGTools_shlibflags $(Boost_linkopts)
+
+use SGAudCore 	   SGAudCore-*	       Control/SGMon
+use TestTools	   TestTools-*         AtlasTest
+use AtlasReflex    AtlasReflex-*       External  -no_auto_imports
+
+apply_pattern lcgdict dict=SGTools selectionfile=selection.xml headerfiles="-s=${SGTools_root}/SGTools SGToolsDict.h"
+
+apply_pattern UnitTest_run unit_test=VersionedKey
+apply_pattern UnitTest_run unit_test=DataBucket \
+  extrapatterns="^HistogramPersis.* INFO"
+apply_pattern UnitTest_run unit_test=BaseInfo
+apply_pattern UnitTest_run unit_test=safe_clid
+apply_pattern UnitTest_run unit_test=crc64
+apply_pattern UnitTest_run unit_test=StringPool
+
+macro_append DOXYGEN_INPUT " ../doc"
+end_private

File doc/MainPage.h

View file
  • Ignore whitespace
+/**
+
+@mainpage
+
+This package contains implementation classes for StoreGate.
+
+@section uses Packages used
+
+@htmlinclude used_packages.html
+
+@section requirements requirements 
+
+@include requirements
+
+@section refs More Documentation
+
+More information is available from the Athena wiki 
+<https://twiki.cern.ch/twiki/bin/view/Atlas/StoreGate>
+
+The code can be browsed using LXR 
+(http://alxr.usatlas.bnl.gov/lxr/source/atlas/Control/SGTools/)
+
+
+@author Paolo Calafiura <Paolo.Calafiura@cern.ch>
+*/

File ispellwords

View file
  • Ignore whitespace
+personal_ws-1.1 en 342
+updateItemList
+decls
+addSymLink
+clid
+resetOnly
+requestRelease
+DataBucketCast
+EventHeader
+cmt
+SGAudCore
+theApp
+CLIDSvc
+MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGTVIRGATTSYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+SGToolsDict
+StoreGateSvc
+SGTools
+bool
+bla
+Bleah
+blu
+Vukotic
+ProxyMap
+proxymap
+toObjectType
+dbbObject
+pSGAudSvc
+LXR
+StreamBuffer
+asStorable
+Leggett
+CxxUtils
+crc
+NoBase
+builtins
+cxx
+utils
+addAlias
+rawVersionKey
+FCA
+Calafiura
+DataObjects
+symlinks
+symLinks
+symlinked
+symLinked
+castTo
+cassert
+typeinfoName
+speeded
+IOA
+addInit
+addint
+CLASSVERSION
+malloc
+DataList
+initGaudi
+endcode
+AtlasBoost
+hpp
+StorableConversions
+SGIFolder
+SGFolder
+pDObj
+MyDataObj
+getMessageSvc
+printf
+gcc
+getAddress
+IProxyDictWithPool
+pRange
+Quarrie
+DataModel
+symlink
+DataHandles
+ctor
+gaudi
+cout
+gdo
+typedef'd
+pObj
+MyKey
+BaseInfoBase
+substr
+mem
+ajsdla
+StorageType
+TransientAddress
+NN
+Nuno
+accessData
+msg
+ns
+pok
+TestTools
+poly
+unsetInput
+regbase
+retrieveAllVersions
+pre
+StatusCode
+dbb
+modifs
+DataHeaderElement
+SG
+sg
+circ
+DF
+timespec
+setAlias
+DHE
+rhs
+ClassID
+classID
+wrt
+ItemList
+CLIDs
+CLID's
+clids
+refcount
+refCount
+Xed
+xd
+AbstractDataObj
+dp
+dep
+createObj
+InputDataHeader
+dtor
+TrEMBL
+Gemmeren
+AbstractType
+BaseInfoBaseImpl
+setDefaults
+lkjasd
+lkajsd
+VK
+vkey
+wiki
+AthenaKernel
+persistency
+AddressProvider
+typeinfo
+paks
+mutex
+StringPool
+CLIDComps
+MacOSX
+outputLevel
+typeName
+copyVK
+pMap
+pmap
+IStringPool
+VersionedKey
+CallBackID
+behaviour
+metafunction
+pointee
+setClid
+converterTo
+IConversionSvc
+stdout
+stringToKey
+DataBucket
+DataSvc
+param
+stateFlag
+const
+vtable
+IOVSvc
+hashtable
+AtlasReflex
+svcLocator
+SGVersionedKey
+templated
+isInput
+dobjs
+fromStorable
+DBDataModel
+ptr
+DataObj
+SFINAE
+dobj
+DataBucketTraitFwd
+genreflex
+DataBucketBase
+StlVectorClids
+registerKey
+MessageSvc
+relPool
+ClassName
+Binet
+binet
+castObject
+BuiltinsClids
+sgkey
+ProxyProvider
+InterfaceID
+INITIALCRC
+SLC
+GaudiKernel
+DEFS
+scott
+CLASSDEF
+DataHeader
+cptr
+getPrimaryClassID
+clearStore
+everything's
+snyder
+ssnyder
+decl
+doxygen
+SGComps
+aspdk
+CLIDREG
+castfnTo
+outObject
+dquarrie
+DataStore
+FIXME
+forceRemove
+dict
+src
+tinfo
+DLT
+demangled
+refcounting
+valgrind
+Stl
+DEFAULTKEY
+refcounts
+str
+MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGDVIRGATTHYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+clearAddress
+DATAVECTOR
+DataVector
+StatusCodeSvc
+SWISSPROT
+CLIDRegistry
+namespace
+aliasKey
+typeid
+Schaffer
+schaffer
+inlined
+chkconfig
+DataBucketTrait
+tryELRemap
+tdef
+Storable
+storable
+Rajagopalan
+impl
+castfn
+CreateSvc
+IPageAccessControlSvc
+toType
+INLINE
+func
+SGAudSvc
+IOpaqueAddress
+objName
+ISGAudSvc
+EventSelectorAthenaPool
+html
+baseinfo
+BaseInfo
+IProxyRegistry
+icc
+arg
+eg
+i'll
+ULL
+noAudSvc
+pObject
+API
+FdB
+IID
+atoi
+irt
+ElementLink
+resetFlag
+MAXCLID
+pgref
+vkeys
+addEntry
+BaseInfoImpl
+readback
+keyToString
+MINCLID
+strlen
+eval
+indep
+converterToHelper
+StoreGate
+struct
+iostream
+ints
+versionKey
+StoreMap
+pMember
+BaseType
+IRegisterTransient
+Versioned
+mixup
+ClassIDSvc
+IMessageSvcHolder
+SAFECLID
+ECMA
+SGFolderItem
+retrieveHighestVersion
+Ilija
+args
+IRegistry
+initlist
+removeProxy
+enum
+GaudiDataObj
+uint
+init
+DataProxy
+inObject
+consultProvider
+isDataObject
+libSGTools
+IProxyDict
+ptrhash
+htmlinclude
+setProperty
+IDC
+DataObject
+mainpage
+calaf
+CGL
+asd
+StorableConversion
+pRegister
+STLMAPCLIDS
+StlMapClids
+addr
+laskjkd

File share/BaseInfo_test.ref

  • Ignore whitespace
Empty file added.

File share/DataBucket_test.ref

View file
  • Ignore whitespace
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr $Revision: 1.9 $
+                                          running on lxplus206.cern.ch on Sun Mar  4 02:59:24 2007
+====================================================================================================================================
+ApplicationMgr       INFO Application Manager Configured successfully
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...   INFO  'CnvServices':[ 'HbookHistSvc' , 'RootHistSvc' ]
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+int has_classID 244260744 version 1 and does not inherit from DataObject
+const int* has_classID 244260744
+vector<int> has_classID 22592129
+GaudiDataObj has_classID 8010 and does inherit from DataObject
+MyDataObj has_classID 8000 and does not inherit from DataObject
+AbstractDataObj has_classID 8011
+AbstractType has_classID 8004
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xb6d2d0 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8000
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xb6d2d0 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8000
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING null input pointer 
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xb6d5d0 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8010
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xb6d2d0 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8010
+<<---Error Message Ends-------
+*** DataBucket_test OK ***

File share/StringPool_test.ref

View file
  • Ignore whitespace
+000000003FFFFFFF 
+000000000FD9252C MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGTVIRGATTSYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+000000000EE07ECA MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGDVIRGATTHYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+000000000AC0B3E3 ajsdla lkjasd lkjasd 
+000000003979421C paks  aspdk pok  asd
+000000001B269909 asd  laskjkd lkajsd
+pool dump
+          3fffffff         0 
+           ac0b3e3         3 ajsdla lkjasd lkjasd 
+           ee07eca         2 MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGDVIRGATTHYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+          3979421c         4 paks  aspdk pok  asd
+           fd9252c         1 MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGTVIRGATTSYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE
+          1b269909         5 asd  laskjkd lkajsd

File share/VersionedKey_test.ref

View file
  • Ignore whitespace
+Versioned Key 1=;01;bla
+Versioned Key 2=;99;Bleah
+Versioned Key 3=;00;default

File share/crc64_test.ref

  • Ignore whitespace
Empty file added.

File share/safe_clid_test.ref

  • Ignore whitespace
Empty file added.

File src/BaseInfo.cxx

View file
  • Ignore whitespace
+// $Id: BaseInfo.cxx,v 1.9 2008-11-25 21:45:04 ssnyder Exp $
+/**
+ * @file  SGTools/BaseInfo.cxx
+ * @author scott snyder
+ * @date Nov 2005
+ * @brief Provide an interface for finding inheritance information
+ *        at run time.
+ *        Out-of-line implementation.
+ */
+
+#include "SGTools/BaseInfo.h"
+//#include "boost/thread/mutex.hpp"
+#include <map>
+
+
+namespace SG {
+
+
+struct BaseInfoBaseImpl {
+  /// Structure to hold information about one base.
+  struct info {
+    /// Constructor.  @a converter* and @a is_virtual are as for @a add_info.
+    info (BaseInfoBase::castfn_t* converter = 0,
+          BaseInfoBase::castfn_t* converterTo = 0,
+          bool is_virtual = false);
+
+    /// Converter function.  Takes a @a T* and converts to a pointer
+    /// to this base.
+    BaseInfoBase::castfn_t* m_converter;
+
+    /// Converter function.  Takes a pointer to this base and converts
+    /// to @a T*.
+    /// to this base.
+    BaseInfoBase::castfn_t* m_converterTo;
+
+    /// True if the derivation from this base to @a T is via
+    /// virtual derivation.
+    bool m_is_virtual;
+  };
+
+
+  /// CLID of this class.
+  CLID m_clid;
+
+  /// Set to true when first created.
+  /// Reset after we scan for init functions.
+  bool m_needs_init;
+
+  /// @c std::type_info of this class.
+  const std::type_info* m_typeinfo;
+
+
+  /// Hold base information indexed by class ID.
+  typedef std::map<CLID, info> clid_map_type;
+  clid_map_type m_clidmap;
+
+  /// Hold base information indexed by @a type_info.
+  typedef std::map<const std::type_info*, info> ti_map_type;
+  ti_map_type m_timap;
+
+
+  /// Map of all CLIDs to @c BaseInfoBase instances.
+  typedef std::map<CLID, BaseInfoBase*> bi_by_clid_map_type;
+  static bi_by_clid_map_type* s_bi_by_clid;
+
+  /// Map of all @c type_info names to @c BaseInfoBase instances.
+  typedef std::map<const std::type_info*, BaseInfoBase*> bi_by_ti_map_type;
+  static bi_by_ti_map_type* s_bi_by_ti;
+
+  /// Holds @c BaseInfo classes awaiting initialization.
+  /// This is used to defer initialization until everything's loaded.
+  struct init_elem_t {
+    CLID m_clid;
+    const std::type_info* m_ti;
+    BaseInfoBase::init_func_t* m_init_func;
+  };
+  static std::vector<init_elem_t>* s_init_list;
+
+
+  // To make sure that the maps get deleted at program termination.
+  struct Deleter {
+    ~Deleter();
+  };
+  static Deleter s_deleter;
+
+  /// For thread-safety.
+  //static boost::mutex s_mutex;
+};
+
+
+
+/**
+ * @brief Return the CLID for this class.
+ */
+CLID BaseInfoBase::clid() const
+{
+  return m_impl->m_clid;
+}
+
+
+/**
+ * @brief Return the @c std::type_info for this class.
+ */
+const std::type_info& BaseInfoBase::typeinfo() const
+{
+  return *m_impl->m_typeinfo;
+}
+
+
+/**
+ * @brief Cast to a base pointer.
+ * @param p The pointer to cast (a @a T* cast to a @a void*).
+ * @param clid ID of the class to which to cast.
+ * @return The pointer cast to the requested type, returned
+ *         as a @a void*.  @a clid must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ */
+void* BaseInfoBase::cast (void* p, CLID clid) const
+{
+  const BaseInfoBaseImpl::clid_map_type& map = m_impl->m_clidmap;
+  BaseInfoBaseImpl::clid_map_type::const_iterator i = map.find (clid);
+  if (i != map.end())
+    return i->second.m_converter (p);
+  return 0;
+}
+
+
+/**
+ * @brief Cast to a base pointer.
+ * @param p The pointer to cast (a @a T* cast to a @a void*).
+ * @param clid @a type_info of the class to which to cast.
+ * @return The pointer cast to the requested type, returned
+ *         as a @a void*.  @a tinfo must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ */
+void* BaseInfoBase::cast (void* p, const std::type_info& tinfo) const
+{
+  const BaseInfoBaseImpl::ti_map_type& map = m_impl->m_timap;
+  BaseInfoBaseImpl::ti_map_type::const_iterator i = map.find (&tinfo);
+  if (i != map.end())
+    return i->second.m_converter (p);
+  return 0;
+}
+
+
+/**
+ * @brief Cast to a derived pointer.
+ * @param p The pointer to cast (a @a B* cast to a @a void*).
+ * @param clid ID of the class @a B from which to cast.
+ * @return The pointer cast to the requested type, returned
+ *         as a @a void*.  @a clid must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ *         0 will also be returned if the @a dynamic_cast fails.
+ */
+void* BaseInfoBase::castTo (void* p, CLID clid) const
+{
+  const BaseInfoBaseImpl::clid_map_type& map = m_impl->m_clidmap;
+  BaseInfoBaseImpl::clid_map_type::const_iterator i = map.find (clid);
+  if (i != map.end() && i->second.m_converterTo)
+    return i->second.m_converterTo (p);
+  return 0;
+}
+
+
+/**
+ * @brief Cast to a derived pointer.
+ * @param p The pointer to cast (a @a B* cast to a @a void*).
+ * @param clid @a type_info of the class @a B from which to cast.
+ * @return The pointer cast to the requested type, returned
+ *         as a @a void*.  @a tinfo must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ *         0 will also be returned if the @a dynamic_cast fails.
+ */
+void* BaseInfoBase::castTo (void* p, const std::type_info& tinfo) const
+{
+  const BaseInfoBaseImpl::ti_map_type& map = m_impl->m_timap;
+  BaseInfoBaseImpl::ti_map_type::const_iterator i = map.find (&tinfo);
+  if (i != map.end() && i->second.m_converterTo)
+    return i->second.m_converterTo (p);
+  return 0;
+}
+
+
+/**
+ * @brief Return a function for casting to a base pointer.
+ * @param clid ID of the class to which to cast.
+ * @return A function to convert a pointer to a @c T to a pointer
+ *         to the type identified by @a clid.
+ *         @a clid must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ */
+BaseInfoBase::castfn_t* BaseInfoBase::castfn (CLID clid) const
+{
+  const BaseInfoBaseImpl::clid_map_type& map = m_impl->m_clidmap;
+  BaseInfoBaseImpl::clid_map_type::const_iterator i = map.find (clid);
+  if (i != map.end())
+    return i->second.m_converter;
+  return 0;
+}
+
+
+/**
+ * @brief Return a function for casting to a base pointer.
+ * @param clid @a type_info of the class to which to cast.
+ * @return A function to convert a pointer to a @c T to a pointer
+ *         to the type identified by @a tinfo.
+ *         @a tinfo must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ */
+BaseInfoBase::castfn_t*
+BaseInfoBase::castfn (const std::type_info& tinfo) const
+{
+  const BaseInfoBaseImpl::ti_map_type& map = m_impl->m_timap;
+  BaseInfoBaseImpl::ti_map_type::const_iterator i = map.find (&tinfo);
+  if (i != map.end())
+    return i->second.m_converter;
+  return 0;
+}
+
+
+/**
+ * @brief Return a function for casting to a derived pointer.
+ * @param clid ID of the class @a B from which to cast.
+ * @return A function to convert a pointer to a @a B to a pointer
+ *         to a @a T.  @a B must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ *         0 will also be returned if the @a dynamic_cast fails.
+ */
+BaseInfoBase::castfn_t* BaseInfoBase::castfnTo (CLID clid) const
+{
+  const BaseInfoBaseImpl::clid_map_type& map = m_impl->m_clidmap;
+  BaseInfoBaseImpl::clid_map_type::const_iterator i = map.find (clid);
+  if (i != map.end())
+    return i->second.m_converterTo;
+  return 0;
+}
+
+
+/**
+ * @brief Return a function for casting to a derived pointer.
+ * @param clid @a type_info of the class @a B from which to cast.
+ * @return A function to convert a pointer to a @a B to a pointer
+ *         to a @a T.  @a B must be known to be a base
+ *         of @a T; otherwise, 0 will be returned.
+ *         0 will also be returned if the @a dynamic_cast fails.
+ */
+BaseInfoBase::castfn_t*
+BaseInfoBase::castfnTo (const std::type_info& tinfo) const
+{
+  const BaseInfoBaseImpl::ti_map_type& map = m_impl->m_timap;
+  BaseInfoBaseImpl::ti_map_type::const_iterator i = map.find (&tinfo);
+  if (i != map.end())
+    return i->second.m_converterTo;
+  return 0;
+}
+
+
+/**
+ * @brief Return the class IDs of all known bases of @a T (that
+ *        have class IDs).  The list will include @a T itself.
+ */
+std::vector<CLID> BaseInfoBase::get_bases() const
+{
+  const BaseInfoBaseImpl::clid_map_type& map = m_impl->m_clidmap;
+  std::vector<CLID> v;
+  v.reserve (map.size());
+  for (BaseInfoBaseImpl::clid_map_type::const_iterator i = map.begin();
+       i != map.end();
+       ++i)
+    v.push_back (i->first);
+  return v;
+}
+
+
+/**
+ * @brief Return the @c type_info's of all known bases of @a T.
+ *        The list will include @a T itself.
+ */