Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/XML/config.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 //
0014 // Setup XML parsing for the use of Apache Xerces-C and TiXml
0015 //
0016 //==========================================================================
0017 #ifndef XML_CONFIG_H
0018 #define XML_CONFIG_H
0019 
0020 #include <Parsers/config.h>
0021 
0022 #if      defined(DD4HEP_USE_TINYXML)
0023 #define  __TIXML__
0024 #endif
0025 
0026 // C/C++ include files
0027 #include <cstdlib>
0028 #include <cstdint>
0029 
0030 #ifndef  __TIXML__
0031 // This is the absolute minimal include necessary to comply with XercesC
0032 // Not includuing this file leads to clashes in XmlChar aka XMLCh in XercesC.
0033 //
0034 // We do not load here many dependencies. This simply sets up primitive types.
0035 #include <xercesc/util/Xerces_autoconf_config.hpp>
0036 #endif
0037 
0038 /// Namespace for the AIDA detector description toolkit
0039 namespace dd4hep {
0040 
0041   /// Namespace for the AIDA detector description toolkit supporting XML utilities
0042   namespace xml {
0043     class XmlElement;
0044     class XmlDocument;
0045     class XmlNodeList;
0046     class XmlNode;
0047     class XmlAttr;
0048     typedef std::size_t XmlSize_t;
0049 #ifdef  __TIXML__
0050     typedef char XmlChar;
0051 #else
0052     /// Use the definition from the autoconf header of Xerces:
0053     typedef XERCES_XMLCH_T XmlChar;
0054     // These only work for very specific XercesC implementations:
0055     //typedef char16_t       XmlChar;
0056     //typedef unsigned short XmlChar;
0057 #endif
0058   }
0059 }
0060 
0061 #ifdef  __TIXML__
0062 #define XML_IMPLEMENTATION_TYPE " TinyXML DOM mini-parser   "
0063 #else   // Xerces-C
0064 #define XML_IMPLEMENTATION_TYPE " Apache Xerces-C DOM Parser"
0065 #endif  // __TIXML__
0066 #endif // XML_CONFIG_H