CMS 3D CMS Logo

Public Member Functions | Public Attributes

SpecParParser::definition< ScannerT > Struct Template Reference

List of all members.

Public Member Functions

DDCopyNoFtorcopyNoFtor ()
 definition (SpecParParser const &self)
DDIsChildFtorisChildFtor ()
DDNameFtornameFtor ()
DDNameSpaceFtornameSpaceFtor ()
DDSelLevelFtorselLevelFtor ()
rule< ScannerT > const & start () const

Public Attributes

rule< ScannerT > Child
rule< ScannerT > CopyNumber
rule< ScannerT > Descendant
rule< ScannerT > FirstStep
rule< ScannerT > NameSpaceName
rule< ScannerT > NavigationalElement
rule< ScannerT > Part
rule< ScannerT > PartName
rule< ScannerT > PartNameCopyNumber
rule< ScannerT > Selection
rule< ScannerT > SelectionStep
rule< ScannerT > SimpleName

Detailed Description

template<typename ScannerT>
struct SpecParParser::definition< ScannerT >

Definition at line 138 of file DDPartSelection.cc.


Constructor & Destructor Documentation

template<typename ScannerT >
SpecParParser::definition< ScannerT >::definition ( SpecParParser const &  self) [inline]

Definition at line 140 of file DDPartSelection.cc.

References noNameSpace().

                                          {
         
        Selection  //= FirstStep[selLevelFtor()] 
                  //>> *SelectionStep[selLevelFtor()]
                   = +SelectionStep[selLevelFtor()]
                   ;

        FirstStep  = Descendant 
                  >> Part
                   ; 

        Part       = PartNameCopyNumber 
                   | PartName
                   ;

        PartNameCopyNumber = PartName 
                  >> CopyNumber
                   ;

        SelectionStep = NavigationalElement[isChildFtor()] 
                  >> Part
                   ;

        NavigationalElement = Descendant 
                   | Child
                   ;

        CopyNumber = ch_p('[') 
                  >> int_p[copyNoFtor()] 
                  >> ch_p(']')
                   ;

        PartName   = NameSpaceName 
                   | SimpleName[nameFtor()][&noNameSpace]
                   ;

        SimpleName = +( alnum_p | ch_p('_') | ch_p('.') | ch_p('*') )
                   ;

        NameSpaceName = SimpleName[nameSpaceFtor()] 
                  >> ':' 
                  >> SimpleName[nameFtor()]
                   ;

        Descendant = ch_p('/') 
                  >> ch_p('/')
                   ;

        Child      = ch_p('/')
                    ;
  
         }

Member Function Documentation

template<typename ScannerT >
DDCopyNoFtor& SpecParParser::definition< ScannerT >::copyNoFtor ( ) [inline]

Definition at line 218 of file DDPartSelection.cc.

                                {
     static DDCopyNoFtor f_;
     return f_;
    }    
template<typename ScannerT >
DDIsChildFtor& SpecParParser::definition< ScannerT >::isChildFtor ( ) [inline]

Definition at line 213 of file DDPartSelection.cc.

                                  {
     static DDIsChildFtor f_;
     return f_;
    }
template<typename ScannerT >
DDNameFtor& SpecParParser::definition< ScannerT >::nameFtor ( ) [inline]

Definition at line 203 of file DDPartSelection.cc.

                            {
     static DDNameFtor f_;
     return f_;
    }
template<typename ScannerT >
DDNameSpaceFtor& SpecParParser::definition< ScannerT >::nameSpaceFtor ( ) [inline]

Definition at line 208 of file DDPartSelection.cc.

                                      {
     static DDNameSpaceFtor f_;
     return f_;
    }
template<typename ScannerT >
DDSelLevelFtor& SpecParParser::definition< ScannerT >::selLevelFtor ( ) [inline]

Definition at line 199 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> const& SpecParParser::definition< ScannerT >::start ( ) const [inline]

Definition at line 197 of file DDPartSelection.cc.

{ return Selection; }

Member Data Documentation

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::Child

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::CopyNumber

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::Descendant

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::FirstStep

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::NameSpaceName

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::NavigationalElement

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::Part

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::PartName

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::PartNameCopyNumber

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::Selection

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::SelectionStep

Definition at line 193 of file DDPartSelection.cc.

template<typename ScannerT >
rule<ScannerT> SpecParParser::definition< ScannerT >::SimpleName

Definition at line 193 of file DDPartSelection.cc.