REFLEX_5_08_00_2
2006-01-30 11:59 roiser <Stefan.Roiser@cern.ch>
* reflex/build : configure.ac reflex/inc/Reflex/Builder: Makefile.am
add two include files in the Builder dir for autoconf, new version
5.08.00.2
2006-01-27 17:10 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, inc/Reflex/Any.h, inc/Reflex/Callback.h,
src/Tools.cxx, test/test_Reflex_simple2.cxx,
test/testDict2/TemplatedClasses.h, test/testDict2/selection.xml:
fixing bug #12496 overview: Array of std::maps crashes on write
- Tools::GetBaseName was returning the wrong value for arrays of templated
classes
This functionality is not used from within Reflex but Cintex uses it.
- Putting dummy constructors in Any and ICallBack to silence gcc 4.0
2006-01-27 14:35 roiser <Stefan.Roiser@cern.ch>
* reflex/build/configure.ac:
change Reflex version in configure.ac
REFLEX_5_08_00_1
2006-01-26 09:07 roiser <Stefan.Roiser@cern.ch>
* reflex/test/: testDict1/Makefile.am, testDict2/Makefile.am:
rename test library names
2006-01-23 17:16 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, inc/Reflex/Member.h, inc/Reflex/MemberBase.h,
python/genreflex/gendict.py, python/genreflex/selclass.py,
src/ScopeName.cxx, src/TypeName.cxx,
test/test_ReflexBuilder_unit.cxx, test/test_Reflex_generate.cxx,
test/test_Reflex_simple1.cxx, test/test_Reflex_simple2.cxx,
test/test_Reflex_unit.cxx, test/testDict2/Class2Dict.h,
test/testDict2/ClassA.h, test/testDict2/TemplatedClasses.h,
test/testDict2/selection.xml:
patches for v5-08-00b:
source code generation:
- rename cpp selction namespace (ROOT::Reflex::Selection)
- check for inner private base classes in shadow classes
- rename dummy types for unnamed enums and unknown types
- fix for type generation of pointer to const/volatile member
- fix for type generation of templated member operators
- fix for counting of template parameters containing parentheses
- add selections also after exclusion of classes
Reflex library:
- Member.h: new function Member::IsArtificial()
- fix for checking of preceding "::" in type and scope names
2006-01-20 18:27 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex-rootcint.py:
several changes for the rootcint wrapper to genreflex
- include more standard headers by default
- change cpp selection name
- exclude templated abstract classes (for the time being)
- remove -DSYSV from the invocation to gccxml
- remove trailing spaces before the semi colon in the Linkdef statements
2006-01-20 18:24 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/gendict.py:
- creating proper types for const/volatile methods
- fix for checking of first level template parameters (in case of types containing
parenthesis and colons e.g. a function pointer with more than one argument)
2006-01-17 15:59 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/gendict.py:
check for inheritance of private/protected inner classes for shadow generation
2006-01-16 18:11 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/gendict.py:
From Pere:
fix generation of function member for templated operators
2006-01-16 18:08 roiser <Stefan.Roiser@cern.ch>
* reflex/: python/genreflex/gendict.py, test/testDict2/ClassA.h,
test/testDict2/selection.xml:
From Pere:
- Fixed dictionary loading crash when inner private/protected enumerations
are generated.
2006-01-10 09:17 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
make variables in Module.mk unique
2006-01-10 09:17 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/selclass.py:
fixed typo, colon at the end of single entry tuple
2006-01-09 08:24 roiser <Stefan.Roiser@cern.ch>
* reflex/: python/genreflex/gendict.py,
python/genreflex/selclass.py, test/testDict2/selection.xml:
- Renamed namespace for cpp selection from "Select" to "Selection" (consistent
with SEAL version)
- fixed bug reported by RD, classes selected after an exclusion element were
not taken into account
- added test case
2006-01-06 16:09 roiser <Stefan.Roiser@cern.ch>
* reflex/: python/genreflex/selclass.py,
test/test_Reflex_simple2.cxx, test/testDict2/Class2Dict.h,
test/testDict2/TemplatedClasses.h, test/testDict2/selection.xml:
fixed bug #14269 problem in parsing xml file for classes with
added test case
2006-01-06 16:09 roiser <Stefan.Roiser@cern.ch>
* reflex/test/testDict2/TemplatedClasses.h:
file TemplatedClasses.h was added on branch v5-08-00-patches on
2006-01-06 11:26 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Builder/TypeBuilder.h,
test/test_ReflexBuilder_unit.cxx:
removing unnecessary OffsetOfN macros (they are not needed anymore with shadow
classes)
Changed test removing OffsetOfN and adding a work around (thx Axel)
2006-01-06 10:18 roiser <Stefan.Roiser@cern.ch>
* reflex/src/: ScopeName.cxx, Tools.cxx, TypeName.cxx:
make local functions static (thx snyder@fnal.gov)
2006-01-06 10:01 roiser <Stefan.Roiser@cern.ch>
* reflex/: src/ScopeName.cxx, test/test_ReflexBuilder_unit.cxx,
test/test_Reflex_simple2.cxx:
- Added check for leading "::" also for lookup of scopes
- Added test and also test for iteration over types/members
2006-01-06 09:34 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, inc/Reflex/Member.h, inc/Reflex/MemberBase.h,
src/TypeName.cxx, test/test_ReflexBuilder_unit.cxx,
test/test_Reflex_generate.cxx, test/test_Reflex_simple1.cxx,
test/test_Reflex_simple2.cxx, test/test_Reflex_unit.cxx:
From Pere:
- Changes to Module.mk for windows compliance
- added function Member::IsArtificial()
- check for leading "::" when lookup of types
2005-12-14 19:14 brun <Rene.Brun@cern.ch>
* reflex/: inc/Reflex/Builder/CollectionProxy.h,
python/genreflex/gendict.py:
From Stefan:
Fix for shadow class generation for member which are containers of private
types
2005-12-14 07:18 brun <Rene.Brun@cern.ch>
* reflex/python/genreflex/gendict.py:
From Stefan:
a triviality patch in the python scripts but would be needed by POOL in
order to move to ROOT/Reflex.
2005-12-13 16:59 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex-rootcint.py:
fix typo
2005-12-13 11:00 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Builder/CollectionProxy.h:
fix typo
2005-12-13 10:59 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Builder/CollectionProxy.h:
fix typo
2005-12-13 10:45 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/gendict.py:
make stub function for extra delete/new of arrays static
remove translation to escaped strings for datamembers in shadow classes
2005-12-13 10:22 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Builder/CollectionProxy.h:
fix typo
2005-12-13 09:56 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/: gendict.py, genreflex-rootcint.py:
gendict.py: put stub functions and class builders into the unnamed namespace
gendict-rootcint.py: fixes for the invocation of gccxml - reordering, removing
of arguments passed in by rootcint
2005-12-12 23:18 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex.py:
corrected default path for gccxml
2005-12-12 23:17 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex-rootcint.py:
added R__EXTERN macro
2005-12-12 23:02 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex-rootcint.py:
reverted logic of --gccxml-available option
2005-12-12 21:40 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex-rootcint.py:
adding test to check if gccxml is available, including standard ROOT headers
in dictionary header
2005-12-12 16:52 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Kernel.h:
protect __USE_STD_IOSTREAM for aix
2005-12-12 16:45 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, python/genreflex/gendict.py,
python/genreflex/genreflex.py:
changing code for windows batch files for dictionary generation
2005-12-12 15:40 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Kernel.h:
undefining macro CONST from windows.h
2005-12-12 10:14 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, inc/Reflex/Builder/EnumBuilder.h,
inc/Reflex/Builder/TypeBuilder.h,
inc/Reflex/Builder/VariableBuilder.h, python/genreflex/gendict.py,
python/genreflex/genreflex-rootcint.py,
python/genreflex/genreflex.py, python/genreflex/selclass.py,
src/Class.h, src/DataMember.cxx, src/Enum.cxx, src/Enum.h,
src/EnumBuilder.cxx, src/Union.h, src/VariableBuilder.cxx,
test/test_ReflexBuilder_unit.cxx:
necessary changes for Cintex support for enums
introduction of genreflex-rootcint which produces reflex dictionaries understanding
rootcint options
2005-12-09 08:38 roiser <Stefan.Roiser@cern.ch>
* reflex/test/.cvsignore:
cvsignore of test executables and dictionary source files
2005-12-09 08:29 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
renaming test suite variables
2005-12-09 08:10 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex.py:
fix import of gccxmlpath.py file
2005-12-09 08:09 roiser <Stefan.Roiser@cern.ch>
* reflex/test/: test_Reflex_generate.cxx, test_Reflex_simple1.cxx,
test_Reflex_simple2.cxx:
adapting tests to test suite generation
2005-12-09 08:09 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
adding test suite
2005-12-08 07:44 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/: gencapa.py, gendict.py, genreflex.py:
genreflex:
- fixes for shadow class generation
- passing in a macro __REFLEX__ at the gccxml step
2005-12-08 07:43 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Builder/CollectionProxy.h:
code cleanup
2005-12-07 23:02 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
reordering targets
2005-12-07 22:28 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
remove ROOTSYS env var from genreflex scripts
2005-12-07 18:14 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
fix for parallel builds
2005-12-07 17:10 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, python/setup.py,
python/genreflex/__init__.py:
changing generation of genreflex script and python files. Reverting from
python.distutils to pure Makefile
2005-12-06 15:27 roiser <Stefan.Roiser@cern.ch>
* reflex/Module.mk:
renaming env var GCCXMLDIR to GCCXML (picked up from configuration)
2005-12-02 16:31 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, python/setup.py:
automatic generation of file python/genreflex/gccxmlpath.py which contains
the location of the gccxml binary. The path to gccxml can be set at the
global configuration step with "--with-gccxmldir=/my/dir/to/gccxml"
2005-12-02 16:25 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/genreflex.py:
setting default path for gccxml to latest version
2005-12-01 15:34 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, python/setup.py:
Changed Module.mk and python/setup.py for installation of the genreflex script
2005-11-30 14:22 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Tools.h, inc/Reflex/Builder/TypeBuilder.h,
src/TypeBuilder.cxx, test/test_Reflex_simple2.cxx,
test/testDict2/ClassB.h:
Extended number of possible parameters of member functions to 32 (was 16).
Added tests for a member function with more than 16 arguments
2005-11-25 15:51 roiser <Stefan.Roiser@cern.ch>
* reflex/: Module.mk, python/setup.py,
python/genreflex/__init__.py:
Adding automatic installation of genreflex script
2005-11-24 14:29 roiser <Stefan.Roiser@cern.ch>
* reflex/: python/genreflex/gendict.py, src/ScopeName.cxx,
test/test_Reflex_simple2.cxx, test/test_Reflex_unit.cxx,
test/testDict1/selection.xml:
ScopeBase.cxx: fixed initialisation declaring namespace of the top namespace
gendict.py: fixed generated code for ROOT coding conventions
test: added tests for iterators
2005-11-23 17:08 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Any.h, inc/Reflex/Base.h,
inc/Reflex/Callback.h, inc/Reflex/Kernel.h, inc/Reflex/Member.h,
inc/Reflex/MemberBase.h, inc/Reflex/MemberTemplate.h,
inc/Reflex/MemberTemplateImpl.h, inc/Reflex/Object.h,
inc/Reflex/PropertyList.h, inc/Reflex/PropertyListImpl.h,
inc/Reflex/Scope.h, inc/Reflex/ScopeBase.h, inc/Reflex/ScopeName.h,
inc/Reflex/Tools.h, inc/Reflex/Type.h, inc/Reflex/TypeBase.h,
inc/Reflex/TypeName.h, inc/Reflex/TypeTemplate.h,
inc/Reflex/TypeTemplateImpl.h, inc/Reflex/Builder/ClassBuilder.h,
inc/Reflex/Builder/CollectionProxy.h,
inc/Reflex/Builder/DictSelection.h,
inc/Reflex/Builder/EnumBuilder.h,
inc/Reflex/Builder/FunctionBuilder.h,
inc/Reflex/Builder/NamespaceBuilder.h,
inc/Reflex/Builder/NewDelFunctions.h,
inc/Reflex/Builder/TypeBuilder.h,
inc/Reflex/Builder/TypedefBuilder.h,
inc/Reflex/Builder/UnionBuilder.h,
inc/Reflex/Builder/VariableBuilder.h, src/Any.cxx, src/Array.cxx,
src/Array.h, src/Base.cxx, src/Callback.cxx, src/Class.cxx,
src/Class.h, src/ClassBuilder.cxx, src/ClassTemplateInstance.cxx,
src/ClassTemplateInstance.h, src/DataMember.cxx, src/DataMember.h,
src/Enum.cxx, src/Enum.h, src/EnumBuilder.cxx, src/FuncHandler.cxx,
src/FuncHandler.h, src/Function.cxx, src/Function.h,
src/FunctionBuilder.cxx, src/FunctionMember.cxx,
src/FunctionMember.h, src/FunctionMemberTemplateInstance.cxx,
src/FunctionMemberTemplateInstance.h, src/Fundamental.cxx,
src/Fundamental.h, src/Kernel.cxx, src/Member.cxx,
src/MemberBase.cxx, src/MemberTemplate.cxx,
src/MemberTemplateImpl.cxx, src/Namespace.cxx, src/Namespace.h,
src/NamespaceBuilder.cxx, src/Object.cxx, src/Pointer.cxx,
src/Pointer.h, src/PointerToMember.cxx, src/PointerToMember.h,
src/PropertyList.cxx, src/PropertyListImpl.cxx, src/Scope.cxx,
src/ScopeBase.cxx, src/ScopeName.cxx, src/TemplateInstance.cxx,
src/TemplateInstance.h, src/Tools.cxx, src/Type.cxx,
src/TypeBase.cxx, src/TypeBuilder.cxx, src/TypeName.cxx,
src/TypeTemplate.cxx, src/TypeTemplateImpl.cxx, src/Typedef.cxx,
src/Typedef.h, src/TypedefBuilder.cxx, src/Union.cxx, src/Union.h,
src/UnionBuilder.cxx, src/VariableBuilder.cxx, src/stl_hash.h:
compliance to coding conventions
2005-11-21 18:24 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Builder/CollectionProxy.h,
inc/Reflex/Builder/NewDelFunctions.h,
inc/Reflex/Builder/ReflexBuilder.h, python/genreflex/gendict.py:
From Pere:
* added new header file NewDelFunctions.h in Build section
* CollectionProxy.h: Fixed problem compiling hash_multimap stuff with
2005-11-21 17:40 roiser <Stefan.Roiser@cern.ch>
* reflex/src/ClassBuilder.cxx:
fixing ambigous operator
2005-11-21 16:47 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Base.h, inc/Reflex/Type.h,
inc/Reflex/TypeBase.h, src/ScopeBase.cxx, src/Type.cxx,
src/TypeBase.cxx:
Introducing new functions Base::ToScope, Type::operator Scope
Bugfix ScopeBase::ScopeTypeAsString: return also valid values for Enums and
Unions
2005-11-15 10:07 roiser <Stefan.Roiser@cern.ch>
* reflex/doc/ChangeLog.reflex:
added information about API changes SEAL->ROOT
2005-11-15 10:00 roiser <Stefan.Roiser@cern.ch>
* reflex/build/README:
added readme file with short description and installation instructions
2005-11-15 08:56 roiser <Stefan.Roiser@cern.ch>
* reflex/: build/Makefile.am, build/configure.ac, test/Makefile.am:
changes to autobuild configuration, make tests optional, change version number
2005-11-14 20:29 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/Makefile.am:
changes for the install target, make bin dir if necessary
2005-11-14 20:17 roiser <Stefan.Roiser@cern.ch>
* reflex/test/Makefile.am:
change directory information of module
2005-11-14 19:02 roiser <Stefan.Roiser@cern.ch>
* reflex/build/Makefile.am:
removed scripts sub tree from top level Makefile.am
2005-11-14 19:01 roiser <Stefan.Roiser@cern.ch>
* reflex/build/configure.ac:
removed scripts sub tree from configure.ac
2005-11-14 18:57 roiser <Stefan.Roiser@cern.ch>
* reflex/doc/Doxyfile:
adding doxygen configuration file
2005-11-14 16:42 roiser <Stefan.Roiser@cern.ch>
* reflex/: build/Makefile.am, build/autogen, build/configure.ac,
doc/Makefile.am, inc/Makefile.am, inc/Reflex/Makefile.am,
inc/Reflex/Builder/Makefile.am, python/Makefile.am,
python/genreflex/Makefile.am, src/Makefile.am, test/Makefile.am,
test/testDict1/Makefile.am, test/testDict2/Makefile.am:
adding autobuild files
2005-11-14 16:08 roiser <Stefan.Roiser@cern.ch>
* reflex/test/: CppUnit_testdriver.cpp,
test_ReflexBuilder_unit.cxx, test_Reflex_generate.cxx,
test_Reflex_simple1.cxx, test_Reflex_simple2.cxx,
test_Reflex_unit.cxx, testDict1/selection.xml,
testDict2/Class2Dict.h, testDict2/ClassA.h, testDict2/ClassB.h,
testDict2/ClassC.h, testDict2/ClassD.h, testDict2/ClassE.h,
testDict2/ClassF.h, testDict2/ClassG.h, testDict2/ClassH.h,
testDict2/ClassI.h, testDict2/ClassJ.h, testDict2/ClassK.h,
testDict2/ClassL.h, testDict2/ClassM.h,
testDict2/ClassSelections.h, testDict2/ClassT.h,
testDict2/Functions.h, testDict2/InheritanceTree.txt,
testDict2/MemberPointer.h, testDict2/selection.xml:
adding unit test suite
2005-11-14 15:54 roiser <Stefan.Roiser@cern.ch>
* reflex/python/genreflex/: gccdemangler.py, gencapa.py,
gendict.py, genheader.py, genreflex.py, selclass.py:
adding python files for generation of dictionary source code (genreflex)
2005-11-14 15:53 roiser <Stefan.Roiser@cern.ch>
* reflex/doc/: ChangeLog.lcgdict, ChangeLog.reflex:
adding ChangeLogs from SEAL repository with the history of the reflex package
and the lcgdict (now renamed to genreflex) script
2005-11-11 17:06 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/MemberTemplateImpl.h,
src/MemberTemplateImpl.cxx:
moving inlined function into implementation file (problem with cyclic header
file dependency)
2005-11-11 16:58 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/MemberTemplateImpl.h,
src/MemberTemplateImpl.cxx:
changes for alpha/cxx
2005-11-11 15:55 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/MemberTemplateImpl.h,
src/MemberTemplateImpl.cxx:
fix for AIX/xlc
2005-11-11 10:14 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/MemberTemplate.h, src/MemberTemplate.cxx:
fix AIX/xlc compiler error
2005-11-11 08:18 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Any.h, inc/Reflex/Base.h,
inc/Reflex/Kernel.h, inc/Reflex/Member.h, inc/Reflex/MemberBase.h,
inc/Reflex/MemberTemplate.h, inc/Reflex/MemberTemplateImpl.h,
inc/Reflex/Object.h, inc/Reflex/PropertyList.h,
inc/Reflex/PropertyListImpl.h, inc/Reflex/Scope.h,
inc/Reflex/ScopeBase.h, inc/Reflex/ScopeName.h, inc/Reflex/Tools.h,
inc/Reflex/Type.h, inc/Reflex/TypeBase.h, inc/Reflex/TypeName.h,
inc/Reflex/TypeTemplate.h, inc/Reflex/TypeTemplateImpl.h,
inc/Reflex/Builder/ClassBuilder.h,
inc/Reflex/Builder/CollectionProxy.h,
inc/Reflex/Builder/DictSelection.h,
inc/Reflex/Builder/FunctionBuilder.h,
inc/Reflex/Builder/TypeBuilder.h,
inc/Reflex/Builder/TypedefBuilder.h,
inc/Reflex/Builder/UnionBuilder.h,
inc/Reflex/Builder/VariableBuilder.h, src/Any.cxx, src/Array.h,
src/Base.cxx, src/Class.cxx, src/Class.h, src/ClassBuilder.cxx,
src/ClassTemplateInstance.cxx, src/ClassTemplateInstance.h,
src/DataMember.cxx, src/DataMember.h, src/Enum.h,
src/EnumBuilder.cxx, src/FuncHandler.cxx, src/Function.h,
src/FunctionBuilder.cxx, src/FunctionMember.cxx,
src/FunctionMember.h, src/FunctionMemberTemplateInstance.cxx,
src/FunctionMemberTemplateInstance.h, src/Kernel.cxx,
src/MemberBase.cxx, src/MemberTemplateImpl.cxx,
src/NamespaceBuilder.cxx, src/Object.cxx, src/Pointer.h,
src/PointerToMember.h, src/Scope.cxx, src/ScopeBase.cxx,
src/ScopeName.cxx, src/TemplateInstance.h, src/Tools.cxx,
src/Type.cxx, src/TypeBase.cxx, src/TypeBuilder.cxx,
src/TypeName.cxx, src/TypeTemplate.cxx, src/TypeTemplateImpl.cxx,
src/Typedef.h, src/TypedefBuilder.cxx, src/Union.cxx, src/Union.h,
src/UnionBuilder.cxx, src/VariableBuilder.cxx:
- Bug fixed in Funchandler.h (thanks Yiqun Wang)
- Updated documentation in the API classes
- Changes on the API due to support for new coding conventions. Details:
Changes to the Reflex API moving from SEAL to ROOT
==================================================
General remarks:
----------------
.) Namespace change:
The SEAL version lives in namespace "seal::reflex" the ROOT version
in namespace "ROOT::Reflex"
.) Function names:
The first letter of all function names is upper case. Further changes to function
names are
mentioned below.
.) Iterating over containers:
Every container provides stl like iterators which are encouraged to use. The
functions provided are
- _Begin()
- _End()
- _RBegin()
- _REnd()
for each possible container type a forward and reverse iterator type is provided.
These types are:
- Type
- Base
- Scope
- Object
- Member
- TypeTemplate
- MemberTemplate
- StdString
e.g. "Type_Iterator" and "Reverse_Type_Iterator"
example: the container of sub types in class Scope provides
- Type_Iterator SubType_Begin() const;
- Type_Iterator SubType_End() const;
- Reverse_Type_Iterator SubType_RBegin() const;
- Reverse_Type_Iterator SubType_REnd() const;
in addition the "old" style iteration is provided
- the getter for a specific containee is appended with "At" (e.g. "SubTypeAt")
- the getter for the size changed from "Count" to "Size" (e.g. "SubTypeSize")
.) New iterator functions for parameter names and defaults for FunctionMembers,
TypeTemplates and
MemberTemplates
.) Functions for lookup of data/function members by name have changed from "function/dataMember"
to "Function/DataMemberByName" and "member" to "memberByName"
.) The function to get the length of an array has changed from "length" to "ArrayLength"
.) The following functions have been removed from Object
- invokeT - use "invoke" together with object cast instead
- setT - use "set" instead
- getT - use "get" together with "Object_Cast" instead
- field - use "get" instead
.) The function "scope" was removed from the "Type" and "Member" classes.
Use function
"DeclaringScope" instead which provides the same functionality
Detailed list of changed/added/removed functions:
-------------------------------------------------
(except the changes where the first letter of the function name changed to
upper case)
SEAL -> ROOT
class Type
~~~~~~~~~~
base -> BaseAt
baseCount -> BaseSize
base_begin -> Base_Begin
base_end -> Base_End
base_rbegin -> Base_RBegin
base_rend -> Base_REnd
dataMember -> DataMemberByName
dataMember -> DataMemberAt
dataMemberCount -> DataMemberSize
dataMember_begin -> DataMember_Begin
dataMember_end -> DataMember_End
dataMember_rbegin -> DataMember_RBegin
dataMember_rend -> DataMember_REnd
functionMember -> FunctionMemberByName
functionMember -> FunctionMemberAt
functionMemberCount -> FunctionMemberSize
functionMember_begin -> FunctionMember_Begin
functionMember_end -> FunctionMember_End
functionMember_rbegin -> FunctionMember_RBegin
functionMember_rend -> FunctionMember_REnd
length -> ArrayLength
member -> MemberByName
member -> MemberAt
memberCount -> MemberSize
member_begin -> Member_Begin
member_end -> Member_End
member_rbegin -> Member_RBegin
member_rend -> Member_REnd
memberTemplate -> MemberTemplateAt
memberTemplateCount -> MemberTemplateSize
memberTemplate_begin -> MemberTemplate_Begin
memberTemplate_end -> MemberTemplate_End
memberTemplate_rbegin -> MemberTemplate_RBegin
memberTemplate_rend -> MemberTemplate_REnd
parameter -> FunctionParameterAt
parameterCount -> FunctionParameterSize
parameter_begin -> FunctionParameter_Begin
parameter_end -> FunctionParameter_End
parameter_rbegin -> FunctionParameter_RBegin
parameter_rend -> FunctionParameter_REnd
propertyList -> Properties
scope -> "removed, use DeclaringScope instead"
subScope -> SubScopeAt
subScopeCount -> SubScopeSize
subScope_begin -> SubScope_Begin
subScope_end -> SubScope_End
subScope_rbegin -> SubScope_RBegin
subScope_rend -> SubScope_REnd
subType -> SubTypeAt
subTypeCount -> SubTypeSize
subType_begin -> SubType_Begin
subType_end -> SubType_End
subType_rbegin -> SubType_RBegin
subType_rend -> SubType_REnd
templateArgument -> TemplateArgumentAt
templateArgumentCount -> TemplateArgumentSize
templateArgument_begin -> TemplateArgument_Begin
templateArgument_end -> TemplateArgument_End
templateArgument_rbegin -> TemplateArgument_RBegin
templateArgument_rend -> TemplateArgument_REnd
type -> TypeAt
typeCount -> TypeSize
type_begin -> Type_Begin
type_end -> Type_End
type_rbegin -> Type_RBegin
type_rend -> Type_REnd
typeTemplate -> SubTypeTemplateAt
typeTemplateCount -> SubTypeTemplateSize
typeTemplate_begin -> SubTypeTemplate_Begin
typeTemplate_end -> SubTypeTemplate_End
typeTemplate_rbegin -> SubTypeTemplate_RBegin
typeTemplate_rend -> SubTypeTemplate_REnd
class Scope
~~~~~~~~~~~
base -> BaseAt
baseCount -> BaseSize
base_begin -> Base_Begin
base_end -> Base_End
base_rbegin -> Base_RBegin
base_rend -> Base_REnd
dataMember -> DataMemberByName
dataMember -> DataMemberAt
dataMemberCount -> DataMemberSize
dataMember_begin -> DataMember_Begin
dataMember_end -> DataMember_End
dataMember_rbegin -> DataMember_RBegin
dataMember_rend -> DataMember_REnd
functionMember -> FunctionMemberByName
functionMember -> FunctionMemberAt
functionMemberCount -> FunctionMemberSize
functionMember_begin -> FunctionMember_Begin
functionMember_end -> FunctionMember_End
functionMember_rbegin -> FunctionMember_RBegin
functionMember_rend -> FunctionMember_REnd
member -> MemberByName
member -> MemberAt
memberCount -> MemberSize
member_begin -> Member_Begin
member_end -> Member_End
member_rbegin -> Member_RBegin
member_rend -> Member_REnd
memberTemplate -> MemberTemplateAt
memberTemplateCount -> MemberTemplateSize
memberTemplate_begin -> MemberTemplate_Begin
memberTemplate_end -> MemberTemplate_End
memberTemplate_rbegin -> MemberTemplate_RBegin
memberTemplate_rend -> MemberTemplate_REnd
propertyList -> Properties
scope -> ScopeAt
scopeCount -> ScopeSize
scope_begin -> Scope_Begin
scope_end -> Scope_End
scope_rbegin -> Scope_RBegin
scope_rend -> Scope_REnd
subScope -> SubScopeAt
subScopeCount -> SubScopeSize
subScope_begin -> SubScope_Begin
subScope_end -> SubScope_End
subScope_rbegin -> SubScope_RBegin
subScope_rend -> SubScope_REnd
subType -> SubTypeAt
subTypeCount -> SubTypeSize
subType_begin -> SubType_Begin
subType_end -> SubType_End
subType_rbegin -> SubType_RBegin
subType_rend -> SubType_REnd
templateArgument -> TemplateArgumentAt
templateArgumentCount -> TemplatArgumentSize
templateArgument_begin -> TemplateArgument_Begin
templateArgument_end -> TemplateArgument_End
templateArgument_rbegin -> TemplateArgument_RBegin
templateArgument_rend -> TemplateArgument_REnd
typeTemplate -> SubTypeTemplateAt
typeTemplateCount -> SubTypeTemplateSize
typeTemplate_begin -> SubTypeTemplate_Begin
typeTemplate_end -> SubTypeTemplate_End
typeTemplate_rbegin -> SubTypeTemplate_RBegin
typeTemplate_rend -> SubTypeTemplate_REnd
class Member
~~~~~~~~~~~~
parameterCount -> FunctionParameterSize
parameterDefault -> FunctionParameterDefaultAt
-> FunctionParameterDefault_Begin
-> FunctionParameterDefault_End
-> FunctionParameterDefault_RBegin
-> FunctionParameterDefault_REnd
parameterName -> FunctionParameterNameAt
-> FunctionParameterName_Begin
-> FunctionParameterName_End
-> FunctionParameterName_RBegin
-> FunctionParameterName_REnd
propertyList -> Properties
scope -> "removed, use DeclaringScope instead"
templateArgument -> TemplateArgumentAt
templateArgumentCount -> TemplateArgumentSize
templateArgument_begin -> TemplateArgument_Begin
templateArgument_end -> TemplateArgument_End
templateArgument_rbegin -> TemplateArgument_RBegin
templateArgument_rend -> TemplateArgument_REnd
type -> TypeOf
class Object
~~~~~~~~~~~~
type -> TypeOf
field -> "removed, use Get"
getT -> "removed, use Get with Object_Cast"
invokeT -> "removed, use Invoke with Object_Cast"
setT -> "removed, use Set"
class Base
~~~~~~~~~~
no changes
class PropertyList
~~~~~~~~~~~~~~~~~~
propertyCount -> PropertySize
class TypeTemplate
~~~~~~~~~~~~~~~~~~
instantiation -> TemplateInstanceAt
instantiationCount -> TemplateInstanceSize
instantiation_begin -> TemplateInstance_Begin
instantiation_end -> TemplateInstance_End
instantiation_rbegin -> TemplateInstance_RBegin
instantiation_rend -> TemplateInstance_REnd
parameterCount -> TemplateParameterSize
parameterDefault -> TemplateParameterDefaultAt
-> TemplateParameterDefault_Begin
-> TemplateParameterDefault_End
-> TemplateParameterDefault_RBegin
-> TemplateParameterDefault_REnd
parameterName -> TemplateParameterNameAt
-> TemplateParameterName_Begin
-> TemplateParameterName_End
-> TemplateParameterName_RBegin
-> TemplateParameterName_REnd
class MemberTemplate
~~~~~~~~~~~~~~~~~~~~
instantiation -> TemplateInstanceAt
instantiationCount -> TemplateInstanceSize
instantiation_begin -> TemplateInstance_Begin
instantiation_end -> TemplateInstance_End
instantiation_rbegin -> TemplateInstance_RBegin
instantiation_rend -> TemplateInstance_REnd
parameterCount -> TemplateParameterSize
parameterDefault -> TemplateParameterDefaultAt
-> TemplateParameterDefault_Begin
-> TemplateParameterDefault_End
-> TemplateParameterDefault_RBegin
-> TemplateParameterDefault_REnd
parameterName -> TemplateParameterNameAt
-> TemplateParameterName_Begin
-> TemplateParameterName_End
-> TemplateParameterName_RBegin
-> TemplateParameterName_REnd
class Any
~~~~~~~~~
type -> TypeInfo
2005-11-08 08:54 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/Type.h:
fix AIX/xlc compiler warning
2005-11-07 10:22 roiser <Stefan.Roiser@cern.ch>
* reflex/inc/Reflex/: Base.h, Type.h:
attempt to fix AIX/xlc warnings
2005-11-04 16:32 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Kernel.h, src/Function.h:
changing self defined iterators for containers from const to non-const iterators
(fixes Solaris CC55 compilation problem)
2005-11-03 16:24 roiser <Stefan.Roiser@cern.ch>
* reflex/: inc/Reflex/Any.h, inc/Reflex/Base.h,
inc/Reflex/Callback.h, inc/Reflex/Kernel.h, inc/Reflex/Member.h,
inc/Reflex/MemberBase.h, inc/Reflex/MemberTemplate.h,
inc/Reflex/MemberTemplateImpl.h, inc/Reflex/Object.h,
inc/Reflex/PropertyList.h, inc/Reflex/PropertyListImpl.h,
inc/Reflex/Reflex.h, inc/Reflex/Scope.h, inc/Reflex/ScopeBase.h,
inc/Reflex/ScopeName.h, inc/Reflex/Tools.h, inc/Reflex/Type.h,
inc/Reflex/TypeBase.h, inc/Reflex/TypeName.h,
inc/Reflex/TypeTemplate.h, inc/Reflex/TypeTemplateImpl.h,
inc/Reflex/Builder/ClassBuilder.h,
inc/Reflex/Builder/CollectionProxy.h,
inc/Reflex/Builder/DictSelection.h,
inc/Reflex/Builder/EnumBuilder.h,
inc/Reflex/Builder/FunctionBuilder.h,
inc/Reflex/Builder/NamespaceBuilder.h,
inc/Reflex/Builder/ReflexBuilder.h,
inc/Reflex/Builder/TypeBuilder.h,
inc/Reflex/Builder/TypedefBuilder.h,
inc/Reflex/Builder/UnionBuilder.h,
inc/Reflex/Builder/VariableBuilder.h, src/Any.cxx, src/Array.cxx,
src/Array.h, src/Base.cxx, src/Callback.cxx, src/Class.cxx,
src/Class.h, src/ClassBuilder.cxx, src/ClassTemplateInstance.cxx,
src/ClassTemplateInstance.h, src/DataMember.cxx, src/DataMember.h,
src/Enum.cxx, src/Enum.h, src/EnumBuilder.cxx, src/FuncHandler.cxx,
src/FuncHandler.h, src/Function.cxx, src/Function.h,
src/FunctionBuilder.cxx, src/FunctionMember.cxx,
src/FunctionMember.h, src/FunctionMemberTemplateInstance.cxx,
src/FunctionMemberTemplateInstance.h, src/Fundamental.cxx,
src/Fundamental.h, src/Kernel.cxx, src/Member.cxx,
src/MemberBase.cxx, src/MemberTemplate.cxx,
src/MemberTemplateImpl.cxx, src/Namespace.cxx, src/Namespace.h,
src/NamespaceBuilder.cxx, src/Object.cxx, src/Pointer.cxx,
src/Pointer.h, src/PointerToMember.cxx, src/PointerToMember.h,
src/PropertyList.cxx, src/PropertyListImpl.cxx, src/Scope.cxx,
src/ScopeBase.cxx, src/ScopeName.cxx, src/TemplateInstance.cxx,
src/TemplateInstance.h, src/Tools.cxx, src/Type.cxx,
src/TypeBase.cxx, src/TypeBuilder.cxx, src/TypeName.cxx,
src/TypeTemplate.cxx, src/TypeTemplateImpl.cxx, src/Typedef.cxx,
src/Typedef.h, src/TypedefBuilder.cxx, src/Union.cxx, src/Union.h,
src/UnionBuilder.cxx, src/VariableBuilder.cxx, src/stl_hash.h:
Importing new version of Reflex.
The full history of the package will be available in doc/Changelog.reflex
Changes since the last import in the ROOT repository:
2005-10-31 Stefan
* added stl like iterators for all containers of Types, Scopes, Members, etc.
The following
iterators have been introduced: type_iterator, base_iterator, scope_iterator,
object_iterator
member_iterator, typeTemplate_iterator, memberTemplate_iterator and their reverse
typese
(e.g. reverse_type_iterator). Every container for one of these types contains
now the
functions begin(), end(), rbegin() and rend() (e.g. Type::dataMember_begin())
which return
a (reverse_)iterator.
2005-10-10 Pere
* fixed ProperyList::propertyAsString(key) to return a empty string when the
key is not
existing (reported by RD Schaffer). Added test case in test_Reflex_unit.
2005-09-16 Stefan
* changes for invocation of overloaded methods. The "invoke" function
takes an
additional argument of type "const Type &" which represents the
type of the overloaded
function. If function methods are overloaded and no Type is passed the first
one is taken.
* Object.h: the following functions are deprecated and will be removed in a
future release
invokeT, getT, setT, field (explanations what functions to use instead are
given in the header)
* moving makeVector utility from TypeBuilder.h to Tools.h
2005-09-01 Stefan
* added selection functionality from within c++, credits to Scott Snyder (snyder@fnal.gov)
2005-08-26 Stefan
* TypeBase.cpp: change allocate to malloc(size), deallocate to free(instance),
when destructing and operator delete called no deallocation necessary
2005-08-20 Stefan
* adding parameter "signature" for member lookup by name
* adding function dataMember(const std::string&) for data member lookup
by name
* adding function functionMember(const std::string&, const std::string&="")
for
function member lookup by name (and optionally signature)
* a signature can be passed optionally with the function name argument to invoke
functions of Object. separated by semi-colon (e.g. "foo;int (void)")
2005-07-27 Stefan
* Object.h: added function destruct(), fixes for templated get, invoke functions
2005-07-05 Stefan
* Class.cpp: when destructing a type which has no destructor defined (e.g.
for complex types with
only simple members), instead of invoking the destructor stub, call operator
delete and free
2005-07-04 Stefan
* Member : added functions declaringScope, declaringType which return the Scope/Type
the members lives in (i.e. the same)
* Member : function scope will be depricated, use declaringScope instead (same
functionality)
2005-07-01 Stfan
* gcc4 compliance
2005-06-26 Stefan
* Type.h: add Type::declaringScope
2005-06-24 Stefan
* Any.h : cleanup for Root compliance
* Object.h,.cpp: fixed templated get, invoke functions
* stl_hash.h: removed namespace define for icc compilers
Modified Files:
inc/Reflex/Any.h inc/Reflex/Base.h inc/Reflex/Callback.h
inc/Reflex/Kernel.h inc/Reflex/Member.h
inc/Reflex/MemberBase.h inc/Reflex/MemberTemplate.h
inc/Reflex/MemberTemplateImpl.h inc/Reflex/Object.h
inc/Reflex/PropertyList.h inc/Reflex/PropertyListImpl.h
inc/Reflex/Reflex.h inc/Reflex/Scope.h inc/Reflex/ScopeBase.h
inc/Reflex/ScopeName.h inc/Reflex/Tools.h inc/Reflex/Type.h
inc/Reflex/TypeBase.h inc/Reflex/TypeName.h
inc/Reflex/TypeTemplate.h inc/Reflex/TypeTemplateImpl.h
inc/Reflex/Builder/ClassBuilder.h
inc/Reflex/Builder/CollectionProxy.h
inc/Reflex/Builder/EnumBuilder.h
inc/Reflex/Builder/FunctionBuilder.h
inc/Reflex/Builder/NamespaceBuilder.h
inc/Reflex/Builder/ReflexBuilder.h
inc/Reflex/Builder/TypeBuilder.h
inc/Reflex/Builder/TypedefBuilder.h
inc/Reflex/Builder/UnionBuilder.h
inc/Reflex/Builder/VariableBuilder.h src/Any.cxx src/Array.cxx
src/Array.h src/Base.cxx src/Callback.cxx src/Class.cxx
src/Class.h src/ClassBuilder.cxx src/ClassTemplateInstance.cxx
src/ClassTemplateInstance.h src/DataMember.cxx
src/DataMember.h src/Enum.cxx src/Enum.h src/EnumBuilder.cxx
src/FuncHandler.cxx src/FuncHandler.h src/Function.cxx
src/Function.h src/FunctionBuilder.cxx src/FunctionMember.cxx
src/FunctionMember.h src/FunctionMemberTemplateInstance.cxx
src/FunctionMemberTemplateInstance.h src/Fundamental.cxx
src/Fundamental.h src/Kernel.cxx src/Member.cxx
src/MemberBase.cxx src/MemberTemplate.cxx
src/MemberTemplateImpl.cxx src/Namespace.cxx src/Namespace.h
src/NamespaceBuilder.cxx src/Object.cxx src/Pointer.cxx
src/Pointer.h src/PointerToMember.cxx src/PointerToMember.h
src/PropertyList.cxx src/PropertyListImpl.cxx src/Scope.cxx
src/ScopeBase.cxx src/ScopeName.cxx src/TemplateInstance.cxx
src/TemplateInstance.h src/Tools.cxx src/Type.cxx
src/TypeBase.cxx src/TypeBuilder.cxx src/TypeName.cxx
src/TypeTemplate.cxx src/TypeTemplateImpl.cxx src/Typedef.cxx
src/Typedef.h src/TypedefBuilder.cxx src/Union.cxx src/Union.h
src/UnionBuilder.cxx src/VariableBuilder.cxx src/stl_hash.h
Added Files:
inc/Reflex/Builder/DictSelection.h
2005-07-29 14:51 brun <Rene.Brun@cern.ch>
* reflex/inc/Reflex/Kernel.h:
Define typedef longlong also for SGI
With this change libReflex and libCintex can be built on SGI with gcc3.3
2005-07-19 14:42 rdm <Fons.Rademakers@cern.ch>
* reflex/src/: Class.cxx, FunctionBuilder.cxx:
fix some indentation.
2005-06-23 16:50 rdm <Fons.Rademakers@cern.ch>
* reflex/src/stl_hash.h:
fix compilation issue for Intel Compiler (uses also __gnu_cxx namespace).
2005-06-23 16:21 brun <Rene.Brun@cern.ch>
* reflex/inc/Reflex/Any.h:
From Stefan Roiser:
Rename the tag under multiple inclusions to ROOT_Reflex_Any
and change the return message from "boost::bad_any_cast" to ""bad_any_cast"
2005-06-23 15:12 brun <Rene.Brun@cern.ch>
* reflex/inc/Reflex/Builder/: ClassBuilder.h, CollectionProxy.h,
EnumBuilder.h, FunctionBuilder.h, NamespaceBuilder.h,
ReflexBuilder.h, TypeBuilder.h, TypedefBuilder.h, UnionBuilder.h,
VariableBuilder.h:
Forgot to check in the Builder directory
2005-06-23 12:23 brun <Rene.Brun@cern.ch>
* reflex/src/: Array.h, Class.h, ClassTemplateInstance.h,
DataMember.h, Enum.h, FuncHandler.h, Function.h, FunctionMember.h,
FunctionMemberTemplateInstance.h, Fundamental.h, Namespace.h,
Pointer.h, PointerToMember.h, TemplateInstance.h, Typedef.h,
Union.h, stl_hash.h:
Add local includes
2005-06-23 12:21 brun <Rene.Brun@cern.ch>
* reflex/: Module.mk, inc/Reflex/Any.h, inc/Reflex/Base.h,
inc/Reflex/Callback.h, inc/Reflex/Kernel.h, inc/Reflex/Member.h,
inc/Reflex/MemberBase.h, inc/Reflex/MemberTemplate.h,
inc/Reflex/MemberTemplateImpl.h, inc/Reflex/Object.h,
inc/Reflex/PropertyList.h, inc/Reflex/PropertyListImpl.h,
inc/Reflex/Reflex.h, inc/Reflex/Scope.h, inc/Reflex/ScopeBase.h,
inc/Reflex/ScopeName.h, inc/Reflex/Tools.h, inc/Reflex/Type.h,
inc/Reflex/TypeBase.h, inc/Reflex/TypeName.h,
inc/Reflex/TypeTemplate.h, inc/Reflex/TypeTemplateImpl.h,
src/Any.cxx, src/Array.cxx, src/Base.cxx, src/Callback.cxx,
src/Class.cxx, src/ClassBuilder.cxx, src/ClassTemplateInstance.cxx,
src/DataMember.cxx, src/Enum.cxx, src/EnumBuilder.cxx,
src/FuncHandler.cxx, src/Function.cxx, src/FunctionBuilder.cxx,
src/FunctionMember.cxx, src/FunctionMemberTemplateInstance.cxx,
src/Fundamental.cxx, src/Kernel.cxx, src/Member.cxx,
src/MemberBase.cxx, src/MemberTemplate.cxx,
src/MemberTemplateImpl.cxx, src/Namespace.cxx,
src/NamespaceBuilder.cxx, src/Object.cxx, src/Pointer.cxx,
src/PointerToMember.cxx, src/PropertyList.cxx,
src/PropertyListImpl.cxx, src/Scope.cxx, src/ScopeBase.cxx,
src/ScopeName.cxx, src/TemplateInstance.cxx, src/Tools.cxx,
src/Type.cxx, src/TypeBase.cxx, src/TypeBuilder.cxx,
src/TypeName.cxx, src/TypeTemplate.cxx, src/TypeTemplateImpl.cxx,
src/Typedef.cxx, src/TypedefBuilder.cxx, src/Union.cxx,
src/UnionBuilder.cxx, src/VariableBuilder.cxx:
First attempt to introduce the Reflex package.
To use it configure with
--enable-reflex
REFLEX_1_7_1a
2005-07-27 Stefan
* Object.h: added function destruct(), fixes for templated get, invoke functions
REFLEX_1_7_0a
2005-07-05 Stefan
* Class.cpp: when destructing a type which has no destructor
defined (e.g. for complex types with only simple members), instead
of invoking the destructor stub, call operator delete and free
2005-07-04 Stefan
* Member : added functions declaringScope, declaringType which
return the Scope/Type the members lives in (i.e. the same)
* Member : function scope will be depricated, use declaringScope
instead (same functionality)
2005-07-01 Stfan
* gcc4 compliance
2005-06-26 Stefan
* Type.h: add Type::declaringScope
2005-06-24 Stefan
* Any.h : cleanup for Root compliance
* Object.h,.cpp: fixed templated get, invoke functions
* stl_hash.h: removed namespace define for icc compilers
2005-06-17 Pere
* CollectionProxy.h: commited changes from Markus
2005-06-10 Pere
* TypeBuilder.cpp(.h) added EnumTypeBuilder() function
2005-06-07 Stefan
* updated autotool configuration files
2005-06-02 Stefan
* Typedef.h : forwarding of several functions for class/struct/templated
type/typedef
2005-06-01 Stefan * Tools.cpp: fixed return value of cxxabi::demangle
for stl string (i.e. std::basic_string<char> instead of std::string)
2005-05-30 Stefan
* TypeTemplate.h: added operator ==
2005-05-25 Stefan
* ClassBuilder.h: new class ClassBuilderNT which is a non
templated version of ClassBuilder
* Kernel.h: new dummy structs UnnamedClass/Namespace/Struct/Union
which will be attached to such types
2005-05-20 Stefan
* Scope/Type(Name).h: new function "const char* name_c_str()
const" which returns the char* to the unqualified name (performance
reasons)
* bool isClass() checks now for class/instantiated class/struct
types
* Type/Scope(Name).h: contain a vector of Types/Scopes which
allows non mutable access to Types/Scopes by number (will not change)
with Type::type(size_t) or Scope::scope(size_t)
REFLEX_1_6_3a
2005-04-26 Stefan
* fixed bug #8105 overview: Reflex::Type non-equality does
not work
* added operator != also for Scope, Object, Member
* Object.h: added forward function "Type dynamicType()
const"
2005-04-18 Stefan
* Type/Scope/Member(Base): new function templateFamiliy which returns
the generalized template type (TypeTemplate, MemberTemplate)
* Remove Distillerbase - problem with vc71 compiler. Implementations
moved to static functions.
* Fixed [bug #7973] overview: Multiple errors in reflex (sic!)
(addendum: 2 function implementations in Meberbase fixed)
* VariableBuilder.h/.cpp: New class for generation of data members
in namespaces.
before REFLEX_1_6_2
2005-04-05 Stefan
* Type/Scope(Base).h/.cpp, Class.h/.cpp, Enum.h, Union.h: new overloaded functions
to add Function/Datamembers, Subscopes/types (with complete parameterlist)
2005-03-17 Stefan
* Object.h: new function castObject
* Typdef.h, Typedef.cpp, Kernel.cpp: Generate aliases to fundamentals as Typedefs
with typeType FUNDAMENTAL
2005-03-15 Stefan
* TypeName.h private function setTypeInfo to reset the hash_map entry
* TypeBase.cpp if the TypeName exists and if a TypeName with the same type_info
exists reset it in the hash_map
2005-03-14 Stefan
* Moved several header files from the include directory to src
* New classes Union,Enum,Typdef/BuilderImpl
* Building typedefs always with typeid(UnknownType)
2005-03-07 Stefan
* Changes for compilation with sun forte
* Object.h: names of functions returning T are postfixed with T
2005-03-06 Stefan
* added CppUnitLite test framework
* updated autotool files added tests for autotools
2005-03-04 Stefan
* TypeBase.cpp: removing fundamentals from global namespace
2005-03-01 Stefan
* added support for enums and typedefs in classes
* Object.h: added operator bool() and implementation for object_cast
* Scope.h, ScopeBase.h: added isEnum, isUnion
2005-02-17 Stefan
* FunctionBuilder.cpp: added generation of templated free functions
2005-02-17 Stefan
* Member/Type/Scope(Base).h: one function "bool isTemplateInstance() const " to
check whether a Member/Type is templated. All other functions removed.
2005-02-16 Stefan
* added functionality for MemberTemplates
* added unit tests for MemberTemplates
2005-02-15 Stefan
* ClassTemplateInstance: fixed name()
* Type.h, TypeBase.h: added forwarding functions for instantation/Count()
2005-02-14 Stefan
* TypeTemplate: removed template parameter name information from name()
* Template implementation, added builder capabilities
2005-02-11 Stefan
* Template implementation for type templates
* Type.h: new function isEquivalentTo(const Type &)
2005-02-10 Stefan
* Type.h: type equivalence operator
2005-02-08 Pere
* Fixed [bugs #6685] Type equivalence operator. The name generated by buildTypeName()
functions should be fully scoped and qualified.
2005-02-01 Pere
* reintroduced the TRANSIENT modifier
2005-01-25 Stefan
* fixed: bug #5420 overview: typeInfo() always returns NullType for typedefs.
2005-01-24 Stefan
* added accessor to (function)member context
2005-01-21 Stefan
* added autoconf, automake scripts
* removed virtual from destructors of Object and PropertyList wrappers
2005-01-20 Stefan Roiser
* Member: parameterCount(bool required) when true return only num of required
parameters
2005-01-19 Stefan Roiser
* fix for static argv0, now function returning string
2005-01-14 Stfan Roiser
* changed Function building to respect typedefs as separate types
* Callback.cpp: static vector returned by function
2005-01-13 Stefan Roiser
* removed functions "std::string fullName()" and "std::string
name(bool)"
* new function std::string name(unsigned int mod) mod can be a combination
of enums "SCOPED", "FINAL", "QUALIFIED" (shortcuts "S","F","Q")
* Enums and Unions are now Scopes and Types (removed Union/EnumInfo classes)
* fixed bug #6247 overview: Class::pathToBase returns invalid objects.
2005-01-11 Stefan Roiser
* removed compiler warnings on linux
* testDict will only compile with scram config > 1_5_3 (template depth)
* added Buildfile to test/generate
2005-01-10 Stefan Roiser
* get, invoke functions of Members return Object (before void*)
2005-01-06 Pere Mato
* Fix bug #6161 overview: reflex::Scope.subScope*() do not give access to classes
which inherit from others.
2005-01-06 Pere Mato
* added Reflex/Builder/CollectionProxy.h header file. This is need to generate
extra code to handle collections in a generic way.
2005-01-05 Stefan Roiser
* removed Class wrapper
* enhancing Type with functionality of Class and Scope
2005-01-03 Stefan Roiser
* new wrapper for Class (class Class is now ClassImpl)
* new wrapper for PropertyList (class PropertyList is now PropertyListImpl).
PorpertyLists are handled in TypeBase, ScopeBase and MemberBase
* a lot of changes in the documentation from Together
2004-12-16 Pere Mato
* Tools.h(.cpp): added new method Tools::getScopeName() that takes into account
templated types
* ScopeBase.cpp: adapted to use Tools::getScopeName(). Changed ScopeBase::name()
to return the name of the scope without its declaring scope.
* TypeBase.cpp: adapted to use Tools::getScopeName()
* test_Reflex_unit.cpp: removed "&" in type name
2004-12-14 Pere Mato
* removed __NOPROPERTYLIST__ static to avoid linking problems on Windows.
2004-12-01 Stefan Roiser
* fixed gcc compiler warnings
* removal of properties in ScopeBase, TypeBase, MemberBase
2004-11-30 Stefan Roiser
* finished revision, moved from pointer based to object based implementation
2004-11-05 Stefan Roiser
* starting major revision (last tag before is Reflex_0_0_4)
2004-11-04 Stefan Roiser
* resolving ambigous Class::asInstantiatedTemplateClass()
* moved several destructors to implementation files
2004-11-01 Stefan Roiser
* fixed bug #5315 overview: Remove unnecessary virtual inheritance.
2004-10-21 Stefan Roiser
* TypeBuilder.h: Changed OffsetOf macro to also support offset calculation
from templated types (max 16)
* added CppUnit test to check offset calculation from templated classes
* added test classes (testDict2) for offset calculation from templated classes
2004-10-12 Stefan Roiser, Pere Mato
* Changed hash_map for name to type and name to scope lookup key from std::string
to const char* (avoids duplication of information)
2004-10-11 Stefan Roiser
* Introduced new modifiers COPYCONSTRUCTOR, OPERATOR, CONVERTER
* Reactivated modifiers INLINE, EXTERN
* Changed modifiers type from unsigned char to unsigned int
* Porting to Mac OSX
* Renamed FunctionBuilder to FunctionBuilderT
* Renamed FunctionBuilder2 to FunctionBuilder
* Removed default constructor from Scope (not needed anymore)
* Renamed Reflex.cpp to Kernel.cpp (header file name)
* Tried to apply common coding style to all files
2004-10-08 Pere mato, Stefan Roiser
* Added FunctionBuilder stuff
* Added NamespaceBuilder.cpp
* Creation of declaring Namespaces if creating a Namespace
* Added Function and Operator test
2004-09-13 Pere Mato
* Class.h: changed name() to return by reference instead of by value
* DataMember.h, FunctionMember.h, Member.h: moved isPrivate(), isProtected(),
is Public() to base class Member.
* ScopeBase.h: changed name() to return by reference instead of by value
* ScopeBase.h: added addSubType() and removeSubType() methods
* Type.h, TypeBase.h: changed name() to return by reference instead of by value
* TypeBase.h: modified constructor to associate each Type with a Scope
* Added NamespaceBuilder.h
* added test_Reflex_generate to generate header files from Reflex
2004-09-01 Pere Mato
* New Iteration with ClassBuilder using an argument Type* instead of using
templated methods This is to avoid the problem of caused by having only forward
declared classes.
2004-08-03 Pere Mato
* New Iteration with almost complete functionality
2004-06-21 Stefan Roiser
* Initial import
|