[root] / trunk / core / meta / src / TSchemaRule.cxx Repository:
ViewVC logotype

Log of /trunk/core/meta/src/TSchemaRule.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 29066 byte(s)
Diff to previous 34885
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 34885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 13:33:08 2010 UTC (4 years, 5 months ago) by pcanal
File length: 28986 byte(s)
Diff to previous 34641
Fix uninitialized var

Revision 34641 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 28 18:12:36 2010 UTC (4 years, 5 months ago) by pcanal
File length: 28673 byte(s)
Diff to previous 33832
Add support for writing I/O customization rules that updates data member that
are fixed size array.

Revision 33832 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 10 16:35:19 2010 UTC (4 years, 7 months ago) by axel
File length: 28647 byte(s)
Diff to previous 32644
Don't access [0] of an empty string (MSVC2010).

Revision 32644 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 17 13:58:28 2010 UTC (4 years, 10 months ago) by pcanal
File length: 28605 byte(s)
Diff to previous 29276
Add the ability to feed I/O customization rules from a text
file, the following 3 files are checked at start up;
     $ROOTSYS/etc/class.rules (or ROOTETCDIR/class.rules)
     $HOME/class.rules
     ./class.rules 

Add a short form to the I/O customization rules.  The 2 syntaxes are:
Short form:
   [type=Read] classname membername [attributes=... ] [version=[...] ] [checksum=[...] ] [oldtype=...] [code={...}]
Long form:
   [type=Read] sourceClass=classname [targetclass=newClassname] [ source="type membername; [type2 membername2]" ]
        [target="membername3;membername4"] [attributes=... ] [version=...] [checksum=...] [code={...}|functionname]

Add a new element to the rules: attributes
Currently the only 2 attributes supported are 'Owner' and 'NotOwner' which
indicates to whether the data member 'owns' the objects it is pointing to.

Store all the rules defined for all the classes stored in a TFile in the
same list as the StreamerInfo.   The rules are stored as a sub list of
TObjString and the list is named 'listOfRules'

TClass: when creating or registering a class we now alway remove the 
any part of the class name that is a default template argument of a STL
container. (i.e. the allocator in pair<int,vector<int,allocator> >
which becomes pair<int,vector<int> >)

TList: Improve the performance of RemoveLast by customizing it for TList.

Revision 29276 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 1 05:09:42 2009 UTC (5 years, 6 months ago) by pcanal
File length: 19462 byte(s)
Diff to previous 27938
Fix the initialization of the checksum information for a TSchemaRule
(hence fixing the lookup based on checksum)

Revision 27938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 26 09:53:23 2009 UTC (5 years, 10 months ago) by pcanal
File length: 19455 byte(s)
Diff to previous 25473
Fix the setting a transient member from existing persistent member(s).

Revision 25473 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 19 16:28:54 2008 UTC (6 years, 4 months ago) by pcanal
File length: 18536 byte(s)
Diff to previous 25450
Fix Wshadow warnings

Revision 25450 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 18 21:13:42 2008 UTC (6 years, 4 months ago) by pcanal
File length: 18516 byte(s)
Copied from: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx revision 25449
Diff to previous 25449
Import the code from the branch dev/datamodelevolution revision 25436

This implements the infrastructure for the new Data Model Evolution Scheme.

This Data Model Evolution is brought to your courtesy of BNL/STAR/ATLAS/Fermi/Cern

Current Capabilities:
  Assign values to transient data members
  Rename classes
  Rename data members
  Change the shape of the data structures or convert one class structure to another
  Change the meaning of data members
  Ability to access the TBuffer directly when needed
  Ensure that the objects in collections are handled in the same way as the ones stored separately
  Supported in object-wise, member-wise and split modes.

Coming soon:
  Make things operational also in bare ROOT mode
  Ability to transform data before writing
  Support for changing the class type of nested object in a split branch
  Support for access to onfile version of nested objects from within the parent rule

LinkDef rule syntax:
  Setting a transient member:

#pragma read sourceClass="ACache" targetClass="ACache" source="" version="[1-]" target="zcalc" \
   code="{ zcalc = false; }"

  Setting a new member from 2 removed members

#pragma read sourceClass="ACache" targetClass="ACache" source="int x; int y; char c"  version="[8]" target="z" \
   code="{ z = onfile.x*1000 + onfile.y*10; }"

   Renaming a class

#pragma read sourceClass="ACache" version="[8]" targetClass="Axis" \
   source="int x; int y;"  target="z" \
   code="{ z = onfile.x*1000 + onfile.y*
#pragma read sourceClass="ACache" version="[9]" targetClass="Axis";

Selection XML syntax

  <read  sourceClass="ACache" targetClass="ACache" source="" version="[1-]" target="zcalc">
  <![CDATA[
   { zcalc = false; }
  ]]></read>


Revision 25449 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 18 20:18:59 2008 UTC (6 years, 4 months ago) by pcanal
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 18516 byte(s)
Diff to previous 25211
Add missing documentation

Revision 25211 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 22 14:57:02 2008 UTC (6 years, 5 months ago) by ljanyst
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 16445 byte(s)
Diff to previous 25193
Part of the code for using foreign streamer info to read the class, works in non-split mode for objects, collections of objects and collections of pointers

Revision 25193 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 21 03:36:03 2008 UTC (6 years, 5 months ago) by pcanal
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 16001 byte(s)
Diff to previous 24990
white space

Revision 24990 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 30 19:02:44 2008 UTC (6 years, 5 months ago) by pcanal
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 15999 byte(s)
Diff to previous 24976
Update to support both typename and varname in the source

Revision 24976 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 29 19:38:54 2008 UTC (6 years, 5 months ago) by pcanal
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 14558 byte(s)
Diff to previous 24918
pass along the rules that points to 'new members'; this implements setting transient members

Revision 24918 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 23 13:08:14 2008 UTC (6 years, 6 months ago) by ljanyst
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 14370 byte(s)
Diff to previous 24910
Adding some missing functionality to TSchemaRule and propagating the rules from dictionary code to TClass

Revision 24910 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 22 17:01:31 2008 UTC (6 years, 6 months ago) by ljanyst
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 11700 byte(s)
Diff to previous 24903
Code for adding/removing rules from the rule set and rule(set) consistency checking added

Revision 24903 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Jul 21 19:53:01 2008 UTC (6 years, 6 months ago) by pcanal
Original Path: branches/dev/datamodelevolution/core/meta/src/TSchemaRule.cxx
File length: 9198 byte(s)
From lukasz: partial SchemeRule/RuleSet implementation

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9