GENREFLEX(1)

NAME
genreflex - Generates the LCG dictionary file for each header file

SYNOPSIS
genreflex headerfile1.h [headerfile2.h] [options] [preprocesor options]

DESCRIPTION
Generates the LCG dictionary file for each header file

OPTIONS

-s file, --selection_file=file
    Class selection file to specify for which classes the dictionary will be generated Format (XML):
    <lcgdict>
      [<selection>]
        <class [name="classname"] [pattern="wildname"]
               [file_name="filename"] [file_pattern="wildname"]
               [id="xxxx"] [type="vector"]/>
        <class name="classname" >
          <field name="m_transient" transient="true"/>
          <field name="m_anothertransient" transient="true"/>
          <properties prop1="value1" [prop2="value2"]/>
        </class>
        <function [name="funcname"] [pattern="wildname"] />
        <enum [name="enumname"] [patter="wildname"] />
        <variable [name="varname"] [patter="wildname"] />
      [</selection>]
      <exclusion>
        <class [name="classname"] [pattern="wildname"]>
          <method name="unwanted" />
        </class>
      </exclusion>
      ...
    </lcgdict>
See also the section SELECTION FILE SYNTAX below.

-o file, --output file
    Output file name. If an existing directory is specified instead of a file, then a filename will be build using the name of the input file and will be placed in the given directory. <headerfile>_rflx.cpp

--pool
    Generate minimal dictionary required for POOL persistence

--deep
    Generate dictionary for all dependend classes

--split (OBSOLETE)
    Generate separate file for stub functions. Option sometimes needed on Windows.

--reflex (OBSOLETE)
    Generate Reflex dictionaries.

--comments
    Add end-of-line comments in data and functions members as a property called "comment"

--no_membertypedefs
    Disable the definition of class member typedefs

--fail_on_warnings
    The genreflex command fails (retuns the value 1) if any warning message is issued

--gccxmlpath=path
    Path path where the gccxml(1) tool is installed. If not defined the standard PATH environ variable is used

-c file, --capabilities=file
    Generate the capabilities file to be used by the SEAL Plugin Manager. This file lists the names of all classes for which the reflection is formation is provided.

--rootmap=file
    Generate the rootmap file to be used by ROOT/CINT. This file lists the names of all classes for which the reflection is formation is provided.

--rootmap-lib=library
    Library name for the rootmap file.

--debug
    Print extra debug information while processing. Keep intermediate files

--quiet
    No not print informational messages

-h, --help
    Print help

Try "genreflex --help" for more information.

SELECTION FILE SYNTAX

  <lcgdict>

Sub elements:
    <selection> <exclusion> <class> <function>

Attributes:
    none

The root element of the xml file. It has to be present.

  <selection>

Sub elements:
    <class> <function>

Attributes:
    none

The selection element is only mandatory if the <exclusion> element is used in the same file. Otherwise all sub-elements of <lcgdict> are supposed to be included in the dictionary.

  <exclusion>

Sub elements:
    <class> <function>

Attributes:
    none

If a <selection> element is present it is also possible to exclude types following the same patterns as for selection

  <class>

Sub elements:
    <field> <properties> <method>

Attributes:

    name
        The exact name of the class to be filtered pattern A pattern matching a set of classes

    file_name
        The exact file name to be filtered. All classes contained in the file will be selected

    file_pattern
        A pattern matching a set of files

    id  The class ID (used for POOL persistence)

    type
        The class type (used for POOL persistence)

All classes matching the patterns or names in the attributes will be selected. The name, pattern, file_name, and file_pattern attributes are mutual exclusive.

  <function>

Sub elements:
    none

Attributes:

    name
        The exact name of the function

    pattern
        A pattern matching a set of functions

All function matching the attributes of the function element will be selected and dictionaries will be created for them. The nameandpattern attributes are mutual exclusive.

  <field>

Sub elements:
    none

Attributes:

    name
        The exact name of the field

    transient
        If set to true a property (transient/true) will be set for this member (used for POOL persistence)

The <field> element is mainly used for POOL persistence to mark if some of the data members of a class shall be skipped when the class is written to a persistent medium

  <method>

Sub elements:
    none

Attributes:

name
    The name of the method to be excluded

The <method> element is used to exclude the dictionary generation from classes which match the given attributes.

SEE ALSO
root(1), rootcint(1), gccxml(1)

See also the ROOT webpages: http://root.cern.ch (http://root.cern.ch)

ORIGINAL AUTHORS
The ROOT team (see web page above):
    Rene Brun and Fons Rademakers

COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

AUTHOR
This manual page was written by Christian Holm Christensen <cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by others).