*****************************************************
Summary
-------
Generated at: 2012-09-28T14:43:51-04:00
Notes: 2
Binaries: 34
Archives: 0
Standards: 792

Apache Licensed: 672
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

120 Unknown Licenses

*******************************

Unapproved licenses:

  uimacpp/include/apr/apr_fnmatch.h
  uimacpp/include/unicode/brkiter.h
  uimacpp/include/unicode/calendar.h
  uimacpp/include/unicode/caniter.h
  uimacpp/include/unicode/chariter.h
  uimacpp/include/unicode/choicfmt.h
  uimacpp/include/unicode/coleitr.h
  uimacpp/include/unicode/coll.h
  uimacpp/include/unicode/curramt.h
  uimacpp/include/unicode/currunit.h
  uimacpp/include/unicode/datefmt.h
  uimacpp/include/unicode/dbbi.h
  uimacpp/include/unicode/dcfmtsym.h
  uimacpp/include/unicode/decimfmt.h
  uimacpp/include/unicode/docmain.h
  uimacpp/include/unicode/dtfmtsym.h
  uimacpp/include/unicode/fieldpos.h
  uimacpp/include/unicode/fmtable.h
  uimacpp/include/unicode/format.h
  uimacpp/include/unicode/gregocal.h
  uimacpp/include/unicode/locid.h
  uimacpp/include/unicode/measfmt.h
  uimacpp/include/unicode/measunit.h
  uimacpp/include/unicode/measure.h
  uimacpp/include/unicode/msgfmt.h
  uimacpp/include/unicode/normlzr.h
  uimacpp/include/unicode/numfmt.h
  uimacpp/include/unicode/parseerr.h
  uimacpp/include/unicode/parsepos.h
  uimacpp/include/unicode/putil.h
  uimacpp/include/unicode/pwin32.h
  uimacpp/include/unicode/rbbi.h
  uimacpp/include/unicode/rbnf.h
  uimacpp/include/unicode/regex.h
  uimacpp/include/unicode/rep.h
  uimacpp/include/unicode/resbund.h
  uimacpp/include/unicode/schriter.h
  uimacpp/include/unicode/search.h
  uimacpp/include/unicode/simpletz.h
  uimacpp/include/unicode/smpdtfmt.h
  uimacpp/include/unicode/sortkey.h
  uimacpp/include/unicode/strenum.h
  uimacpp/include/unicode/stsearch.h
  uimacpp/include/unicode/symtable.h
  uimacpp/include/unicode/tblcoll.h
  uimacpp/include/unicode/timezone.h
  uimacpp/include/unicode/translit.h
  uimacpp/include/unicode/ubidi.h
  uimacpp/include/unicode/ubrk.h
  uimacpp/include/unicode/ucal.h
  uimacpp/include/unicode/ucasemap.h
  uimacpp/include/unicode/ucat.h
  uimacpp/include/unicode/uchar.h
  uimacpp/include/unicode/uchriter.h
  uimacpp/include/unicode/uclean.h
  uimacpp/include/unicode/ucnv.h
  uimacpp/include/unicode/ucnv_cb.h
  uimacpp/include/unicode/ucnv_err.h
  uimacpp/include/unicode/ucol.h
  uimacpp/include/unicode/ucoleitr.h
  uimacpp/include/unicode/uconfig.h
  uimacpp/include/unicode/ucsdet.h
  uimacpp/include/unicode/ucurr.h
  uimacpp/include/unicode/udat.h
  uimacpp/include/unicode/udata.h
  uimacpp/include/unicode/udeprctd.h
  uimacpp/include/unicode/udraft.h
  uimacpp/include/unicode/uenum.h
  uimacpp/include/unicode/uidna.h
  uimacpp/include/unicode/uintrnal.h
  uimacpp/include/unicode/uiter.h
  uimacpp/include/unicode/uloc.h
  uimacpp/include/unicode/ulocdata.h
  uimacpp/include/unicode/umachine.h
  uimacpp/include/unicode/umisc.h
  uimacpp/include/unicode/umsg.h
  uimacpp/include/unicode/unifilt.h
  uimacpp/include/unicode/unifunct.h
  uimacpp/include/unicode/unimatch.h
  uimacpp/include/unicode/unirepl.h
  uimacpp/include/unicode/uniset.h
  uimacpp/include/unicode/unistr.h
  uimacpp/include/unicode/unorm.h
  uimacpp/include/unicode/unum.h
  uimacpp/include/unicode/uobject.h
  uimacpp/include/unicode/uobslete.h
  uimacpp/include/unicode/uregex.h
  uimacpp/include/unicode/urename.h
  uimacpp/include/unicode/urep.h
  uimacpp/include/unicode/ures.h
  uimacpp/include/unicode/uscript.h
  uimacpp/include/unicode/usearch.h
  uimacpp/include/unicode/uset.h
  uimacpp/include/unicode/usetiter.h
  uimacpp/include/unicode/ushape.h
  uimacpp/include/unicode/usprep.h
  uimacpp/include/unicode/ustdio.h
  uimacpp/include/unicode/ustream.h
  uimacpp/include/unicode/ustring.h
  uimacpp/include/unicode/usystem.h
  uimacpp/include/unicode/utext.h
  uimacpp/include/unicode/utf.h
  uimacpp/include/unicode/utf16.h
  uimacpp/include/unicode/utf32.h
  uimacpp/include/unicode/utf8.h
  uimacpp/include/unicode/utf_old.h
  uimacpp/include/unicode/utrace.h
  uimacpp/include/unicode/utrans.h
  uimacpp/include/unicode/utypes.h
  uimacpp/include/unicode/uversion.h
  uimacpp/include/xercesc/framework/XMLErrorCodes.hpp
  uimacpp/include/xercesc/framework/XMLValidityCodes.hpp
  uimacpp/include/xercesc/internal/IANAEncodings.hpp
  uimacpp/include/xercesc/util/LogicalPath.c
  uimacpp/include/xercesc/util/XMLDOMMsg.hpp
  uimacpp/include/xercesc/util/XMLExceptMsgs.hpp
  uimacpp/include/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp
  uimacpp/include/xercesc/util/MsgLoaders/MsgCatalog/XMLMsgCat_Ids.hpp
  uimacpp/include/xercesc/util/MsgLoaders/MsgFile/XMLMessages.h
  uimacpp/include/xercesc/util/Platforms/Win32/resource.h

*******************************

Archives:

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
  N     uimacpp/LICENSE
  N     uimacpp/NOTICE
  B     uimacpp/bin/activemq-cpp.dll
  B     uimacpp/bin/deployCppService.exe
  B     uimacpp/bin/deployCppServiceD.exe
  B     uimacpp/bin/icudt36.dll
  B     uimacpp/bin/icuin36.dll
  B     uimacpp/bin/icuio36.dll
  B     uimacpp/bin/icule36.dll
  B     uimacpp/bin/iculx36.dll
  B     uimacpp/bin/icutu36.dll
  B     uimacpp/bin/icuuc36.dll
  B     uimacpp/bin/libapr-1.dll
  B     uimacpp/bin/libapriconv-1.dll
  B     uimacpp/bin/libaprutil-1.dll
  B     uimacpp/bin/msvcm80.dll
  B     uimacpp/bin/msvcp80.dll
  B     uimacpp/bin/msvcr80.dll
  B     uimacpp/bin/runAECpp.exe
  B     uimacpp/bin/runAECppD.exe
  B     uimacpp/bin/uima.dll
  B     uimacpp/bin/uimaD.dll
  B     uimacpp/bin/xerces-c_2_8.dll
  AL    uimacpp/data/resourceSpecifierSchema.xsd
  AL    uimacpp/include/apr/apr.h
  AL    uimacpp/include/apr/apr_allocator.h
  AL    uimacpp/include/apr/apr_atomic.h
  AL    uimacpp/include/apr/apr_dso.h
  AL    uimacpp/include/apr/apr_env.h
  AL    uimacpp/include/apr/apr_errno.h
  AL    uimacpp/include/apr/apr_file_info.h
  AL    uimacpp/include/apr/apr_file_io.h
 !????? uimacpp/include/apr/apr_fnmatch.h
  AL    uimacpp/include/apr/apr_general.h
  AL    uimacpp/include/apr/apr_getopt.h
  AL    uimacpp/include/apr/apr_global_mutex.h
  AL    uimacpp/include/apr/apr_hash.h
  AL    uimacpp/include/apr/apr_inherit.h
  AL    uimacpp/include/apr/apr_lib.h
  AL    uimacpp/include/apr/apr_mmap.h
  AL    uimacpp/include/apr/apr_network_io.h
  AL    uimacpp/include/apr/apr_poll.h
  AL    uimacpp/include/apr/apr_pools.h
  AL    uimacpp/include/apr/apr_portable.h
  AL    uimacpp/include/apr/apr_proc_mutex.h
  AL    uimacpp/include/apr/apr_random.h
  AL    uimacpp/include/apr/apr_ring.h
  AL    uimacpp/include/apr/apr_shm.h
  AL    uimacpp/include/apr/apr_signal.h
  AL    uimacpp/include/apr/apr_strings.h
  AL    uimacpp/include/apr/apr_support.h
  AL    uimacpp/include/apr/apr_tables.h
  AL    uimacpp/include/apr/apr_thread_cond.h
  AL    uimacpp/include/apr/apr_thread_mutex.h
  AL    uimacpp/include/apr/apr_thread_proc.h
  AL    uimacpp/include/apr/apr_thread_rwlock.h
  AL    uimacpp/include/apr/apr_time.h
  AL    uimacpp/include/apr/apr_user.h
  AL    uimacpp/include/apr/apr_version.h
  AL    uimacpp/include/apr/apr_want.h
  AL    uimacpp/include/uima/annotator.hpp
  AL    uimacpp/include/uima/annotator_abase.hpp
  AL    uimacpp/include/uima/annotator_api.h
  AL    uimacpp/include/uima/annotator_aux.hpp
  AL    uimacpp/include/uima/annotator_context.hpp
  AL    uimacpp/include/uima/annotator_generic.inl
  AL    uimacpp/include/uima/annotator_mgr.hpp
  AL    uimacpp/include/uima/annotator_timing.hpp
  AL    uimacpp/include/uima/api.hpp
  AL    uimacpp/include/uima/arrayfs.hpp
  AL    uimacpp/include/uima/assertmsg.h
  AL    uimacpp/include/uima/capability.hpp
  AL    uimacpp/include/uima/cas.hpp
  AL    uimacpp/include/uima/casconsumer_generic.inl
  AL    uimacpp/include/uima/casdefinition.hpp
  AL    uimacpp/include/uima/casexception.hpp
  AL    uimacpp/include/uima/casiterator.hpp
  AL    uimacpp/include/uima/caspool.hpp
  AL    uimacpp/include/uima/caswriter_abase.hpp
  AL    uimacpp/include/uima/ccsid.hpp
  AL    uimacpp/include/uima/comp_ids.h
  AL    uimacpp/include/uima/config_param.hpp
  AL    uimacpp/include/uima/config_tools.hpp
  AL    uimacpp/include/uima/configure.h
  AL    uimacpp/include/uima/consoleui.hpp
  AL    uimacpp/include/uima/cp2ucnvrt.hpp
  AL    uimacpp/include/uima/dirwalk.hpp
  AL    uimacpp/include/uima/dllfile.hpp
  AL    uimacpp/include/uima/dottypesystemwriter.hpp
  AL    uimacpp/include/uima/endian.h
  AL    uimacpp/include/uima/engine.hpp
  AL    uimacpp/include/uima/engine_state.hpp
  AL    uimacpp/include/uima/envvar.hpp
  AL    uimacpp/include/uima/envvars.h
  AL    uimacpp/include/uima/err_ids.h
  AL    uimacpp/include/uima/exceptions.hpp
  AL    uimacpp/include/uima/featurestructure.hpp
  AL    uimacpp/include/uima/filename.hpp
  AL    uimacpp/include/uima/fsfilterbuilder.hpp
  AL    uimacpp/include/uima/fsindex.hpp
  AL    uimacpp/include/uima/fsindexrepository.hpp
  AL    uimacpp/include/uima/fsiterator.hpp
  AL    uimacpp/include/uima/ftools.hpp
  AL    uimacpp/include/uima/importdescription.hpp
  AL    uimacpp/include/uima/internal_aggregate_engine.hpp
  AL    uimacpp/include/uima/internal_capability_container.hpp
  AL    uimacpp/include/uima/internal_casdeserializer.hpp
  AL    uimacpp/include/uima/internal_casimpl.hpp
  AL    uimacpp/include/uima/internal_casserializer.hpp
  AL    uimacpp/include/uima/internal_engine_base.hpp
  AL    uimacpp/include/uima/internal_fspromoter.hpp
  AL    uimacpp/include/uima/internal_fsvalue_accessors.hpp
  AL    uimacpp/include/uima/internal_jedii_engine.hpp
  AL    uimacpp/include/uima/internal_primitive_engine.hpp
  AL    uimacpp/include/uima/internal_serializedcas.hpp
  AL    uimacpp/include/uima/internal_typeshortcuts.hpp
  AL    uimacpp/include/uima/internal_xmlconstants.hpp
  AL    uimacpp/include/uima/language.hpp
  AL    uimacpp/include/uima/listfs.hpp
  AL    uimacpp/include/uima/location.hpp
  AL    uimacpp/include/uima/log.hpp
  AL    uimacpp/include/uima/lowlevel_defaultfsiterator.hpp
  AL    uimacpp/include/uima/lowlevel_fsfilter.hpp
  AL    uimacpp/include/uima/lowlevel_fsheap.hpp
  AL    uimacpp/include/uima/lowlevel_index.hpp
  AL    uimacpp/include/uima/lowlevel_indexcomparator.hpp
  AL    uimacpp/include/uima/lowlevel_indexdefinition.hpp
  AL    uimacpp/include/uima/lowlevel_indexiterator.hpp
  AL    uimacpp/include/uima/lowlevel_indexrepository.hpp
  AL    uimacpp/include/uima/lowlevel_internal_heap.hpp
  AL    uimacpp/include/uima/lowlevel_internal_indexes.hpp
  AL    uimacpp/include/uima/lowlevel_internal_indexfactory.hpp
  AL    uimacpp/include/uima/lowlevel_typedefs.hpp
  AL    uimacpp/include/uima/lowlevel_typesystem.hpp
  AL    uimacpp/include/uima/macros.h
  AL    uimacpp/include/uima/msg.h
  AL    uimacpp/include/uima/msgstrtab.h
  AL    uimacpp/include/uima/pragmas.hpp
  AL    uimacpp/include/uima/res_abase.hpp
  AL    uimacpp/include/uima/res_annotator.hpp
  AL    uimacpp/include/uima/resmgr.hpp
  AL    uimacpp/include/uima/result_specification.hpp
  AL    uimacpp/include/uima/sofaid.hpp
  AL    uimacpp/include/uima/sofamapping.hpp
  AL    uimacpp/include/uima/sofastream.hpp
  AL    uimacpp/include/uima/sofastreamhandler.hpp
  AL    uimacpp/include/uima/stltools.hpp
  AL    uimacpp/include/uima/strconvert.hpp
  AL    uimacpp/include/uima/strtools.hpp
  AL    uimacpp/include/uima/taemetadata.hpp
  AL    uimacpp/include/uima/taespecifier.hpp
  AL    uimacpp/include/uima/taespecifierbuilder.hpp
  AL    uimacpp/include/uima/text.h
  AL    uimacpp/include/uima/timedatetools.hpp
  AL    uimacpp/include/uima/token_properties.hpp
  AL    uimacpp/include/uima/trace.hpp
  AL    uimacpp/include/uima/type_or_feature.hpp
  AL    uimacpp/include/uima/typenamespace.hpp
  AL    uimacpp/include/uima/types.h
  AL    uimacpp/include/uima/typesystem.hpp
  AL    uimacpp/include/uima/typesystemdescription.hpp
  AL    uimacpp/include/uima/u2cpcnvrt.hpp
  AL    uimacpp/include/uima/unistrref.hpp
  AL    uimacpp/include/uima/xcasdeserializer.hpp
  AL    uimacpp/include/uima/xcasdeserializer_handler.hpp
  AL    uimacpp/include/uima/xmideserializer.hpp
  AL    uimacpp/include/uima/xmideserializer_handler.hpp
  AL    uimacpp/include/uima/xmishareddata.hpp
  AL    uimacpp/include/uima/xmiwriter.hpp
  AL    uimacpp/include/uima/xmlerror_handler.hpp
  AL    uimacpp/include/uima/xmltypesystemreader.hpp
  AL    uimacpp/include/uima/xmltypesystemwriter.hpp
  AL    uimacpp/include/uima/xmlwriter.hpp
 !????? uimacpp/include/unicode/brkiter.h
 !????? uimacpp/include/unicode/calendar.h
 !????? uimacpp/include/unicode/caniter.h
 !????? uimacpp/include/unicode/chariter.h
 !????? uimacpp/include/unicode/choicfmt.h
 !????? uimacpp/include/unicode/coleitr.h
 !????? uimacpp/include/unicode/coll.h
 !????? uimacpp/include/unicode/curramt.h
 !????? uimacpp/include/unicode/currunit.h
 !????? uimacpp/include/unicode/datefmt.h
 !????? uimacpp/include/unicode/dbbi.h
 !????? uimacpp/include/unicode/dcfmtsym.h
 !????? uimacpp/include/unicode/decimfmt.h
 !????? uimacpp/include/unicode/docmain.h
 !????? uimacpp/include/unicode/dtfmtsym.h
 !????? uimacpp/include/unicode/fieldpos.h
 !????? uimacpp/include/unicode/fmtable.h
 !????? uimacpp/include/unicode/format.h
 !????? uimacpp/include/unicode/gregocal.h
 !????? uimacpp/include/unicode/locid.h
 !????? uimacpp/include/unicode/measfmt.h
 !????? uimacpp/include/unicode/measunit.h
 !????? uimacpp/include/unicode/measure.h
 !????? uimacpp/include/unicode/msgfmt.h
 !????? uimacpp/include/unicode/normlzr.h
 !????? uimacpp/include/unicode/numfmt.h
 !????? uimacpp/include/unicode/parseerr.h
 !????? uimacpp/include/unicode/parsepos.h
 !????? uimacpp/include/unicode/putil.h
 !????? uimacpp/include/unicode/pwin32.h
 !????? uimacpp/include/unicode/rbbi.h
 !????? uimacpp/include/unicode/rbnf.h
 !????? uimacpp/include/unicode/regex.h
 !????? uimacpp/include/unicode/rep.h
 !????? uimacpp/include/unicode/resbund.h
 !????? uimacpp/include/unicode/schriter.h
 !????? uimacpp/include/unicode/search.h
 !????? uimacpp/include/unicode/simpletz.h
 !????? uimacpp/include/unicode/smpdtfmt.h
 !????? uimacpp/include/unicode/sortkey.h
 !????? uimacpp/include/unicode/strenum.h
 !????? uimacpp/include/unicode/stsearch.h
 !????? uimacpp/include/unicode/symtable.h
 !????? uimacpp/include/unicode/tblcoll.h
 !????? uimacpp/include/unicode/timezone.h
 !????? uimacpp/include/unicode/translit.h
 !????? uimacpp/include/unicode/ubidi.h
 !????? uimacpp/include/unicode/ubrk.h
 !????? uimacpp/include/unicode/ucal.h
 !????? uimacpp/include/unicode/ucasemap.h
 !????? uimacpp/include/unicode/ucat.h
 !????? uimacpp/include/unicode/uchar.h
 !????? uimacpp/include/unicode/uchriter.h
 !????? uimacpp/include/unicode/uclean.h
 !????? uimacpp/include/unicode/ucnv.h
 !????? uimacpp/include/unicode/ucnv_cb.h
 !????? uimacpp/include/unicode/ucnv_err.h
 !????? uimacpp/include/unicode/ucol.h
 !????? uimacpp/include/unicode/ucoleitr.h
 !????? uimacpp/include/unicode/uconfig.h
 !????? uimacpp/include/unicode/ucsdet.h
 !????? uimacpp/include/unicode/ucurr.h
 !????? uimacpp/include/unicode/udat.h
 !????? uimacpp/include/unicode/udata.h
 !????? uimacpp/include/unicode/udeprctd.h
 !????? uimacpp/include/unicode/udraft.h
 !????? uimacpp/include/unicode/uenum.h
 !????? uimacpp/include/unicode/uidna.h
 !????? uimacpp/include/unicode/uintrnal.h
 !????? uimacpp/include/unicode/uiter.h
 !????? uimacpp/include/unicode/uloc.h
 !????? uimacpp/include/unicode/ulocdata.h
 !????? uimacpp/include/unicode/umachine.h
 !????? uimacpp/include/unicode/umisc.h
 !????? uimacpp/include/unicode/umsg.h
 !????? uimacpp/include/unicode/unifilt.h
 !????? uimacpp/include/unicode/unifunct.h
 !????? uimacpp/include/unicode/unimatch.h
 !????? uimacpp/include/unicode/unirepl.h
 !????? uimacpp/include/unicode/uniset.h
 !????? uimacpp/include/unicode/unistr.h
 !????? uimacpp/include/unicode/unorm.h
 !????? uimacpp/include/unicode/unum.h
 !????? uimacpp/include/unicode/uobject.h
 !????? uimacpp/include/unicode/uobslete.h
 !????? uimacpp/include/unicode/uregex.h
 !????? uimacpp/include/unicode/urename.h
 !????? uimacpp/include/unicode/urep.h
 !????? uimacpp/include/unicode/ures.h
 !????? uimacpp/include/unicode/uscript.h
 !????? uimacpp/include/unicode/usearch.h
 !????? uimacpp/include/unicode/uset.h
 !????? uimacpp/include/unicode/usetiter.h
 !????? uimacpp/include/unicode/ushape.h
 !????? uimacpp/include/unicode/usprep.h
 !????? uimacpp/include/unicode/ustdio.h
 !????? uimacpp/include/unicode/ustream.h
 !????? uimacpp/include/unicode/ustring.h
 !????? uimacpp/include/unicode/usystem.h
 !????? uimacpp/include/unicode/utext.h
 !????? uimacpp/include/unicode/utf.h
 !????? uimacpp/include/unicode/utf16.h
 !????? uimacpp/include/unicode/utf32.h
 !????? uimacpp/include/unicode/utf8.h
 !????? uimacpp/include/unicode/utf_old.h
 !????? uimacpp/include/unicode/utrace.h
 !????? uimacpp/include/unicode/utrans.h
 !????? uimacpp/include/unicode/utypes.h
 !????? uimacpp/include/unicode/uversion.h
  AL    uimacpp/include/xercesc/dom/DOM.hpp
  AL    uimacpp/include/xercesc/dom/DOMAttr.hpp
  AL    uimacpp/include/xercesc/dom/DOMBuilder.hpp
  AL    uimacpp/include/xercesc/dom/DOMCDATASection.hpp
  AL    uimacpp/include/xercesc/dom/DOMCharacterData.hpp
  AL    uimacpp/include/xercesc/dom/DOMComment.hpp
  AL    uimacpp/include/xercesc/dom/DOMConfiguration.hpp
  AL    uimacpp/include/xercesc/dom/DOMDocument.hpp
  AL    uimacpp/include/xercesc/dom/DOMDocumentFragment.hpp
  AL    uimacpp/include/xercesc/dom/DOMDocumentRange.hpp
  AL    uimacpp/include/xercesc/dom/DOMDocumentTraversal.hpp
  AL    uimacpp/include/xercesc/dom/DOMDocumentType.hpp
  AL    uimacpp/include/xercesc/dom/DOMElement.hpp
  AL    uimacpp/include/xercesc/dom/DOMEntity.hpp
  AL    uimacpp/include/xercesc/dom/DOMEntityReference.hpp
  AL    uimacpp/include/xercesc/dom/DOMEntityResolver.hpp
  AL    uimacpp/include/xercesc/dom/DOMError.hpp
  AL    uimacpp/include/xercesc/dom/DOMErrorHandler.hpp
  AL    uimacpp/include/xercesc/dom/DOMException.hpp
  AL    uimacpp/include/xercesc/dom/DOMImplementation.hpp
  AL    uimacpp/include/xercesc/dom/DOMImplementationLS.hpp
  AL    uimacpp/include/xercesc/dom/DOMImplementationRegistry.hpp
  AL    uimacpp/include/xercesc/dom/DOMImplementationSource.hpp
  AL    uimacpp/include/xercesc/dom/DOMInputSource.hpp
  AL    uimacpp/include/xercesc/dom/DOMLocator.hpp
  AL    uimacpp/include/xercesc/dom/DOMNamedNodeMap.hpp
  AL    uimacpp/include/xercesc/dom/DOMNode.hpp
  AL    uimacpp/include/xercesc/dom/DOMNodeFilter.hpp
  AL    uimacpp/include/xercesc/dom/DOMNodeIterator.hpp
  AL    uimacpp/include/xercesc/dom/DOMNodeList.hpp
  AL    uimacpp/include/xercesc/dom/DOMNotation.hpp
  AL    uimacpp/include/xercesc/dom/DOMPSVITypeInfo.hpp
  AL    uimacpp/include/xercesc/dom/DOMProcessingInstruction.hpp
  AL    uimacpp/include/xercesc/dom/DOMRange.hpp
  AL    uimacpp/include/xercesc/dom/DOMRangeException.hpp
  AL    uimacpp/include/xercesc/dom/DOMText.hpp
  AL    uimacpp/include/xercesc/dom/DOMTreeWalker.hpp
  AL    uimacpp/include/xercesc/dom/DOMTypeInfo.hpp
  AL    uimacpp/include/xercesc/dom/DOMUserDataHandler.hpp
  AL    uimacpp/include/xercesc/dom/DOMWriter.hpp
  AL    uimacpp/include/xercesc/dom/DOMWriterFilter.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathEvaluator.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathException.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathExpression.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathNSResolver.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathNamespace.hpp
  AL    uimacpp/include/xercesc/dom/DOMXPathResult.hpp
  AL    uimacpp/include/xercesc/dom/StDOMNode.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/ChildNode.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOMParser.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOMString.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Attr.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_CDATASection.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_CharacterData.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Comment.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_DOMException.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_DOMImplementation.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Document.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_DocumentFragment.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_DocumentType.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Element.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Entity.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_EntityReference.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_NamedNodeMap.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Node.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_NodeFilter.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_NodeIterator.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_NodeList.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Notation.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_ProcessingInstruction.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Range.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_RangeException.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_Text.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_TreeWalker.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DOM_XMLDecl.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/DomMemDebug.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/MemDebug.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/NameNodeFilter.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/NodeIDMap.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/NodeVector.hpp
  AL    uimacpp/include/xercesc/dom/deprecated/ParentNode.hpp
  AL    uimacpp/include/xercesc/framework/BinOutputStream.hpp
  AL    uimacpp/include/xercesc/framework/LocalFileFormatTarget.hpp
  AL    uimacpp/include/xercesc/framework/LocalFileInputSource.hpp
  AL    uimacpp/include/xercesc/framework/MemBufFormatTarget.hpp
  AL    uimacpp/include/xercesc/framework/MemBufInputSource.hpp
  AL    uimacpp/include/xercesc/framework/MemoryManager.hpp
  AL    uimacpp/include/xercesc/framework/StdInInputSource.hpp
  AL    uimacpp/include/xercesc/framework/StdOutFormatTarget.hpp
  AL    uimacpp/include/xercesc/framework/URLInputSource.hpp
  AL    uimacpp/include/xercesc/framework/ValidationContext.hpp
  AL    uimacpp/include/xercesc/framework/Wrapper4DOMInputSource.hpp
  AL    uimacpp/include/xercesc/framework/Wrapper4InputSource.hpp
  AL    uimacpp/include/xercesc/framework/XMLAttDef.hpp
  AL    uimacpp/include/xercesc/framework/XMLAttDefList.hpp
  AL    uimacpp/include/xercesc/framework/XMLAttr.hpp
  AL    uimacpp/include/xercesc/framework/XMLBuffer.hpp
  AL    uimacpp/include/xercesc/framework/XMLBufferMgr.hpp
  AL    uimacpp/include/xercesc/framework/XMLContentModel.hpp
  AL    uimacpp/include/xercesc/framework/XMLDTDDescription.hpp
  AL    uimacpp/include/xercesc/framework/XMLDocumentHandler.hpp
  AL    uimacpp/include/xercesc/framework/XMLElementDecl.hpp
  AL    uimacpp/include/xercesc/framework/XMLEntityDecl.hpp
  AL    uimacpp/include/xercesc/framework/XMLEntityHandler.hpp
 !????? uimacpp/include/xercesc/framework/XMLErrorCodes.hpp
  AL    uimacpp/include/xercesc/framework/XMLErrorReporter.hpp
  AL    uimacpp/include/xercesc/framework/XMLFormatter.hpp
  AL    uimacpp/include/xercesc/framework/XMLGrammarDescription.hpp
  AL    uimacpp/include/xercesc/framework/XMLGrammarPool.hpp
  AL    uimacpp/include/xercesc/framework/XMLNotationDecl.hpp
  AL    uimacpp/include/xercesc/framework/XMLPScanToken.hpp
  AL    uimacpp/include/xercesc/framework/XMLRecognizer.hpp
  AL    uimacpp/include/xercesc/framework/XMLRefInfo.hpp
  AL    uimacpp/include/xercesc/framework/XMLSchemaDescription.hpp
  AL    uimacpp/include/xercesc/framework/XMLValidator.hpp
 !????? uimacpp/include/xercesc/framework/XMLValidityCodes.hpp
  AL    uimacpp/include/xercesc/framework/psvi/PSVIAttribute.hpp
  AL    uimacpp/include/xercesc/framework/psvi/PSVIAttributeList.hpp
  AL    uimacpp/include/xercesc/framework/psvi/PSVIElement.hpp
  AL    uimacpp/include/xercesc/framework/psvi/PSVIHandler.hpp
  AL    uimacpp/include/xercesc/framework/psvi/PSVIItem.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSAnnotation.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSAttributeDeclaration.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSAttributeGroupDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSAttributeUse.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSComplexTypeDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSConstants.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSElementDeclaration.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSFacet.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSIDCDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSModel.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSModelGroup.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSModelGroupDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSMultiValueFacet.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSNamedMap.c
  AL    uimacpp/include/xercesc/framework/psvi/XSNamedMap.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSNamespaceItem.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSNotationDeclaration.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSObject.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSParticle.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSSimpleTypeDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSTypeDefinition.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSValue.hpp
  AL    uimacpp/include/xercesc/framework/psvi/XSWildcard.hpp
  AL    uimacpp/include/xercesc/internal/BinFileOutputStream.hpp
  AL    uimacpp/include/xercesc/internal/BinMemOutputStream.hpp
  AL    uimacpp/include/xercesc/internal/CharTypeTables.hpp
  AL    uimacpp/include/xercesc/internal/DGXMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/ElemStack.hpp
  AL    uimacpp/include/xercesc/internal/EndOfEntityException.hpp
 !????? uimacpp/include/xercesc/internal/IANAEncodings.hpp
  AL    uimacpp/include/xercesc/internal/IGXMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/MemoryManagerArrayImpl.hpp
  AL    uimacpp/include/xercesc/internal/MemoryManagerImpl.hpp
  AL    uimacpp/include/xercesc/internal/ReaderMgr.hpp
  AL    uimacpp/include/xercesc/internal/SGXMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/ValidationContextImpl.hpp
  AL    uimacpp/include/xercesc/internal/VecAttrListImpl.hpp
  AL    uimacpp/include/xercesc/internal/VecAttributesImpl.hpp
  AL    uimacpp/include/xercesc/internal/WFXMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/XMLGrammarPoolImpl.hpp
  AL    uimacpp/include/xercesc/internal/XMLInternalErrorHandler.hpp
  AL    uimacpp/include/xercesc/internal/XMLReader.hpp
  AL    uimacpp/include/xercesc/internal/XMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/XMLScannerResolver.hpp
  AL    uimacpp/include/xercesc/internal/XProtoType.hpp
  AL    uimacpp/include/xercesc/internal/XSAXMLScanner.hpp
  AL    uimacpp/include/xercesc/internal/XSObjectFactory.hpp
  AL    uimacpp/include/xercesc/internal/XSerializable.hpp
  AL    uimacpp/include/xercesc/internal/XSerializationException.hpp
  AL    uimacpp/include/xercesc/internal/XSerializeEngine.hpp
  AL    uimacpp/include/xercesc/internal/XTemplateSerializer.hpp
  AL    uimacpp/include/xercesc/parsers/AbstractDOMParser.hpp
  AL    uimacpp/include/xercesc/parsers/DOMBuilderImpl.hpp
  AL    uimacpp/include/xercesc/parsers/SAX2XMLFilterImpl.hpp
  AL    uimacpp/include/xercesc/parsers/SAX2XMLReaderImpl.hpp
  AL    uimacpp/include/xercesc/parsers/SAXParser.hpp
  AL    uimacpp/include/xercesc/parsers/XercesDOMParser.hpp
  AL    uimacpp/include/xercesc/sax/AttributeList.hpp
  AL    uimacpp/include/xercesc/sax/DTDHandler.hpp
  AL    uimacpp/include/xercesc/sax/DocumentHandler.hpp
  AL    uimacpp/include/xercesc/sax/EntityResolver.hpp
  AL    uimacpp/include/xercesc/sax/ErrorHandler.hpp
  AL    uimacpp/include/xercesc/sax/HandlerBase.hpp
  AL    uimacpp/include/xercesc/sax/InputSource.hpp
  AL    uimacpp/include/xercesc/sax/Locator.hpp
  AL    uimacpp/include/xercesc/sax/Parser.hpp
  AL    uimacpp/include/xercesc/sax/SAXException.hpp
  AL    uimacpp/include/xercesc/sax/SAXParseException.hpp
  AL    uimacpp/include/xercesc/sax2/Attributes.hpp
  AL    uimacpp/include/xercesc/sax2/ContentHandler.hpp
  AL    uimacpp/include/xercesc/sax2/DeclHandler.hpp
  AL    uimacpp/include/xercesc/sax2/DefaultHandler.hpp
  AL    uimacpp/include/xercesc/sax2/LexicalHandler.hpp
  AL    uimacpp/include/xercesc/sax2/SAX2XMLFilter.hpp
  AL    uimacpp/include/xercesc/sax2/SAX2XMLReader.hpp
  AL    uimacpp/include/xercesc/sax2/XMLReaderFactory.hpp
  AL    uimacpp/include/xercesc/util/ArrayIndexOutOfBoundsException.hpp
  AL    uimacpp/include/xercesc/util/AutoSense.hpp
  AL    uimacpp/include/xercesc/util/Base64.hpp
  AL    uimacpp/include/xercesc/util/BaseRefVectorOf.c
  AL    uimacpp/include/xercesc/util/BaseRefVectorOf.hpp
  AL    uimacpp/include/xercesc/util/BinFileInputStream.hpp
  AL    uimacpp/include/xercesc/util/BinInputStream.hpp
  AL    uimacpp/include/xercesc/util/BinMemInputStream.hpp
  AL    uimacpp/include/xercesc/util/BitOps.hpp
  AL    uimacpp/include/xercesc/util/BitSet.hpp
  AL    uimacpp/include/xercesc/util/CountedPointer.c
  AL    uimacpp/include/xercesc/util/CountedPointer.hpp
  AL    uimacpp/include/xercesc/util/DefaultPanicHandler.hpp
  AL    uimacpp/include/xercesc/util/EmptyStackException.hpp
  AL    uimacpp/include/xercesc/util/EncodingValidator.hpp
  AL    uimacpp/include/xercesc/util/FlagJanitor.c
  AL    uimacpp/include/xercesc/util/FlagJanitor.hpp
  AL    uimacpp/include/xercesc/util/HashBase.hpp
  AL    uimacpp/include/xercesc/util/HashCMStateSet.hpp
  AL    uimacpp/include/xercesc/util/HashPtr.hpp
  AL    uimacpp/include/xercesc/util/HashXMLCh.hpp
  AL    uimacpp/include/xercesc/util/HexBin.hpp
  AL    uimacpp/include/xercesc/util/IOException.hpp
  AL    uimacpp/include/xercesc/util/IllegalArgumentException.hpp
  AL    uimacpp/include/xercesc/util/InvalidCastException.hpp
  AL    uimacpp/include/xercesc/util/Janitor.c
  AL    uimacpp/include/xercesc/util/Janitor.hpp
  AL    uimacpp/include/xercesc/util/KVStringPair.hpp
  AL    uimacpp/include/xercesc/util/KeyRefPair.c
  AL    uimacpp/include/xercesc/util/KeyRefPair.hpp
  AL    uimacpp/include/xercesc/util/KeyValuePair.c
  AL    uimacpp/include/xercesc/util/KeyValuePair.hpp
 !????? uimacpp/include/xercesc/util/LogicalPath.c
  AL    uimacpp/include/xercesc/util/Mutexes.hpp
  AL    uimacpp/include/xercesc/util/NameIdPool.c
  AL    uimacpp/include/xercesc/util/NameIdPool.hpp
  AL    uimacpp/include/xercesc/util/NoSuchElementException.hpp
  AL    uimacpp/include/xercesc/util/NullPointerException.hpp
  AL    uimacpp/include/xercesc/util/NumberFormatException.hpp
  AL    uimacpp/include/xercesc/util/OutOfMemoryException.hpp
  AL    uimacpp/include/xercesc/util/PanicHandler.hpp
  AL    uimacpp/include/xercesc/util/ParseException.hpp
  AL    uimacpp/include/xercesc/util/PlatformUtils.hpp
  AL    uimacpp/include/xercesc/util/QName.hpp
  AL    uimacpp/include/xercesc/util/RefArrayOf.c
  AL    uimacpp/include/xercesc/util/RefArrayOf.hpp
  AL    uimacpp/include/xercesc/util/RefArrayVectorOf.c
  AL    uimacpp/include/xercesc/util/RefArrayVectorOf.hpp
  AL    uimacpp/include/xercesc/util/RefHash2KeysTableOf.c
  AL    uimacpp/include/xercesc/util/RefHash2KeysTableOf.hpp
  AL    uimacpp/include/xercesc/util/RefHash3KeysIdPool.c
  AL    uimacpp/include/xercesc/util/RefHash3KeysIdPool.hpp
  AL    uimacpp/include/xercesc/util/RefHashTableOf.c
  AL    uimacpp/include/xercesc/util/RefHashTableOf.hpp
  AL    uimacpp/include/xercesc/util/RefStackOf.c
  AL    uimacpp/include/xercesc/util/RefStackOf.hpp
  AL    uimacpp/include/xercesc/util/RefVectorOf.c
  AL    uimacpp/include/xercesc/util/RefVectorOf.hpp
  AL    uimacpp/include/xercesc/util/RuntimeException.hpp
  AL    uimacpp/include/xercesc/util/SchemaDateTimeException.hpp
  AL    uimacpp/include/xercesc/util/SecurityManager.hpp
  AL    uimacpp/include/xercesc/util/StringPool.hpp
  AL    uimacpp/include/xercesc/util/SynchronizedStringPool.hpp
  AL    uimacpp/include/xercesc/util/TransENameMap.c
  AL    uimacpp/include/xercesc/util/TransENameMap.hpp
  AL    uimacpp/include/xercesc/util/TransService.hpp
  AL    uimacpp/include/xercesc/util/TranscodingException.hpp
  AL    uimacpp/include/xercesc/util/UTFDataFormatException.hpp
  AL    uimacpp/include/xercesc/util/UnexpectedEOFException.hpp
  AL    uimacpp/include/xercesc/util/UnsupportedEncodingException.hpp
  AL    uimacpp/include/xercesc/util/ValueArrayOf.c
  AL    uimacpp/include/xercesc/util/ValueArrayOf.hpp
  AL    uimacpp/include/xercesc/util/ValueHashTableOf.c
  AL    uimacpp/include/xercesc/util/ValueHashTableOf.hpp
  AL    uimacpp/include/xercesc/util/ValueStackOf.c
  AL    uimacpp/include/xercesc/util/ValueStackOf.hpp
  AL    uimacpp/include/xercesc/util/ValueVectorOf.c
  AL    uimacpp/include/xercesc/util/ValueVectorOf.hpp
  AL    uimacpp/include/xercesc/util/XML256TableTranscoder.hpp
  AL    uimacpp/include/xercesc/util/XML88591Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLASCIITranscoder.hpp
  AL    uimacpp/include/xercesc/util/XMLAbstractDoubleFloat.hpp
  AL    uimacpp/include/xercesc/util/XMLBigDecimal.hpp
  AL    uimacpp/include/xercesc/util/XMLBigInteger.hpp
  AL    uimacpp/include/xercesc/util/XMLChTranscoder.hpp
  AL    uimacpp/include/xercesc/util/XMLChar.hpp
 !????? uimacpp/include/xercesc/util/XMLDOMMsg.hpp
  AL    uimacpp/include/xercesc/util/XMLDateTime.hpp
  AL    uimacpp/include/xercesc/util/XMLDeleterFor.c
  AL    uimacpp/include/xercesc/util/XMLDeleterFor.hpp
  AL    uimacpp/include/xercesc/util/XMLDouble.hpp
  AL    uimacpp/include/xercesc/util/XMLEBCDICTranscoder.hpp
  AL    uimacpp/include/xercesc/util/XMLEntityResolver.hpp
  AL    uimacpp/include/xercesc/util/XMLEnumerator.hpp
 !????? uimacpp/include/xercesc/util/XMLExceptMsgs.hpp
  AL    uimacpp/include/xercesc/util/XMLException.hpp
  AL    uimacpp/include/xercesc/util/XMLFloat.hpp
  AL    uimacpp/include/xercesc/util/XMLHolder.c
  AL    uimacpp/include/xercesc/util/XMLHolder.hpp
  AL    uimacpp/include/xercesc/util/XMLIBM1047Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLIBM1140Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLInitializer.hpp
  AL    uimacpp/include/xercesc/util/XMLInteger.hpp
  AL    uimacpp/include/xercesc/util/XMLMsgLoader.hpp
  AL    uimacpp/include/xercesc/util/XMLNetAccessor.hpp
  AL    uimacpp/include/xercesc/util/XMLNumber.hpp
  AL    uimacpp/include/xercesc/util/XMLRegisterCleanup.hpp
  AL    uimacpp/include/xercesc/util/XMLResourceIdentifier.hpp
  AL    uimacpp/include/xercesc/util/XMLString.hpp
  AL    uimacpp/include/xercesc/util/XMLStringTokenizer.hpp
  AL    uimacpp/include/xercesc/util/XMLUCS4Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLURL.hpp
  AL    uimacpp/include/xercesc/util/XMLUTF16Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLUTF8Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMLUni.hpp
  AL    uimacpp/include/xercesc/util/XMLUniDefs.hpp
  AL    uimacpp/include/xercesc/util/XMLUri.hpp
  AL    uimacpp/include/xercesc/util/XMLWin1252Transcoder.hpp
  AL    uimacpp/include/xercesc/util/XMemory.hpp
  AL    uimacpp/include/xercesc/util/XercesDefs.hpp
  AL    uimacpp/include/xercesc/util/XercesVersion.hpp
  AL    uimacpp/include/xercesc/util/Compilers/BorlandCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/CSetDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/CodeWarriorDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/DECCXXDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/GCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/HPCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/IBMVAOS2Defs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/IBMVAW32Defs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/MIPSproDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/MVSCPPDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/OS400SetDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/PTXCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/QCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/SCOCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/SunCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/SunKaiDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/TandemCCDefs.hpp
  AL    uimacpp/include/xercesc/util/Compilers/VCPPDefs.hpp
  AL    uimacpp/include/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp
  AL    uimacpp/include/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
 !????? uimacpp/include/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp
  AL    uimacpp/include/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
 !????? uimacpp/include/xercesc/util/MsgLoaders/MsgCatalog/XMLMsgCat_Ids.hpp
  AL    uimacpp/include/xercesc/util/MsgLoaders/MsgFile/MsgLoader.hpp
 !????? uimacpp/include/xercesc/util/MsgLoaders/MsgFile/XMLMessages.h
  AL    uimacpp/include/xercesc/util/MsgLoaders/Win32/Win32MsgLoader.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/MacOSURLAccess/URLAccessBinInputStream.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/MacOSURLAccessCF/URLAccessCFBinInputStream.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/Socket/SocketNetAccessor.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/libWWW/BinURLInputStream.hpp
  AL    uimacpp/include/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.hpp
  AL    uimacpp/include/xercesc/util/Platforms/AIX/AIXDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/BeOS/BeOSDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Cygwin/CygwinDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/FreeBSD/FreeBSDDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/HPUX/HPUXDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/IRIX/IRIXDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Interix/InterixDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Linux/LinuxDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/MacOS/MacAbstractFile.hpp
  AL    uimacpp/include/xercesc/util/Platforms/MacOS/MacCarbonFile.hpp
  AL    uimacpp/include/xercesc/util/Platforms/MacOS/MacOSDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.hpp
  AL    uimacpp/include/xercesc/util/Platforms/MacOS/MacPosixFile.hpp
  AL    uimacpp/include/xercesc/util/Platforms/NetBSD/NetBSDDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS2/OS2Defs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS390/FileHandleImpl.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS390/OS390Defs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS390/Path390.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS400/OS400Defs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OS400/OS400PlatformUtils.hpp
  AL    uimacpp/include/xercesc/util/Platforms/OpenServer/OpenServerDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/PTX/PTXDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/QNX/QNXDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Solaris/SolarisDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Tandem/TandemDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Tru64/Tru64Defs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/UnixWare/UnixWareDefs.hpp
  AL    uimacpp/include/xercesc/util/Platforms/Win32/Win32Defs.hpp
 !????? uimacpp/include/xercesc/util/Platforms/Win32/resource.h
  AL    uimacpp/include/xercesc/util/Transcoders/Cygwin/CygwinTransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/ICU/ICUTransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv/IconvTransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv390/Iconv390TransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv400/Iconv400TransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv400/iconv_cnv.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv400/iconv_util.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv400/pos400.h
  AL    uimacpp/include/xercesc/util/Transcoders/Iconv400/utypes.h
  AL    uimacpp/include/xercesc/util/Transcoders/IconvFBSD/IconvFBSDTransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XML256TableTranscoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XML88591Transcoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLASCIITranscoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLEBCDICTranscoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLIBM1047Transcoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLIBM1140Transcoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLUTF8Transcoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/XMLWin1252Transcoder390.hpp
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/ccsid.h
  AL    uimacpp/include/xercesc/util/Transcoders/Uniconv390/uniconv.h
  AL    uimacpp/include/xercesc/util/Transcoders/Win32/Win32TransService.hpp
  AL    uimacpp/include/xercesc/util/regx/ASCIIRangeFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/BMPattern.hpp
  AL    uimacpp/include/xercesc/util/regx/BlockRangeFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/CharToken.hpp
  AL    uimacpp/include/xercesc/util/regx/ClosureToken.hpp
  AL    uimacpp/include/xercesc/util/regx/ConcatToken.hpp
  AL    uimacpp/include/xercesc/util/regx/ConditionToken.hpp
  AL    uimacpp/include/xercesc/util/regx/Match.hpp
  AL    uimacpp/include/xercesc/util/regx/ModifierToken.hpp
  AL    uimacpp/include/xercesc/util/regx/Op.hpp
  AL    uimacpp/include/xercesc/util/regx/OpFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/ParenToken.hpp
  AL    uimacpp/include/xercesc/util/regx/ParserForXMLSchema.hpp
  AL    uimacpp/include/xercesc/util/regx/RangeFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/RangeToken.hpp
  AL    uimacpp/include/xercesc/util/regx/RangeTokenMap.hpp
  AL    uimacpp/include/xercesc/util/regx/RegularExpression.hpp
  AL    uimacpp/include/xercesc/util/regx/RegxDefs.hpp
  AL    uimacpp/include/xercesc/util/regx/RegxParser.hpp
  AL    uimacpp/include/xercesc/util/regx/RegxUtil.hpp
  AL    uimacpp/include/xercesc/util/regx/StringToken.hpp
  AL    uimacpp/include/xercesc/util/regx/Token.hpp
  AL    uimacpp/include/xercesc/util/regx/TokenFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/TokenInc.hpp
  AL    uimacpp/include/xercesc/util/regx/UniCharTable.hpp
  AL    uimacpp/include/xercesc/util/regx/UnicodeRangeFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/UnionToken.hpp
  AL    uimacpp/include/xercesc/util/regx/XMLRangeFactory.hpp
  AL    uimacpp/include/xercesc/util/regx/XMLUniCharacter.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDAttDef.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDAttDefList.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDElementDecl.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDEntityDecl.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDGrammar.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDScanner.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DTDValidator.hpp
  AL    uimacpp/include/xercesc/validators/DTD/DocTypeHandler.hpp
  AL    uimacpp/include/xercesc/validators/DTD/XMLDTDDescriptionImpl.hpp
  AL    uimacpp/include/xercesc/validators/common/AllContentModel.hpp
  AL    uimacpp/include/xercesc/validators/common/CMAny.hpp
  AL    uimacpp/include/xercesc/validators/common/CMBinaryOp.hpp
  AL    uimacpp/include/xercesc/validators/common/CMLeaf.hpp
  AL    uimacpp/include/xercesc/validators/common/CMNode.hpp
  AL    uimacpp/include/xercesc/validators/common/CMStateSet.hpp
  AL    uimacpp/include/xercesc/validators/common/CMUnaryOp.hpp
  AL    uimacpp/include/xercesc/validators/common/ContentLeafNameTypeVector.hpp
  AL    uimacpp/include/xercesc/validators/common/ContentSpecNode.hpp
  AL    uimacpp/include/xercesc/validators/common/DFAContentModel.hpp
  AL    uimacpp/include/xercesc/validators/common/Grammar.hpp
  AL    uimacpp/include/xercesc/validators/common/GrammarResolver.hpp
  AL    uimacpp/include/xercesc/validators/common/MixedContentModel.hpp
  AL    uimacpp/include/xercesc/validators/common/SimpleContentModel.hpp
  AL    uimacpp/include/xercesc/validators/datatype/AbstractNumericFacetValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/AbstractNumericValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/AbstractStringValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/AnyURIDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/Base64BinaryDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/BooleanDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DateDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DateTimeDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DateTimeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DayDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DecimalDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DoubleDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/DurationDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/ENTITYDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/FloatDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/HexBinaryDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/IDDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/IDREFDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/InvalidDatatypeFacetException.hpp
  AL    uimacpp/include/xercesc/validators/datatype/InvalidDatatypeValueException.hpp
  AL    uimacpp/include/xercesc/validators/datatype/ListDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/MonthDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/MonthDayDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/NCNameDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/NOTATIONDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/NameDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/QNameDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/StringDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/TimeDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/UnionDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/XMLCanRepGroup.hpp
  AL    uimacpp/include/xercesc/validators/datatype/YearDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/datatype/YearMonthDatatypeValidator.hpp
  AL    uimacpp/include/xercesc/validators/schema/ComplexTypeInfo.hpp
  AL    uimacpp/include/xercesc/validators/schema/GeneralAttributeCheck.hpp
  AL    uimacpp/include/xercesc/validators/schema/NamespaceScope.hpp
  AL    uimacpp/include/xercesc/validators/schema/PSVIDefs.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaAttDef.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaAttDefList.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaElementDecl.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaGrammar.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaInfo.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaSymbols.hpp
  AL    uimacpp/include/xercesc/validators/schema/SchemaValidator.hpp
  AL    uimacpp/include/xercesc/validators/schema/SubstitutionGroupComparator.hpp
  AL    uimacpp/include/xercesc/validators/schema/TraverseSchema.hpp
  AL    uimacpp/include/xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp
  AL    uimacpp/include/xercesc/validators/schema/XSDDOMParser.hpp
  AL    uimacpp/include/xercesc/validators/schema/XSDErrorReporter.hpp
  AL    uimacpp/include/xercesc/validators/schema/XSDLocator.hpp
  AL    uimacpp/include/xercesc/validators/schema/XUtil.hpp
  AL    uimacpp/include/xercesc/validators/schema/XercesAttGroupInfo.hpp
  AL    uimacpp/include/xercesc/validators/schema/XercesElementWildcard.hpp
  AL    uimacpp/include/xercesc/validators/schema/XercesGroupInfo.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/FieldActivator.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/FieldValueMap.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IC_Field.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IC_Key.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IC_KeyRef.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IC_Selector.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IC_Unique.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IdentityConstraint.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/IdentityConstraintHandler.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/ValueStore.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/ValueStoreCache.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/XPathException.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/XPathMatcher.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/XPathMatcherStack.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/XPathSymbols.hpp
  AL    uimacpp/include/xercesc/validators/schema/identity/XercesXPath.hpp
  B     uimacpp/lib/icudt.lib
  B     uimacpp/lib/icuin.lib
  B     uimacpp/lib/icuio.lib
  B     uimacpp/lib/icule.lib
  B     uimacpp/lib/iculx.lib
  B     uimacpp/lib/icutu.lib
  B     uimacpp/lib/icuuc.lib
  B     uimacpp/lib/libapr-1.lib
  B     uimacpp/lib/libapriconv-1.lib
  B     uimacpp/lib/libaprutil-1.lib
  B     uimacpp/lib/uima.lib
  B     uimacpp/lib/uimaD.lib
  B     uimacpp/lib/xerces-c_2.lib
 
 *****************************************************
 Printing headers for files without AL header...
 
 
 =======================================================================
 ==uimacpp/include/apr/apr_fnmatch.h
 =======================================================================
/*
 * Copyright (c) 1992, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)fnmatch.h	8.1 (Berkeley) 6/2/93
 */

/* This file has been modified by the Apache Software Foundation. */
#ifndef	_APR_FNMATCH_H_
#define	_APR_FNMATCH_H_

/**
 * @file apr_fnmatch.h
 * @brief APR FNMatch Functions
 */

#include "apr_errno.h"
#include "apr_tables.h"

#ifdef __cplusplus
extern "C" {
#endif

 =======================================================================
 ==uimacpp/include/unicode/brkiter.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File brkiter.h
*
* Modification History:
*
*   Date        Name        Description
*   02/18/97    aliu        Added typedef for TextCount.  Made DONE const.
*   05/07/97    aliu        Fixed DLL declaration.
*   07/09/97    jfitz       Renamed BreakIterator and interface synced with JDK
*   08/11/98    helena      Sync-up JDK1.2.
*   01/13/2000  helena      Added UErrorCode parameter to createXXXInstance methods.
********************************************************************************
*/

#ifndef BRKITER_H
#define BRKITER_H

#include "unicode/utypes.h"

/**
 * \file
 * \brief C++ API: Break Iterator.
 */
 
#if UCONFIG_NO_BREAK_ITERATION

U_NAMESPACE_BEGIN

/*
 * Allow the declaration of APIs with pointers to BreakIterator
 * even when break iteration is removed from the build.
 */
class BreakIterator;

U_NAMESPACE_END

#else

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/chariter.h"
#include "unicode/locid.h"
#include "unicode/ubrk.h"
#include "unicode/strenum.h"
#include "unicode/utext.h"

 =======================================================================
 ==uimacpp/include/unicode/calendar.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File CALENDAR.H
*
* Modification History:
*
*   Date        Name        Description
*   04/22/97    aliu        Expanded and corrected comments and other header
*                           contents.
*   05/01/97    aliu        Made equals(), before(), after() arguments const.
*   05/20/97    aliu        Replaced fAreFieldsSet with fAreFieldsInSync and
*                           fAreAllFieldsSet.
*   07/27/98    stephen     Sync up with JDK 1.2
*   11/15/99    weiv        added YEAR_WOY and DOW_LOCAL
*                           to EDateFields
*    8/19/2002  srl         Removed Javaisms
*   11/07/2003  srl         Update, clean up documentation.
********************************************************************************
*/

#ifndef CALENDAR_H
#define CALENDAR_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Calendar object
 */
#if !UCONFIG_NO_FORMATTING

#include "unicode/uobject.h"
#include "unicode/locid.h"
#include "unicode/timezone.h"
#include "unicode/ucal.h"
#include "unicode/umisc.h"

U_NAMESPACE_BEGIN

class ICUServiceFactory;

/**
 * @internal
 */
typedef int32_t UFieldResolutionTable[12][8];


 =======================================================================
 ==uimacpp/include/unicode/caniter.h
 =======================================================================
/*
 *******************************************************************************
 * Copyright (C) 1996-2006, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */

#ifndef CANITER_H
#define CANITER_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_NORMALIZATION

#include "unicode/uobject.h"
#include "unicode/unistr.h"

/**
 * \file
 * \brief C++ API: Canonical Iterator
 */
 
/** Should permutation skip characters with combining class zero
 *  Should be either TRUE or FALSE. This is a compile time option
 *  @stable ICU 2.4
 */
#ifndef CANITER_SKIP_ZEROES
#define CANITER_SKIP_ZEROES TRUE
#endif

U_NAMESPACE_BEGIN

class Hashtable;

/**
 * This class allows one to iterate through all the strings that are canonically equivalent to a given
 * string. For example, here are some sample results:
Results for: {LATIN CAPITAL LETTER A WITH RING ABOVE}{LATIN SMALL LETTER D}{COMBINING DOT ABOVE}{COMBINING CEDILLA}
1: \\u0041\\u030A\\u0064\\u0307\\u0327
 = {LATIN CAPITAL LETTER A}{COMBINING RING ABOVE}{LATIN SMALL LETTER D}{COMBINING DOT ABOVE}{COMBINING CEDILLA}
2: \\u0041\\u030A\\u0064\\u0327\\u0307
 = {LATIN CAPITAL LETTER A}{COMBINING RING ABOVE}{LATIN SMALL LETTER D}{COMBINING CEDILLA}{COMBINING DOT ABOVE}
3: \\u0041\\u030A\\u1E0B\\u0327
 = {LATIN CAPITAL LETTER A}{COMBINING RING ABOVE}{LATIN SMALL LETTER D WITH DOT ABOVE}{COMBINING CEDILLA}
4: \\u0041\\u030A\\u1E11\\u0307
 = {LATIN CAPITAL LETTER A}{COMBINING RING ABOVE}{LATIN SMALL LETTER D WITH CEDILLA}{COMBINING DOT ABOVE}
5: \\u00C5\\u0064\\u0307\\u0327
 = {LATIN CAPITAL LETTER A WITH RING ABOVE}{LATIN SMALL LETTER D}{COMBINING DOT ABOVE}{COMBINING CEDILLA}
6: \\u00C5\\u0064\\u0327\\u0307
 = {LATIN CAPITAL LETTER A WITH RING ABOVE}{LATIN SMALL LETTER D}{COMBINING CEDILLA}{COMBINING DOT ABOVE}

 =======================================================================
 ==uimacpp/include/unicode/chariter.h
 =======================================================================
/*
********************************************************************
*
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
********************************************************************
*/

#ifndef CHARITER_H
#define CHARITER_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"
#include "unicode/unistr.h"
/**
 * \file
 * \brief C++ API: Character Iterator
 */
 
U_NAMESPACE_BEGIN
/**
 * Abstract class that defines an API for forward-only iteration
 * on text objects.
 * This is a minimal interface for iteration without random access
 * or backwards iteration. It is especially useful for wrapping
 * streams with converters into an object for collation or
 * normalization.
 *
 * <p>Characters can be accessed in two ways: as code units or as
 * code points.
 * Unicode code points are 21-bit integers and are the scalar values
 * of Unicode characters. ICU uses the type UChar32 for them.
 * Unicode code units are the storage units of a given
 * Unicode/UCS Transformation Format (a character encoding scheme).
 * With UTF-16, all code points can be represented with either one
 * or two code units ("surrogates").
 * String storage is typically based on code units, while properties
 * of characters are typically determined using code point values.
 * Some processes may be designed to work with sequences of code units,
 * or it may be known that all characters that are important to an
 * algorithm can be represented with single code units.
 * Other processes will need to use the code point access functions.</p>
 *
 * <p>ForwardCharacterIterator provides nextPostInc() to access
 * a code unit and advance an internal position into the text object,
 * similar to a <code>return text[position++]</code>.<br>
 * It provides next32PostInc() to access a code point and advance an internal
 * position.</p>
 *

 =======================================================================
 ==uimacpp/include/unicode/choicfmt.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File CHOICFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/20/97    helena      Finished first cut of implementation and got rid 
*                           of nextDouble/previousDouble and replaced with
*                           boolean array.
*   4/10/97     aliu        Clean up.  Modified to work on AIX.
*   8/6/97      nos         Removed overloaded constructor, member var 'buffer'.
*   07/22/98    stephen     Removed operator!= (implemented in Format)
********************************************************************************
*/
 
#ifndef CHOICFMT_H
#define CHOICFMT_H
 
#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Choice Format.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/unistr.h"
#include "unicode/numfmt.h"
#include "unicode/fieldpos.h"
#include "unicode/format.h"

U_NAMESPACE_BEGIN

class MessageFormat;

/**
 * ChoiceFormat converts between ranges of numeric values
 * and string names for those ranges. A <code>ChoiceFormat</code> splits
 * the real number line <code>-Inf</code> to <code>+Inf</code> into two
 * or more contiguous ranges. Each range is mapped to a
 * string. <code>ChoiceFormat</code> is generally used in a
 * <code>MessageFormat</code> for displaying grammatically correct
 * plurals such as &quot;There are 2 files.&quot;</p>

 =======================================================================
 ==uimacpp/include/unicode/coleitr.h
 =======================================================================
/*
 ******************************************************************************
 *   Copyright (C) 1997-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 ******************************************************************************
 */

/**
* File coleitr.h
*
* 
*
* Created by: Helena Shih
*
* Modification History:
*
*  Date       Name        Description
*
*  8/18/97    helena      Added internal API documentation.
* 08/03/98    erm         Synched with 1.2 version CollationElementIterator.java
* 12/10/99    aliu        Ported Thai collation support from Java.
* 01/25/01    swquek      Modified into a C++ wrapper calling C APIs (ucoliter.h)
* 02/19/01    swquek      Removed CollationElementsIterator() since it is 
*                         private constructor and no calls are made to it
*/

#ifndef COLEITR_H
#define COLEITR_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Collation Element Iterator.
 */
 
#if !UCONFIG_NO_COLLATION

#include "unicode/uobject.h"
#include "unicode/tblcoll.h"
#include "unicode/ucoleitr.h"

/** 
 * The UCollationElements struct.
 * For usage in C programs.
 * @stable ICU 2.0
 */
typedef struct UCollationElements UCollationElements;

U_NAMESPACE_BEGIN

 =======================================================================
 ==uimacpp/include/unicode/coll.h
 =======================================================================
/*
******************************************************************************
*   Copyright (C) 1996-2006, International Business Machines                 *
*   Corporation and others.  All Rights Reserved.                            *
******************************************************************************
*/

/**
* File coll.h
*
* Created by: Helena Shih
*
* Modification History:
*
*  Date        Name        Description
* 02/5/97      aliu        Modified createDefault to load collation data from
*                          binary files when possible.  Added related methods
*                          createCollationFromFile, chopLocale, createPathName.
* 02/11/97     aliu        Added members addToCache, findInCache, and fgCache.
* 02/12/97     aliu        Modified to create objects from RuleBasedCollator cache.
*                          Moved cache out of Collation class.
* 02/13/97     aliu        Moved several methods out of this class and into
*                          RuleBasedCollator, with modifications.  Modified
*                          createDefault() to call new RuleBasedCollator(Locale&)
*                          constructor.  General clean up and documentation.
* 02/20/97     helena      Added clone, operator==, operator!=, operator=, copy
*                          constructor and getDynamicClassID.
* 03/25/97     helena      Updated with platform independent data types.
* 05/06/97     helena      Added memory allocation error detection.
* 06/20/97     helena      Java class name change.
* 09/03/97     helena      Added createCollationKeyValues().
* 02/10/98     damiba      Added compare() with length as parameter.
* 04/23/99     stephen     Removed EDecompositionMode, merged with
*                          Normalizer::EMode.
* 11/02/99     helena      Collator performance enhancements.  Eliminates the
*                          UnicodeString construction and special case for NO_OP.
* 11/23/99     srl         More performance enhancements. Inlining of
*                          critical accessors.
* 05/15/00     helena      Added version information API.
* 01/29/01     synwee      Modified into a C++ wrapper which calls C apis
*                          (ucoll.h).
*/

#ifndef COLL_H
#define COLL_H

#include "unicode/utypes.h"

/**
 * \file 

 =======================================================================
 ==uimacpp/include/unicode/curramt.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __CURRENCYAMOUNT_H__
#define __CURRENCYAMOUNT_H__

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/measure.h"
#include "unicode/currunit.h"

/**
 * \file 
 * \brief C++ API: Currency Amount Object.
 */
 
U_NAMESPACE_BEGIN

/**
 *
 * A currency together with a numeric amount, such as 200 USD.
 *
 * @author Alan Liu
 * @stable ICU 3.0
 */
class U_I18N_API CurrencyAmount: public Measure {
 public:
    /**
     * Construct an object with the given numeric amount and the given
     * ISO currency code.
     * @param amount a numeric object; amount.isNumeric() must be TRUE
     * @param isoCode the 3-letter ISO 4217 currency code; must not be
     * NULL and must have length 3
     * @param ec input-output error code. If the amount or the isoCode
     * is invalid, then this will be set to a failing value.
     * @stable ICU 3.0
     */
    CurrencyAmount(const Formattable& amount, const UChar* isoCode,
                   UErrorCode &ec);

    /**

 =======================================================================
 ==uimacpp/include/unicode/currunit.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __CURRENCYUNIT_H__
#define __CURRENCYUNIT_H__

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/measunit.h"

/**
 * \file 
 * \brief C++ API: Currency Unit Information.
 */
 
U_NAMESPACE_BEGIN

/**
 * A unit of currency, such as USD (U.S. dollars) or JPY (Japanese
 * yen).  This class is a thin wrapper over a UChar string that
 * subclasses MeasureUnit, for use with Measure and MeasureFormat.
 *
 * @author Alan Liu
 * @stable ICU 3.0
 */
class U_I18N_API CurrencyUnit: public MeasureUnit {
 public:
    /**
     * Construct an object with the given ISO currency code.
     * @param isoCode the 3-letter ISO 4217 currency code; must not be
     * NULL and must have length 3
     * @param ec input-output error code. If the isoCode is invalid,
     * then this will be set to a failing value.
     * @stable ICU 3.0
     */
    CurrencyUnit(const UChar* isoCode, UErrorCode &ec);

    /**
     * Copy constructor
     * @stable ICU 3.0
     */

 =======================================================================
 ==uimacpp/include/unicode/datefmt.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File DATEFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   04/01/97    aliu        Added support for centuries.
*   07/23/98    stephen     JDK 1.2 sync
*   11/15/99    weiv        Added support for week of year/day of week formatting
********************************************************************************
*/

#ifndef DATEFMT_H
#define DATEFMT_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/udat.h"
#include "unicode/calendar.h"
#include "unicode/numfmt.h"
#include "unicode/format.h"
#include "unicode/locid.h"

/**
 * \file 
 * \brief C++ API: Abstract class for converting dates.
 */

U_NAMESPACE_BEGIN

class TimeZone;

/**
 * DateFormat is an abstract class for a family of classes that convert dates and
 * times from their internal representations to textual form and back again in a
 * language-independent manner. Converting from the internal representation (milliseconds
 * since midnight, January 1, 1970) to text is known as "formatting," and converting
 * from text to millis is known as "parsing."  We currently define only one concrete
 * subclass of DateFormat: SimpleDateFormat, which can handle pretty much all normal
 * date formatting and parsing actions.
 * <P>
 * DateFormat helps you to format and parse dates for any locale. Your code can

 =======================================================================
 ==uimacpp/include/unicode/dbbi.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1999-2006 IBM Corp. All rights reserved.
**********************************************************************
*   Date        Name        Description
*   12/1/99    rgillam     Complete port from Java.
*   01/13/2000 helena      Added UErrorCode to ctors.
**********************************************************************
*/

#ifndef DBBI_H
#define DBBI_H

#include "unicode/rbbi.h"

#if !UCONFIG_NO_BREAK_ITERATION

/**
 * \file
 * \brief C++ API: Dictionary Based Break Iterator
 */
 
U_NAMESPACE_BEGIN

/**
 * An obsolete subclass of RuleBasedBreakIterator. Handling of dictionary-
 * based break iteration has been folded into the base class. This class
 * is deprecated as of ICU 3.6.
 */
 
#ifndef U_HIDE_DEPRECATED_API

typedef RuleBasedBreakIterator DictionaryBasedBreakIterator;

#endif

U_NAMESPACE_END

#endif /* #if !UCONFIG_NO_BREAK_ITERATION */

#endif

 =======================================================================
 ==uimacpp/include/unicode/dcfmtsym.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File DCFMTSYM.H
*
* Modification History:
* 
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/18/97    clhuang     Updated per C++ implementation.
*   03/27/97    helena      Updated to pass the simple test after code review.
*   08/26/97    aliu        Added currency/intl currency symbol support.
*   07/22/98    stephen     Changed to match C++ style 
*                            currencySymbol -> fCurrencySymbol
*                            Constants changed from CAPS to kCaps
*   06/24/99    helena      Integrated Alan's NF enhancements and Java2 bug fixes
*   09/22/00    grhoten     Marked deprecation tags with a pointer to replacement
*                            functions.
********************************************************************************
*/
 
#ifndef DCFMTSYM_H
#define DCFMTSYM_H
 
#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/uobject.h"
#include "unicode/locid.h"

/**
 * \file 
 * \brief C++ API: Symbols for formatting numbers.
 */


U_NAMESPACE_BEGIN

/**
 * This class represents the set of symbols needed by DecimalFormat
 * to format numbers. DecimalFormat creates for itself an instance of
 * DecimalFormatSymbols from its locale data.  If you need to change any
 * of these symbols, you can get the DecimalFormatSymbols object from
 * your DecimalFormat and modify it.
 * <P>
 * Here are the special characters used in the parts of the

 =======================================================================
 ==uimacpp/include/unicode/decimfmt.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File DECIMFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/20/97    clhuang     Updated per C++ implementation.
*   04/03/97    aliu        Rewrote parsing and formatting completely, and
*                           cleaned up and debugged.  Actually works now.
*   04/17/97    aliu        Changed DigitCount to int per code review.
*   07/10/97    helena      Made ParsePosition a class and get rid of the function
*                           hiding problems.
*   09/09/97    aliu        Ported over support for exponential formats.
*    07/20/98    stephen        Changed documentation
********************************************************************************
*/
 
#ifndef DECIMFMT_H
#define DECIMFMT_H
 
#include "unicode/utypes.h"
/**
 * \file 
 * \brief C++ API: Formats decimal numbers.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/dcfmtsym.h"
#include "unicode/numfmt.h"
#include "unicode/locid.h"

U_NAMESPACE_BEGIN

class DigitList;
class ChoiceFormat;

/**
 * DecimalFormat is a concrete subclass of NumberFormat that formats decimal
 * numbers. It has a variety of features designed to make it possible to parse
 * and format numbers in any locale, including support for Western, Arabic, or
 * Indic digits.  It also supports different flavors of numbers, including
 * integers ("123"), fixed-point numbers ("123.4"), scientific notation
 * ("1.23E4"), percentages ("12%"), and currency amounts ("$123").  All of these

 =======================================================================
 ==uimacpp/include/unicode/docmain.h
 =======================================================================
/********************************************************************
 * COPYRIGHT: 
 * Copyright (c) 1997-2005, International Business Machines Corporation and
 * others. All Rights Reserved.
 *
 *  FILE NAME: DOCMAIN.h
 *
 *   Date          Name        Description
 *   12/11/2000    Ram        Creation.
 */

/* This file contains documentation for Doxygen and doesnot have
 * any significance with respect to C or C++ API
 */

/*! \mainpage
 *
 * \section API API Reference Usage
 * 
 * <h3>C++ Programmers:</h3>
 * <p>Use <a href="hierarchy.html">Class Hierarchy</a> or <a href="classes.html"> Alphabetical List </a>
 * or <a href="annotated.html"> Compound List</a>
 * to find the class you are interested in. For example, to find BreakIterator,
 * you can go to the <a href="classes.html"> Alphabetical List</a>, then click on
 * "BreakIterator". Once you are at the class, you will find an inheritance
 * chart, a list of the public members, a detailed description of the class,
 * then detailed member descriptions.</p>
 * 
 * <h3>C Programmers:</h3>
 * <p>Use <a href="#Module">Module List</a> or <a href="globals.html">File Members</a>
 * to find a list of all the functions and constants.
 * For example, to find BreakIterator functions you would click on
 * <a href="files.html"> File List</a>,
 * then find "ubrk.h" and click on it. You will find descriptions of Defines,
 * Typedefs, Enumerations, and Functions, with detailed descriptions below.
 * If you want to find a specific function, such as ubrk_next(), then click
 * first on <a href="globals.html"> File Members</a>, then use your browser
 * Find dialog to search for "ubrk_next()".</p>
 *
 *
 * <h3>API References for Previous Releases</h3>
 * <p>The API References for each release of ICU are also available as
 * a zip file from the ICU 
 * <a href="http://www.ibm.com/software/globalization/icu/downloads.jsp">download page</a>.</p>
 *
 * <hr>
 *
 * <h2>Architecture (User's Guide)</h2>
 * <ul>
 *   <li><a href="http://icu.sourceforge.net/userguide/">Introduction</a></li>

 =======================================================================
 ==uimacpp/include/unicode/dtfmtsym.h
 =======================================================================
/*  
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File DTFMTSYM.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*    07/21/98    stephen        Added getZoneIndex()
*                            Changed to match C++ conventions
********************************************************************************
*/
     
#ifndef DTFMTSYM_H
#define DTFMTSYM_H
 
#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/uobject.h"
#include "unicode/locid.h"
#include "unicode/ures.h"

/**
 * \file 
 * \brief C++ API: Symbols for formatting dates.
 */

U_NAMESPACE_BEGIN

/* forward declaration */
class SimpleDateFormat;
class Hashtable;

/**
 * DateFormatSymbols is a public class for encapsulating localizable date-time
 * formatting data -- including timezone data. DateFormatSymbols is used by
 * DateFormat and SimpleDateFormat.
 * <P>
 * Rather than first creating a DateFormatSymbols to get a date-time formatter
 * by using a SimpleDateFormat constructor, clients are encouraged to create a
 * date-time formatter using the getTimeInstance(), getDateInstance(), or
 * getDateTimeInstance() method in DateFormat. Each of these methods can return a
 * date/time formatter initialized with a default format pattern along with the
 * date-time formatting data for a given or default locale. After a formatter is

 =======================================================================
 ==uimacpp/include/unicode/fieldpos.h
 =======================================================================
/*
 ********************************************************************************
 *   Copyright (C) 1997-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 ********************************************************************************
 *
 * File FIELDPOS.H
 *
 * Modification History:
 *
 *   Date        Name        Description
 *   02/25/97    aliu        Converted from java.
 *   03/17/97    clhuang     Updated per Format implementation.
 *    07/17/98    stephen        Added default/copy ctors, and operators =, ==, !=
 ********************************************************************************
 */

// *****************************************************************************
// This file was generated from the java source file FieldPosition.java
// *****************************************************************************
 
#ifndef FIELDPOS_H
#define FIELDPOS_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: FieldPosition identifies the fields in a formatted output.
 */

#if !UCONFIG_NO_FORMATTING

#include "unicode/uobject.h"

U_NAMESPACE_BEGIN

/**
 * <code>FieldPosition</code> is a simple class used by <code>Format</code>
 * and its subclasses to identify fields in formatted output. Fields are
 * identified by constants, whose names typically end with <code>_FIELD</code>,
 * defined in the various subclasses of <code>Format</code>. See
 * <code>ERA_FIELD</code> and its friends in <code>DateFormat</code> for
 * an example.
 *
 * <p>
 * <code>FieldPosition</code> keeps track of the position of the
 * field within the formatted output with two indices: the index
 * of the first character of the field and the index of the last
 * character of the field.

 =======================================================================
 ==uimacpp/include/unicode/fmtable.h
 =======================================================================
/*
********************************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
********************************************************************************
*
* File FMTABLE.H
*
* Modification History:
*
*   Date        Name        Description
*   02/29/97    aliu        Creation.
********************************************************************************
*/
#ifndef FMTABLE_H
#define FMTABLE_H

#include "unicode/utypes.h"
#include "unicode/unistr.h"
/**
 * \file 
 * \brief C++ API: Formattable is a thin wrapper for primitive numeric types.
 */

#if !UCONFIG_NO_FORMATTING

U_NAMESPACE_BEGIN

/**
 * Formattable objects can be passed to the Format class or
 * its subclasses for formatting.  Formattable is a thin wrapper
 * class which interconverts between the primitive numeric types
 * (double, long, etc.) as well as UDate and UnicodeString.
 *
 * <p>Internally, a Formattable object is a union of primitive types.
 * As such, it can only store one flavor of data at a time.  To
 * determine what flavor of data it contains, use the getType method.
 *
 * <p>As of ICU 3.0, Formattable may also wrap a UObject pointer,
 * which it owns.  This allows an instance of any ICU class to be
 * encapsulated in a Formattable.  For legacy reasons and for
 * efficiency, primitive numeric types are still stored directly
 * within a Formattable.
 *
 * <p>The Formattable class is not suitable for subclassing.
 */
class U_I18N_API Formattable : public UObject {
public:
    /**
     * This enum is only used to let callers distinguish between

 =======================================================================
 ==uimacpp/include/unicode/format.h
 =======================================================================
/*
********************************************************************************
* Copyright (C) 1997-2006, International Business Machines Corporation and others.
* All Rights Reserved.
********************************************************************************
*
* File FORMAT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/17/97    clhuang     Updated per C++ implementation.
*   03/27/97    helena      Updated to pass the simple test after code review.
********************************************************************************
*/
// *****************************************************************************
// This file was generated from the java source file Format.java
// *****************************************************************************

#ifndef FORMAT_H
#define FORMAT_H


#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Base class for all formats. 
 */

#if !UCONFIG_NO_FORMATTING

#include "unicode/unistr.h"
#include "unicode/fmtable.h"
#include "unicode/fieldpos.h"
#include "unicode/parsepos.h"
#include "unicode/parseerr.h" 
#include "unicode/locid.h"

U_NAMESPACE_BEGIN

/**
 * Base class for all formats.  This is an abstract base class which
 * specifies the protocol for classes which convert other objects or
 * values, such as numeric values and dates, and their string
 * representations.  In some cases these representations may be
 * localized or contain localized characters or strings.  For example,
 * a numeric formatter such as DecimalFormat may convert a numeric
 * value such as 12345 to the string "$12,345".  It may also parse

 =======================================================================
 ==uimacpp/include/unicode/gregocal.h
 =======================================================================
/*
* Copyright (C) 1997-2006, International Business Machines Corporation and others.
* All Rights Reserved.
********************************************************************************
*
* File GREGOCAL.H
*
* Modification History:
*
*   Date        Name        Description
*   04/22/97    aliu        Overhauled header.
*    07/28/98    stephen        Sync with JDK 1.2
*    09/04/98    stephen        Re-sync with JDK 8/31 putback
*    09/14/98    stephen        Changed type of kOneDay, kOneWeek to double.
*                            Fixed bug in roll()
*   10/15/99    aliu        Fixed j31, incorrect WEEK_OF_YEAR computation.
*                           Added documentation of WEEK_OF_YEAR computation.
*   10/15/99    aliu        Fixed j32, cannot set date to Feb 29 2000 AD.
*                           {JDK bug 4210209 4209272}
*   11/07/2003  srl         Update, clean up documentation.
********************************************************************************
*/

#ifndef GREGOCAL_H
#define GREGOCAL_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/calendar.h"

/**
 * \file 
 * \brief C++ API: Concrete class which provides the standard calendar.
 */

U_NAMESPACE_BEGIN

/** 
 * Concrete class which provides the standard calendar used by most of the world.
 * <P>
 * The standard (Gregorian) calendar has 2 eras, BC and AD.
 * <P>
 * This implementation handles a single discontinuity, which corresponds by default to
 * the date the Gregorian calendar was originally instituted (October 15, 1582). Not all
 * countries adopted the Gregorian calendar then, so this cutover date may be changed by
 * the caller.
 * <P>
 * Prior to the institution of the Gregorian Calendar, New Year's Day was March 25. To

 =======================================================================
 ==uimacpp/include/unicode/locid.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1996-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
* File locid.h
*
* Created by: Helena Shih
*
* Modification History:
*
*   Date        Name        Description
*   02/11/97    aliu        Changed gLocPath to fgLocPath and added methods to
*                           get and set it.
*   04/02/97    aliu        Made operator!= inline; fixed return value of getName().
*   04/15/97    aliu        Cleanup for AIX/Win32.
*   04/24/97    aliu        Numerous changes per code review.
*   08/18/98    stephen     Added tokenizeString(),changed getDisplayName()
*   09/08/98    stephen     Moved definition of kEmptyString for Mac Port
*   11/09/99    weiv        Added const char * getName() const;
*   04/12/00    srl         removing unicodestring api's and cached hash code
*   08/10/01    grhoten     Change the static Locales to accessor functions
******************************************************************************
*/

#ifndef LOCID_H
#define LOCID_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/putil.h"
#include "unicode/uloc.h"
#include "unicode/strenum.h"

/**
 * \file
 * \brief C++ API: Locale ID object.
 */

/**
 * A <code>Locale</code> object represents a specific geographical, political,
 * or cultural region. An operation that requires a <code>Locale</code> to perform
 * its task is called <em>locale-sensitive</em> and uses the <code>Locale</code>
 * to tailor information for the user. For example, displaying a number
 * is a locale-sensitive operation--the number should be formatted
 * according to the customs/conventions of the user's native country,

 =======================================================================
 ==uimacpp/include/unicode/measfmt.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 20, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef MEASUREFORMAT_H
#define MEASUREFORMAT_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/format.h"

/**
 * \file 
 * \brief C++ API: Formatter for measure objects.
 */

U_NAMESPACE_BEGIN

/**
 * 
 * A formatter for measure objects.  This is an abstract base class.
 *
 * <p>To format or parse a measure object, first create a formatter
 * object using a MeasureFormat factory method.  Then use that
 * object's format and parse methods.
 *
 * <p>This is an abstract class.
 *
 * @see Format
 * @author Alan Liu
 * @stable ICU 3.0
 */
class U_I18N_API MeasureFormat : public Format {

 public:

    /**
     * Return a formatter for CurrencyAmount objects in the given
     * locale.
     * @param locale desired locale
     * @param ec input-output error code
     * @return a formatter object, or NULL upon error

 =======================================================================
 ==uimacpp/include/unicode/measunit.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __MEASUREUNIT_H__
#define __MEASUREUNIT_H__

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/fmtable.h"

/**
 * \file 
 * \brief C++ API: A unit for measuring a quantity.
 */
 
U_NAMESPACE_BEGIN

/**
 * A unit such as length, mass, volume, currency, etc.  A unit is
 * coupled with a numeric amount to produce a Measure.
 *
 * <p>This is an abstract class.
 *
 * @author Alan Liu
 * @stable ICU 3.0
 */
class U_I18N_API MeasureUnit: public UObject {
 public:
    /**
     * Return a polymorphic clone of this object.  The result will
     * have the same class as returned by getDynamicClassID().
     * @stable ICU 3.0
     */
    virtual UObject* clone() const = 0;

    /**
     * Destructor
     * @stable ICU 3.0
     */
    virtual ~MeasureUnit();
    

 =======================================================================
 ==uimacpp/include/unicode/measure.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __MEASURE_H__
#define __MEASURE_H__

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: MeasureUnit object.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/fmtable.h"

U_NAMESPACE_BEGIN

class MeasureUnit;

/**
 * An amount of a specified unit, consisting of a number and a Unit.
 * For example, a length measure consists of a number and a length
 * unit, such as feet or meters.  This is an abstract class.
 * Subclasses specify a concrete Unit type.
 *
 * <p>Measure objects are parsed and formatted by subclasses of
 * MeasureFormat.
 *
 * <p>Measure objects are immutable.
 *
 * <p>This is an abstract class.
 *
 * @author Alan Liu
 * @stable ICU 3.0
 */
class U_I18N_API Measure: public UObject {
 public:
    /**
     * Construct an object with the given numeric amount and the given
     * unit.  After this call, the caller must not delete the given
     * unit object.

 =======================================================================
 ==uimacpp/include/unicode/msgfmt.h
 =======================================================================
/*
* Copyright (C) 1997-2006, International Business Machines Corporation and others. All Rights Reserved.
********************************************************************************
*
* File MSGFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/20/97    helena      Finished first cut of implementation.
*   07/22/98    stephen     Removed operator!= (defined in Format)
*   08/19/2002  srl         Removing Javaisms
********************************************************************************
*/

#ifndef MSGFMT_H
#define MSGFMT_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Formats messages in a language-neutral way.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/format.h"
#include "unicode/locid.h"
#include "unicode/parseerr.h"

U_NAMESPACE_BEGIN

class NumberFormat;
class DateFormat;

/**
 *
 * A MessageFormat produces concatenated messages in a
 * language-neutral way.  It should be used for all string
 * concatenations that are visible to end users.
 * <P>
 * A MessageFormat contains an array of <EM>subformats</EM> arranged
 * within a <EM>template string</EM>.  Together, the subformats and
 * template string determine how the MessageFormat will operate during
 * formatting and parsing.
 * <P>
 * Typically, both the subformats and the template string are
 * specified at once in a <EM>pattern</EM>.  By using different

 =======================================================================
 ==uimacpp/include/unicode/normlzr.h
 =======================================================================
/*
 ********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1996-2006, International Business Machines Corporation and
 * others. All Rights Reserved.
 ********************************************************************
 */

#ifndef NORMLZR_H
#define NORMLZR_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Unicode Normalization
 */
 
#if !UCONFIG_NO_NORMALIZATION

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/chariter.h"
#include "unicode/unorm.h"


struct UCharIterator;
typedef struct UCharIterator UCharIterator; /**< C typedef for struct UCharIterator. @stable ICU 2.1 */

U_NAMESPACE_BEGIN
/**
 * The Normalizer class supports the standard normalization forms described in
 * <a href="http://www.unicode.org/unicode/reports/tr15/" target="unicode">
 * Unicode Standard Annex #15: Unicode Normalization Forms</a>.
 *
 * The Normalizer class consists of two parts:
 * - static functions that normalize strings or test if strings are normalized
 * - a Normalizer object is an iterator that takes any kind of text and
 *   provides iteration over its normalized form
 *
 * The Normalizer class is not suitable for subclassing.
 *
 * The static functions are basically wrappers around the C implementation,
 * using UnicodeString instead of UChar*.
 * For basic information about normalization forms and details about the C API
 * please see the documentation in unorm.h.
 *
 * The iterator API with the Normalizer constructors and the non-static functions
 * uses a CharacterIterator as input. It is possible to pass a string which
 * is then internally wrapped in a CharacterIterator.

 =======================================================================
 ==uimacpp/include/unicode/numfmt.h
 =======================================================================
/*
********************************************************************************
* Copyright (C) 1997-2006, International Business Machines Corporation and others.
* All Rights Reserved.
********************************************************************************
*
* File NUMFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   03/18/97    clhuang     Updated per C++ implementation.
*   04/17/97    aliu        Changed DigitCount to int per code review.
*    07/20/98    stephen        JDK 1.2 sync up. Added scientific support.
*                            Changed naming conventions to match C++ guidelines
*                            Derecated Java style constants (eg, INTEGER_FIELD)
********************************************************************************
*/

#ifndef NUMFMT_H
#define NUMFMT_H


#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Abstract base class for all number formats.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/unistr.h"
#include "unicode/format.h"
#include "unicode/unum.h" // UNumberFormatStyle
#include "unicode/locid.h"

U_NAMESPACE_BEGIN

#if !UCONFIG_NO_SERVICE
class NumberFormatFactory;
class StringEnumeration;
#endif

/**
 *
 * Abstract base class for all number formats.  Provides interface for
 * formatting and parsing a number.  Also provides methods for
 * determining which locales have number formats, and what their names

 =======================================================================
 ==uimacpp/include/unicode/parseerr.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1999-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   03/14/00    aliu        Creation.
*   06/27/00    aliu        Change from C++ class to C struct
**********************************************************************
*/
#ifndef PARSEERR_H
#define PARSEERR_H

#include "unicode/utypes.h"


/**
 * \file
 * \brief C API: Parse Error Information
 */
/**
 * The capacity of the context strings in UParseError.
 * @stable ICU 2.0
 */ 
enum { U_PARSE_CONTEXT_LEN = 16 };

/**
 * A UParseError struct is used to returned detailed information about
 * parsing errors.  It is used by ICU parsing engines that parse long
 * rules, patterns, or programs, where the text being parsed is long
 * enough that more information than a UErrorCode is needed to
 * localize the error.
 *
 * <p>The line, offset, and context fields are optional; parsing
 * engines may choose not to use to use them.
 *
 * <p>The preContext and postContext strings include some part of the
 * context surrounding the error.  If the source text is "let for=7"
 * and "for" is the error (e.g., because it is a reserved word), then
 * some examples of what a parser might produce are the following:
 *
 * <pre>
 * preContext   postContext
 * ""           ""            The parser does not support context
 * "let "       "=7"          Pre- and post-context only
 * "let "       "for=7"       Pre- and post-context and error text
 * ""           "for"         Error text only
 * </pre>
 *
 * <p>Examples of engines which use UParseError (or may use it in the

 =======================================================================
 ==uimacpp/include/unicode/parsepos.h
 =======================================================================
/*
* Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved.
*******************************************************************************
*
* File PARSEPOS.H
*
* Modification History:
*
*   Date        Name        Description
*   07/09/97    helena      Converted from java.
*   07/17/98    stephen     Added errorIndex support.
*   05/11/99    stephen     Cleaned up.
*******************************************************************************
*/

#ifndef PARSEPOS_H
#define PARSEPOS_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"

 
U_NAMESPACE_BEGIN

/**
 * \file
 * \brief C++ API: Canonical Iterator
 */
/** 
 * <code>ParsePosition</code> is a simple class used by <code>Format</code>
 * and its subclasses to keep track of the current position during parsing.
 * The <code>parseObject</code> method in the various <code>Format</code>
 * classes requires a <code>ParsePosition</code> object as an argument.
 *
 * <p>
 * By design, as you parse through a string with different formats,
 * you can use the same <code>ParsePosition</code>, since the index parameter
 * records the current position.
 *
 * The ParsePosition class is not suitable for subclassing.
 *
 * @version     1.3 10/30/97
 * @author      Mark Davis, Helena Shih
 * @see         java.text.Format
 */

class U_COMMON_API ParsePosition : public UObject {
public:
    /**
     * Default constructor, the index starts with 0 as default.

 =======================================================================
 ==uimacpp/include/unicode/putil.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
*  FILE NAME : putil.h
*
*   Date        Name        Description
*   05/14/98    nos         Creation (content moved here from utypes.h).
*   06/17/99    erm         Added IEEE_754
*   07/22/98    stephen     Added IEEEremainder, max, min, trunc
*   08/13/98    stephen     Added isNegativeInfinity, isPositiveInfinity
*   08/24/98    stephen     Added longBitsFromDouble
*   03/02/99    stephen     Removed openFile().  Added AS400 support.
*   04/15/99    stephen     Converted to C
*   11/15/99    helena      Integrated S/390 changes for IEEE support.
*   01/11/00    helena      Added u_getVersion.
******************************************************************************
*/

#ifndef PUTIL_H
#define PUTIL_H

#include "unicode/utypes.h"
 /**
  * \file
  * \brief C API: Platform Utilities
  */
  
/* Define this to 1 if your platform supports IEEE 754 floating point,
   to 0 if it does not. */
#ifndef IEEE_754
#   define IEEE_754 1
#endif

/*==========================================================================*/
/* Platform utilities                                                       */
/*==========================================================================*/

/**
 * Platform utilities isolates the platform dependencies of the
 * libarary.  For each platform which this code is ported to, these
 * functions may have to be re-implemented.
 */

/**
 * Return the ICU data directory. 

 =======================================================================
 ==uimacpp/include/unicode/pwin32.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
*  FILE NAME : platform.h
*
*   Date        Name        Description
*   05/13/98    nos         Creation (content moved here from ptypes.h).
*   03/02/99    stephen     Added AS400 support.
*   03/30/99    stephen     Added Linux support.
*   04/13/99    stephen     Reworked for autoconf.
******************************************************************************
*/

 /**
  * \file
  * \brief Configuration constants for the Windows platform
  */
  
/* Define the platform we're on. */
#ifndef U_WINDOWS
#define U_WINDOWS
#endif

#if defined(__BORLANDC__)
#define U_HAVE_PLACEMENT_NEW 0
#define U_HAVE_INTTYPES_H 1
#define __STDC_CONSTANT_MACROS
#endif

/* _MSC_VER is used to detect the Microsoft compiler. */
#if defined(_MSC_VER)
#define U_INT64_IS_LONG_LONG 0
#else
#define U_INT64_IS_LONG_LONG 1
#endif

/* Define whether inttypes.h is available */
#ifndef U_HAVE_INTTYPES_H
#define U_HAVE_INTTYPES_H 0
#endif

/*
 * Define what support for C++ streams is available.
 *     If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available
 * (1997711 is the date the ISO/IEC C++ FDIS was published), and then

 =======================================================================
 ==uimacpp/include/unicode/rbbi.h
 =======================================================================
/*
***************************************************************************
*   Copyright (C) 1999-2006 International Business Machines Corporation   *
*   and others. All rights reserved.                                      *
***************************************************************************

**********************************************************************
*   Date        Name        Description
*   10/22/99    alan        Creation.
*   11/11/99    rgillam     Complete port from Java.
**********************************************************************
*/

#ifndef RBBI_H
#define RBBI_H

#include "unicode/utypes.h"

/**
 * \file
 * \brief C++ API: Rule Based Break Iterator
 */

#if !UCONFIG_NO_BREAK_ITERATION

#include "unicode/brkiter.h"
#include "unicode/udata.h"
#include "unicode/parseerr.h"
#include "unicode/schriter.h"
#include "unicode/uchriter.h"


struct UTrie;

U_NAMESPACE_BEGIN

/** @internal */
struct RBBIDataHeader;
class  RuleBasedBreakIteratorTables;
class  BreakIterator;
class  RBBIDataWrapper;
class  UStack;
class  LanguageBreakEngine;
class  UnhandledEngine;
struct RBBIStateTable;




/**

 =======================================================================
 ==uimacpp/include/unicode/rbnf.h
 =======================================================================
/*
*******************************************************************************
* Copyright (C) 1997-2006, International Business Machines Corporation and others.
* All Rights Reserved.
*******************************************************************************
*/

#ifndef RBNF_H
#define RBNF_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Rule Based Number Format
 */

/**
 * \def U_HAVE_RBNF
 * This will be 0 if RBNF support is not included in ICU
 * and 1 if it is.
 *
 * @stable ICU 2.4
 */
#if UCONFIG_NO_FORMATTING
#define U_HAVE_RBNF 0
#else
#define U_HAVE_RBNF 1

#include "unicode/coll.h"
#include "unicode/dcfmtsym.h"
#include "unicode/fmtable.h"
#include "unicode/locid.h"
#include "unicode/numfmt.h"
#include "unicode/unistr.h"
#include "unicode/strenum.h"

U_NAMESPACE_BEGIN

class NFRuleSet;
class LocalizationInfo;

/**
 * Tags for the predefined rulesets.
 *
 * @stable ICU 2.2
 */
enum URBNFRuleSetTag {
    URBNF_SPELLOUT,
    URBNF_ORDINAL,

 =======================================================================
 ==uimacpp/include/unicode/regex.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   file name:  regex.h
*   encoding:   US-ASCII
*   indentation:4
*
*   created on: 2002oct22
*   created by: Andy Heninger
*
*   ICU Regular Expressions, API for C++
*/

#ifndef REGEX_H
#define REGEX_H

//#define REGEX_DEBUG

/**
 * \file
 * \brief  C++ API:  Regular Expressions
 *
 * <h2>Regular Expression API</h2>
 *
 * <p>The ICU API for processing regular expressions consists of two classes,
 *  <code>RegexPattern</code> and <code>RegexMatcher</code>.
 *  <code>RegexPattern</code> objects represent a pre-processed, or compiled
 *  regular expression.  They are created from a regular expression pattern string,
 *  and can be used to create <code>RegexMatcher</code> objects for the pattern.</p>
 *
 * <p>Class <code>RegexMatcher</code> bundles together a regular expression
 *  pattern and a target string to which the search pattern will be applied.
 *  <code>RegexMatcher</code> includes API for doing plain find or search
 *  operations, for search and replace operations, and for obtaining detailed
 *  information about bounds of a match. </p>
 *
 * <p>Note that by constructing <code>RegexMatcher</code> objects directly from regular 
 * expression pattern strings application code can be simplified and the explicit
 * need for <code>RegexPattern</code> objects can usually be eliminated.
 * </p>
 */

#include "unicode/utypes.h"

#if !UCONFIG_NO_REGULAR_EXPRESSIONS

#include "unicode/uobject.h"
#include "unicode/unistr.h"

 =======================================================================
 ==uimacpp/include/unicode/rep.h
 =======================================================================
/*
**************************************************************************
* Copyright (C) 1999-2005, International Business Machines Corporation and
* others. All Rights Reserved.
**************************************************************************
*   Date        Name        Description
*   11/17/99    aliu        Creation.  Ported from java.  Modified to
*                           match current UnicodeString API.  Forced
*                           to use name "handleReplaceBetween" because
*                           of existing methods in UnicodeString.
**************************************************************************
*/

#ifndef REP_H
#define REP_H

#include "unicode/uobject.h"

/**
 * \file 
 * \brief C++ API: Replaceable String
 */
 
U_NAMESPACE_BEGIN

class UnicodeString;

/**
 * <code>Replaceable</code> is an abstract base class representing a
 * string of characters that supports the replacement of a range of
 * itself with a new string of characters.  It is used by APIs that
 * change a piece of text while retaining metadata.  Metadata is data
 * other than the Unicode characters returned by char32At().  One
 * example of metadata is style attributes; another is an edit
 * history, marking each character with an author and revision number.
 *
 * <p>An implicit aspect of the <code>Replaceable</code> API is that
 * during a replace operation, new characters take on the metadata of
 * the old characters.  For example, if the string "the <b>bold</b>
 * font" has range (4, 8) replaced with "strong", then it becomes "the
 * <b>strong</b> font".
 *
 * <p><code>Replaceable</code> specifies ranges using a start
 * offset and a limit offset.  The range of characters thus specified
 * includes the characters at offset start..limit-1.  That is, the
 * start offset is inclusive, and the limit offset is exclusive.
 *
 * <p><code>Replaceable</code> also includes API to access characters
 * in the string: <code>length()</code>, <code>charAt()</code>,
 * <code>char32At()</code>, and <code>extractBetween()</code>.

 =======================================================================
 ==uimacpp/include/unicode/resbund.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1996-2005, International Business Machines Corporation
*   and others.  All Rights Reserved.
*
******************************************************************************
*
* File resbund.h
*
*   CREATED BY
*       Richard Gillam
*
* Modification History:
*
*   Date        Name        Description
*   2/5/97      aliu        Added scanForLocaleInFile.  Added
*                           constructor which attempts to read resource bundle
*                           from a specific file, without searching other files.
*   2/11/97     aliu        Added UErrorCode return values to constructors.  Fixed
*                           infinite loops in scanForFile and scanForLocale.
*                           Modified getRawResourceData to not delete storage
*                           in localeData and resourceData which it doesn't own.
*                           Added Mac compatibility #ifdefs for tellp() and
*                           ios::nocreate.
*   2/18/97     helena      Updated with 100% documentation coverage.
*   3/13/97     aliu        Rewrote to load in entire resource bundle and store
*                           it as a Hashtable of ResourceBundleData objects.
*                           Added state table to govern parsing of files.
*                           Modified to load locale index out of new file
*                           distinct from default.txt.
*   3/25/97     aliu        Modified to support 2-d arrays, needed for timezone
*                           data. Added support for custom file suffixes.  Again,
*                           needed to support timezone data.
*   4/7/97      aliu        Cleaned up.
* 03/02/99      stephen     Removed dependency on FILE*.
* 03/29/99      helena      Merged Bertrand and Stephen's changes.
* 06/11/99      stephen     Removed parsing of .txt files.
*                           Reworked to use new binary format.
*                           Cleaned up.
* 06/14/99      stephen     Removed methods taking a filename suffix.
* 11/09/99      weiv        Added getLocale(), fRealLocale, removed fRealLocaleID
******************************************************************************
*/

#ifndef RESBUND_H
#define RESBUND_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"

 =======================================================================
 ==uimacpp/include/unicode/schriter.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1998-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
* File schriter.h
*
* Modification History:
*
*   Date        Name        Description
*  05/05/99     stephen     Cleaned up.
******************************************************************************
*/

#ifndef SCHRITER_H
#define SCHRITER_H

#include "unicode/utypes.h"
#include "unicode/chariter.h"
#include "unicode/uchriter.h"

/**
 * \file 
 * \brief C++ API: String Character Iterator
 */
 
U_NAMESPACE_BEGIN
/**
 * A concrete subclass of CharacterIterator that iterates over the
 * characters (code units or code points) in a UnicodeString.
 * It's possible not only to create an
 * iterator that iterates over an entire UnicodeString, but also to
 * create one that iterates over only a subrange of a UnicodeString
 * (iterators over different subranges of the same UnicodeString don't
 * compare equal).
 * @see CharacterIterator
 * @see ForwardCharacterIterator
 * @stable ICU 2.0
 */
class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator {
public:
  /**
   * Create an iterator over the UnicodeString referred to by "textStr".
   * The UnicodeString object is copied.
   * The iteration range is the whole string, and the starting position is 0.
   * @param textStr The unicode string used to create an iterator
   * @stable ICU 2.0

 =======================================================================
 ==uimacpp/include/unicode/search.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2001-2005 IBM and others. All rights reserved.
**********************************************************************
*   Date        Name        Description
*  03/22/2000   helena      Creation.
**********************************************************************
*/

#ifndef SEARCH_H
#define SEARCH_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: SearchIterator object.
 */
 
#if !UCONFIG_NO_COLLATION

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/chariter.h"
#include "unicode/brkiter.h"
#include "unicode/usearch.h"

/**
* @stable ICU 2.0
*/
struct USearch;
/**
* @stable ICU 2.0
*/
typedef struct USearch USearch;

U_NAMESPACE_BEGIN

/**
 *
 * <tt>SearchIterator</tt> is an abstract base class that provides 
 * methods to search for a pattern within a text string. Instances of
 * <tt>SearchIterator</tt> maintain a current position and scans over the 
 * target text, returning the indices the pattern is matched and the length 
 * of each match.
 * <p>
 * <tt>SearchIterator</tt> defines a protocol for text searching. 
 * Subclasses provide concrete implementations of various search algorithms. 
 * For example, <tt>StringSearch</tt> implements language-sensitive pattern 
 * matching based on the comparison rules defined in a 

 =======================================================================
 ==uimacpp/include/unicode/simpletz.h
 =======================================================================
/*
* Copyright (C) {1997-2005}, International Business Machines Corporation and others. All Rights Reserved.
*                                                                              *
********************************************************************************
*
* File SIMPLETZ.H
*
* Modification History:
*
*   Date        Name        Description
*   04/21/97    aliu        Overhauled header.
*    08/10/98    stephen        JDK 1.2 sync
*                            Added setStartRule() / setEndRule() overloads
*                            Added hasSameRules()
*    09/02/98    stephen        Added getOffset(monthLen)
*                            Changed getOffset() to take UErrorCode
*    07/09/99    stephen     Removed millisPerHour (unused, for HP compiler)
*   12/02/99    aliu        Added TimeMode and constructor and setStart/EndRule
*                           methods that take TimeMode. Added to docs.
********************************************************************************
*/

#ifndef SIMPLETZ_H
#define SIMPLETZ_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: SimpleTimeZone is a concrete subclass of TimeZone.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/timezone.h"

U_NAMESPACE_BEGIN

/**
 * <code>SimpleTimeZone</code> is a concrete subclass of <code>TimeZone</code>
 * that represents a time zone for use with a Gregorian calendar. This
 * class does not handle historical changes.
 * <P>
 * When specifying daylight-savings-time begin and end dates, use a negative value for
 * <code>dayOfWeekInMonth</code> to indicate that <code>SimpleTimeZone</code> should
 * count from the end of the month backwards. For example, in the U.S., Daylight Savings
 * Time ends at the last (dayOfWeekInMonth = -1) Sunday in October, at 2 AM in standard
 * time.
 *
 * @see      Calendar

 =======================================================================
 ==uimacpp/include/unicode/smpdtfmt.h
 =======================================================================
/*
* Copyright (C) 1997-2006, International Business Machines Corporation and others. All Rights Reserved.
*******************************************************************************
*
* File SMPDTFMT.H
*
* Modification History:
*
*   Date        Name        Description
*   02/19/97    aliu        Converted from java.
*   07/09/97    helena      Make ParsePosition into a class.
*   07/21/98    stephen     Added GMT_PLUS, GMT_MINUS
*                            Changed setTwoDigitStartDate to set2DigitYearStart
*                            Changed getTwoDigitStartDate to get2DigitYearStart
*                            Removed subParseLong
*                            Removed getZoneIndex (added in DateFormatSymbols)
*   06/14/99    stephen     Removed fgTimeZoneDataSuffix
*   10/14/99    aliu        Updated class doc to describe 2-digit year parsing
*                           {j28 4182066}.
*******************************************************************************
*/

#ifndef SMPDTFMT_H
#define SMPDTFMT_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Format and parse dates in a language-independent manner.
 */
 
#if !UCONFIG_NO_FORMATTING

#include "unicode/datefmt.h"

U_NAMESPACE_BEGIN

class DateFormatSymbols;
class DateFormat;

/**
 *
 * SimpleDateFormat is a concrete class for formatting and parsing dates in a
 * language-independent manner. It allows for formatting (millis -> text),
 * parsing (text -> millis), and normalization. Formats/Parses a date or time,
 * which is the standard milliseconds since 24:00 GMT, Jan 1, 1970.
 * <P>
 * Clients are encouraged to create a date-time formatter using DateFormat::getInstance(),
 * getDateInstance(), getDateInstance(), or getDateTimeInstance() rather than

 =======================================================================
 ==uimacpp/include/unicode/sortkey.h
 =======================================================================
/*
 *****************************************************************************
 * Copyright (C) 1996-2006, International Business Machines Corporation and others.
 * All Rights Reserved.
 *****************************************************************************
 *
 * File sortkey.h
 *
 * Created by: Helena Shih
 *
 * Modification History:
 *
 *  Date         Name          Description
 *
 *  6/20/97     helena      Java class name change.
 *  8/18/97     helena      Added internal API documentation.
 *  6/26/98     erm         Changed to use byte arrays and memcmp.
 *****************************************************************************
 */

#ifndef SORTKEY_H
#define SORTKEY_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Keys for comparing strings multiple times. 
 */
 
#if !UCONFIG_NO_COLLATION

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/coll.h"

U_NAMESPACE_BEGIN

/* forward declaration */
class RuleBasedCollator;

/**
 *
 * Collation keys are generated by the Collator class.  Use the CollationKey objects
 * instead of Collator to compare strings multiple times.  A CollationKey
 * preprocesses the comparison information from the Collator object to
 * make the comparison faster.  If you are not going to comparing strings
 * multiple times, then using the Collator object is generally faster,
 * since it only processes as much of the string as needed to make a
 * comparison.

 =======================================================================
 ==uimacpp/include/unicode/strenum.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#ifndef STRENUM_H
#define STRENUM_H

#include "unicode/uobject.h"
#include "unicode/unistr.h"

/**
 * \file 
 * \brief C++ API: String Enumeration
 */
 
U_NAMESPACE_BEGIN

/**
 * Base class for 'pure' C++ implementations of uenum api.  Adds a
 * method that returns the next UnicodeString since in C++ this can
 * be a common storage format for strings.
 *
 * <p>The model is that the enumeration is over strings maintained by
 * a 'service.'  At any point, the service might change, invalidating
 * the enumerator (though this is expected to be rare).  The iterator
 * returns an error if this has occurred.  Lack of the error is no
 * guarantee that the service didn't change immediately after the
 * call, so the returned string still might not be 'valid' on
 * subsequent use.</p>
 *
 * <p>Strings may take the form of const char*, const UChar*, or const
 * UnicodeString*.  The type you get is determine by the variant of
 * 'next' that you call.  In general the StringEnumeration is
 * optimized for one of these types, but all StringEnumerations can
 * return all types.  Returned strings are each terminated with a NUL.
 * Depending on the service data, they might also include embedded NUL
 * characters, so API is provided to optionally return the true
 * length, counting the embedded NULs but not counting the terminating
 * NUL.</p>
 *
 * <p>The pointers returned by next, unext, and snext become invalid
 * upon any subsequent call to the enumeration's destructor, next,
 * unext, snext, or reset.</p>
 *
 * ICU 2.8 adds some default implementations and helper functions

 =======================================================================
 ==uimacpp/include/unicode/stsearch.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2001-2006 IBM and others. All rights reserved.
**********************************************************************
*   Date        Name        Description
*  03/22/2000   helena      Creation.
**********************************************************************
*/

#ifndef STSEARCH_H
#define STSEARCH_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Service for searching text based on RuleBasedCollator.
 */
 
#if !UCONFIG_NO_COLLATION

#include "unicode/tblcoll.h"
#include "unicode/coleitr.h"
#include "unicode/search.h"

U_NAMESPACE_BEGIN

/** 
 *
 * <tt>StringSearch</tt> is a <tt>SearchIterator</tt> that provides
 * language-sensitive text searching based on the comparison rules defined
 * in a {@link RuleBasedCollator} object.
 * StringSearch ensures that language eccentricity can be 
 * handled, e.g. for the German collator, characters &szlig; and SS will be matched 
 * if case is chosen to be ignored.
 * See the <a href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/~checkout~/icuhtml/design/collation/ICU_collation_design.htm">
 * "ICU Collation Design Document"</a> for more information.
 * <p> 
 * The algorithm implemented is a modified form of the Boyer Moore's search.
 * For more information  see 
 * <a href="http://icu.sourceforge.net/docs/papers/efficient_text_searching_in_java.html">
 * "Efficient Text Searching in Java"</a>, published in <i>Java Report</i> 
 * in February, 1999, for further information on the algorithm.
 * <p>
 * There are 2 match options for selection:<br>
 * Let S' be the sub-string of a text string S between the offsets start and 
 * end <start, end>.
 * <br>
 * A pattern string P matches a text string S at the offsets <start, end> 
 * if

 =======================================================================
 ==uimacpp/include/unicode/symtable.h
 =======================================================================
/*
**********************************************************************
*   Copyright (c) 2000-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   02/04/00    aliu        Creation.
**********************************************************************
*/
#ifndef SYMTABLE_H
#define SYMTABLE_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"

/**
 * \file 
 * \brief C++ API: An interface that defines both lookup protocol and parsing of
 * symbolic names.
 */
 
U_NAMESPACE_BEGIN

class ParsePosition;
class UnicodeFunctor;
class UnicodeSet;
class UnicodeString;

/**
 * An interface that defines both lookup protocol and parsing of
 * symbolic names.
 *
 * <p>A symbol table maintains two kinds of mappings.  The first is
 * between symbolic names and their values.  For example, if the
 * variable with the name "start" is set to the value "alpha"
 * (perhaps, though not necessarily, through an expression such as
 * "$start=alpha"), then the call lookup("start") will return the
 * char[] array ['a', 'l', 'p', 'h', 'a'].
 *
 * <p>The second kind of mapping is between character values and
 * UnicodeMatcher objects.  This is used by RuleBasedTransliterator,
 * which uses characters in the private use area to represent objects
 * such as UnicodeSets.  If U+E015 is mapped to the UnicodeSet [a-z],
 * then lookupMatcher(0xE015) will return the UnicodeSet [a-z].
 *
 * <p>Finally, a symbol table defines parsing behavior for symbolic
 * names.  All symbolic names start with the SYMBOL_REF character.
 * When a parser encounters this character, it calls parseReference()
 * with the position immediately following the SYMBOL_REF.  The symbol
 * table parses the name, if there is one, and returns it.

 =======================================================================
 ==uimacpp/include/unicode/tblcoll.h
 =======================================================================
/*
******************************************************************************
* Copyright (C) 1996-2006, International Business Machines Corporation and
* others. All Rights Reserved.
******************************************************************************
*/

/**
* File tblcoll.h
*
* Created by: Helena Shih
*
* Modification History:
*
*  Date        Name        Description
*  2/5/97      aliu        Added streamIn and streamOut methods.  Added
*                          constructor which reads RuleBasedCollator object from
*                          a binary file.  Added writeToFile method which streams
*                          RuleBasedCollator out to a binary file.  The streamIn
*                          and streamOut methods use istream and ostream objects
*                          in binary mode.
*  2/12/97     aliu        Modified to use TableCollationData sub-object to
*                          hold invariant data.
*  2/13/97     aliu        Moved several methods into this class from Collation.
*                          Added a private RuleBasedCollator(Locale&) constructor,
*                          to be used by Collator::createDefault().  General
*                          clean up.
*  2/20/97     helena      Added clone, operator==, operator!=, operator=, and copy
*                          constructor and getDynamicClassID.
*  3/5/97      aliu        Modified constructFromFile() to add parameter
*                          specifying whether or not binary loading is to be
*                          attempted.  This is required for dynamic rule loading.
* 05/07/97     helena      Added memory allocation error detection.
*  6/17/97     helena      Added IDENTICAL strength for compare, changed getRules to
*                          use MergeCollation::getPattern.
*  6/20/97     helena      Java class name change.
*  8/18/97     helena      Added internal API documentation.
* 09/03/97     helena      Added createCollationKeyValues().
* 02/10/98     damiba      Added compare with "length" parameter
* 08/05/98     erm         Synched with 1.2 version of RuleBasedCollator.java
* 04/23/99     stephen     Removed EDecompositionMode, merged with
*                          Normalizer::EMode
* 06/14/99     stephen     Removed kResourceBundleSuffix
* 11/02/99     helena      Collator performance enhancements.  Eliminates the
*                          UnicodeString construction and special case for NO_OP.
* 11/23/99     srl         More performance enhancements. Updates to NormalizerIterator
*                          internal state management.
* 12/15/99     aliu        Update to support Thai collation.  Move NormalizerIterator
*                          to implementation file.
* 01/29/01     synwee      Modified into a C++ wrapper which calls C API

 =======================================================================
 ==uimacpp/include/unicode/timezone.h
 =======================================================================
/*
* Copyright (C) {1997-2005}, International Business Machines Corporation and others. All Rights Reserved.
********************************************************************************
*
* File TIMEZONE.H
*
* Modification History:
*
*   Date        Name        Description
*   04/21/97    aliu        Overhauled header.
*   07/09/97    helena      Changed createInstance to createDefault.
*   08/06/97    aliu        Removed dependency on internal header for Hashtable.
*   08/10/98    stephen        Changed getDisplayName() API conventions to match
*   08/19/98    stephen        Changed createTimeZone() to never return 0
*   09/02/98    stephen        Sync to JDK 1.2 8/31
*                            - Added getOffset(... monthlen ...)
*                            - Added hasSameRules()
*   09/15/98    stephen        Added getStaticClassID
*   12/03/99    aliu        Moved data out of static table into icudata.dll.
*                           Hashtable replaced by new static data structures.
*   12/14/99    aliu        Made GMT public.
*   08/15/01    grhoten     Made GMT private and added the getGMT() function
********************************************************************************
*/

#ifndef TIMEZONE_H
#define TIMEZONE_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: TimeZone object
 */

#if !UCONFIG_NO_FORMATTING

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/ures.h"

U_NAMESPACE_BEGIN

class StringEnumeration;

/**
 *
 * <code>TimeZone</code> represents a time zone offset, and also figures out daylight
 * savings.
 *

 =======================================================================
 ==uimacpp/include/unicode/translit.h
 =======================================================================
/*
**********************************************************************
* Copyright (C) 1999-2006, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   11/17/99    aliu        Creation.
**********************************************************************
*/
#ifndef TRANSLIT_H
#define TRANSLIT_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Tranforms text from one format to another.
 */
 
#if !UCONFIG_NO_TRANSLITERATION

#include "unicode/uobject.h"
#include "unicode/unistr.h"
#include "unicode/parseerr.h"
#include "unicode/utrans.h" // UTransPosition, UTransDirection
#include "unicode/strenum.h"

U_NAMESPACE_BEGIN

class UnicodeFilter;
class UnicodeSet;
class CompoundTransliterator;
class TransliteratorParser;
class NormalizationTransliterator;
class TransliteratorIDParser;

/**
 *
 * <code>Transliterator</code> is an abstract class that
 * transliterates text from one format to another.  The most common
 * kind of transliterator is a script, or alphabet, transliterator.
 * For example, a Russian to Latin transliterator changes Russian text
 * written in Cyrillic characters to phonetically equivalent Latin
 * characters.  It does not <em>translate</em> Russian to English!
 * Transliteration, unlike translation, operates on characters, without
 * reference to the meanings of words and sentences.
 *
 * <p>Although script conversion is its most common use, a
 * transliterator can actually perform a more general class of tasks.
 * In fact, <code>Transliterator</code> defines a very general API

 =======================================================================
 ==uimacpp/include/unicode/ubidi.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*   file name:  ubidi.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999jul27
*   created by: Markus W. Scherer
*/

#ifndef UBIDI_H
#define UBIDI_H

#include "unicode/utypes.h"
#include "unicode/uchar.h"

/**
 *\file
 * \brief C API: BIDI algorithm
 *
 * <h2>BIDI algorithm for ICU</h2>
 *
 * This is an implementation of the Unicode Bidirectional algorithm.
 * The algorithm is defined in the
 * <a href="http://www.unicode.org/unicode/reports/tr9/">Unicode Standard Annex #9</a>,
 * version 13, also described in The Unicode Standard, Version 4.0 .<p>
 *
 * Note: Libraries that perform a bidirectional algorithm and
 * reorder strings accordingly are sometimes called "Storage Layout Engines".
 * ICU's BiDi and shaping (u_shapeArabic()) APIs can be used at the core of such
 * "Storage Layout Engines".
 *
 * <h3>General remarks about the API:</h3>
 *
 * In functions with an error code parameter,
 * the <code>pErrorCode</code> pointer must be valid
 * and the value that it points to must not indicate a failure before
 * the function call. Otherwise, the function returns immediately.
 * After the function call, the value indicates success or failure.<p>
 *
 * The &quot;limit&quot; of a sequence of characters is the position just after their
 * last character, i.e., one more than that position.<p>
 *
 * Some of the API functions provide access to &quot;runs&quot;.

 =======================================================================
 ==uimacpp/include/unicode/ubrk.h
 =======================================================================
/*
******************************************************************************
* Copyright (C) 1996-2006, International Business Machines Corporation and others.
* All Rights Reserved.
******************************************************************************
*/

#ifndef UBRK_H
#define UBRK_H

#include "unicode/utypes.h"
#include "unicode/uloc.h"
#include "unicode/utext.h"

/**
 * A text-break iterator.
 *  For usage in C programs.
 */
#ifndef UBRK_TYPEDEF_UBREAK_ITERATOR
#   define UBRK_TYPEDEF_UBREAK_ITERATOR
    /**
     *  Opaque type representing an ICU Break iterator object.
     *  @stable ICU 2.0
     */
    typedef void UBreakIterator;
#endif

#if !UCONFIG_NO_BREAK_ITERATION

#include "unicode/parseerr.h"

/**
 * \file
 * \brief C API: BreakIterator
 *
 * <h2> BreakIterator C API </h2>
 *
 * The BreakIterator C API defines  methods for finding the location
 * of boundaries in text. Pointer to a UBreakIterator maintain a
 * current position and scan over text returning the index of characters
 * where boundaries occur.
 * <p>
 * Line boundary analysis determines where a text string can be broken
 * when line-wrapping. The mechanism correctly handles punctuation and
 * hyphenated words.
 * <p>
 * Sentence boundary analysis allows selection with correct
 * interpretation of periods within numbers and abbreviations, and
 * trailing punctuation marks such as quotation marks and parentheses.
 * <p>

 =======================================================================
 ==uimacpp/include/unicode/ucal.h
 =======================================================================
/*
*******************************************************************************
* Copyright (C) 1996-2006, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/

#ifndef UCAL_H
#define UCAL_H

#include "unicode/utypes.h"
#include "unicode/uenum.h"
#include "unicode/uloc.h"

#if !UCONFIG_NO_FORMATTING

/**
 * \file
 * \brief C API: Calendar
 *
 * <h2>Calendar C API</h2>
 *
 * UCalendar C API is used  for converting between a <code>UDate</code> object
 * and a set of integer fields such as <code>UCAL_YEAR</code>, <code>UCAL_MONTH</code>,
 * <code>UCAL_DAY</code>, <code>UCAL_HOUR</code>, and so on.
 * (A <code>UDate</code> object represents a specific instant in
 * time with millisecond precision. See UDate
 * for information about the <code>UDate</code> .)
 *
 * <p>
 * Types of <code>UCalendar</code> interpret a <code>UDate</code>
 * according to the rules of a specific calendar system. The U_STABLE
 * provides the enum UCalendarType with UCAL_TRADITIONAL and
 * UCAL_GREGORIAN.
 * <p>
 * Like other locale-sensitive C API, calendar API  provides a
 * function, <code>ucal_open()</code>, which returns a pointer to
 * <code>UCalendar</code> whose time fields have been initialized
 * with the current date and time. We need to specify the type of
 * calendar to be opened and the  timezoneId.
 * \htmlonly<blockquote>\endhtmlonly
 * <pre>
 * \code
 * UCalendar *caldef;
 * UChar *tzId;
 * UErrorCode status;
 * tzId=(UChar*)malloc(sizeof(UChar) * (strlen("PST") +1) );
 * u_uastrcpy(tzId, "PST");
 * caldef=ucal_open(tzID, u_strlen(tzID), NULL, UCAL_TRADITIONAL, &status);
 * \endcode

 =======================================================================
 ==uimacpp/include/unicode/ucasemap.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  ucasemap.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2005may06
*   created by: Markus W. Scherer
*
*   Case mapping service object and functions using it.
*/

#ifndef __UCASEMAP_H__
#define __UCASEMAP_H__

#include "unicode/utypes.h"
#include "unicode/ustring.h"

/**
 * \file
 * \brief C API: Unicode case mapping functions using a UCaseMap service object.
 *
 * The service object takes care of memory allocations, data loading, and setup
 * for the attributes, as usual.
 *
 * Currently, the functionality provided here does not overlap with uchar.h
 * and ustring.h.
 *
 * ucasemap_utf8ToLower() and ucasemap_utf8ToUpper() operate directly on
 * UTF-8 strings.
 */

/**
 * UCaseMap is an opaque service object for newer ICU case mapping functions.
 * Older functions did not use a service object.
 * @draft ICU 3.4
 */
struct UCaseMap;
typedef struct UCaseMap UCaseMap; /**< C typedef for struct UCaseMap. @draft ICU 3.4 */

/**
 * Open a UCaseMap service object for a locale and a set of options.
 * The locale ID and options are preprocessed so that functions using the
 * service object need not process them in each call.

 =======================================================================
 ==uimacpp/include/unicode/ucat.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2003-2004, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: March 19 2003
* Since: ICU 2.6
**********************************************************************
*/
#ifndef UCAT_H
#define UCAT_H

#include "unicode/utypes.h"
#include "unicode/ures.h"

/**
 * \file
 * \brief C API: Message Catalog Wrappers
 *
 * This C API provides look-alike functions that deliberately resemble
 * the POSIX catopen, catclose, and catgets functions.  The underlying
 * implementation is in terms of ICU resource bundles, rather than
 * POSIX message catalogs.
 *
 * The ICU resource bundles obey standard ICU inheritance policies.
 * To facilitate this, sets and messages are flattened into one tier.
 * This is done by creating resource bundle keys of the form
 * &lt;set_num&gt;%&lt;msg_num&gt; where set_num is the set number and msg_num is
 * the message number, formatted as decimal strings.
 *
 * Example:  Consider a message catalog containing two sets:
 *
 * Set 1: Message 4  = "Good morning."
 *        Message 5  = "Good afternoon."
 *        Message 7  = "Good evening."
 *        Message 8  = "Good night."
 * Set 4: Message 14 = "Please "
 *        Message 19 = "Thank you."
 *        Message 20 = "Sincerely,"
 *
 * The ICU resource bundle source file would, assuming it is named
 * "greet.txt", would look like this:
 *
 * greet
 * {
 *     1%4  { "Good morning." }
 *     1%5  { "Good afternoon." }
 *     1%7  { "Good evening." }
 *     1%8  { "Good night." }

 =======================================================================
 ==uimacpp/include/unicode/uchar.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File UCHAR.H
*
* Modification History:
*
*   Date        Name        Description
*   04/02/97    aliu        Creation.
*   03/29/99    helena      Updated for C APIs.
*   4/15/99     Madhu       Updated for C Implementation and Javadoc
*   5/20/99     Madhu       Added the function u_getVersion()
*   8/19/1999   srl         Upgraded scripts to Unicode 3.0
*   8/27/1999   schererm    UCharDirection constants: U_...
*   11/11/1999  weiv        added u_isalnum(), cleaned comments
*   01/11/2000  helena      Renamed u_getVersion to u_getUnicodeVersion().
******************************************************************************
*/

#ifndef UCHAR_H
#define UCHAR_H

#include "unicode/utypes.h"

U_CDECL_BEGIN

/*==========================================================================*/
/* Unicode version number                                                   */
/*==========================================================================*/
/**
 * Unicode version number, default for the current ICU version.
 * The actual Unicode Character Database (UCD) data is stored in uprops.dat
 * and may be generated from UCD files from a different Unicode version.
 * Call u_getUnicodeVersion to get the actual Unicode version of the data.
 *
 * @see u_getUnicodeVersion
 * @stable ICU 2.0
 */
#define U_UNICODE_VERSION "5.0"

/**
 * \file
 * \brief C API: Unicode Properties
 *
 * This C API provides low-level access to the Unicode Character Database.
 * In addition to raw property values, some convenience functions calculate
 * derived properties, for example for Java-style programming.

 =======================================================================
 ==uimacpp/include/unicode/uchriter.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1998-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*/

#ifndef UCHRITER_H
#define UCHRITER_H

#include "unicode/utypes.h"
#include "unicode/chariter.h"

/**
 * \file 
 * \brief C++ API: UChar Character Iterator
 */
 
U_NAMESPACE_BEGIN

/**
 * A concrete subclass of CharacterIterator that iterates over the
 * characters (code units or code points) in a UChar array.
 * It's possible not only to create an
 * iterator that iterates over an entire UChar array, but also to
 * create one that iterates over only a subrange of a UChar array
 * (iterators over different subranges of the same UChar array don't
 * compare equal).
 * @see CharacterIterator
 * @see ForwardCharacterIterator
 * @stable ICU 2.0
 */
class U_COMMON_API UCharCharacterIterator : public CharacterIterator {
public:
  /**
   * Create an iterator over the UChar array referred to by "textPtr".
   * The iteration range is 0 to <code>length-1</code>.
   * text is only aliased, not adopted (the
   * destructor will not delete it).
   * @param textPtr The UChar array to be iterated over
   * @param length The length of the UChar array
   * @stable ICU 2.0
   */
  UCharCharacterIterator(const UChar* textPtr, int32_t length);

  /**
   * Create an iterator over the UChar array referred to by "textPtr".
   * The iteration range is 0 to <code>length-1</code>.
   * text is only aliased, not adopted (the
   * destructor will not delete it).

 =======================================================================
 ==uimacpp/include/unicode/uclean.h
 =======================================================================
/*
******************************************************************************
*                                                                            *
* Copyright (C) 2001-2005, International Business Machines                   *
*                Corporation and others. All Rights Reserved.                *
*                                                                            *
******************************************************************************
*   file name:  uclean.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2001July05
*   created by: George Rhoten
*/

#ifndef __UCLEAN_H__
#define __UCLEAN_H__

#include "unicode/utypes.h"
/**
 * \file
 * \brief C API: Initialize and clean up ICU
 */
 
/**
 *  Initialize ICU. The description further below applies to ICU 2.6 to ICU 3.4.
 *  Starting with ICU 3.4, u_init() needs not be called any more for
 *  ensuring thread safety, but it can give an indication for whether ICU
 *  can load its data. In ICU 3.4, it will try to load the converter alias table
 *  (cnvalias.icu) and give an error code if that fails.
 *  This may change in the future.
 *  <p>
 *  For ensuring the availability of necessary data, an application should
 *  open the service objects (converters, collators, etc.) that it will use
 *  and check for error codes there.
 *  <p>
 *  Documentation for ICU 2.6 to ICU 3.4:
 *  <p>
 *  This function loads and initializes data items
 *  that are required internally by various ICU functions.  Use of this explicit
 *  initialization is required in multi-threaded applications; in 
 *  single threaded apps, use is optional, but incurs little additional
 *  cost, and is thus recommended.
 *  <p>
 *  In multi-threaded applications, u_init() should be called  in the
 *  main thread before starting additional threads, or, alternatively
 *  it can be called in each individual thread once, before other ICU
 *  functions are called in that thread.  In this second scenario, the
 *  application must guarantee that the first call to u_init() happen

 =======================================================================
 ==uimacpp/include/unicode/ucnv.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
 *  ucnv.h:
 *  External APIs for the ICU's codeset conversion library
 *  Bertrand A. Damiba
 *
 * Modification History:
 *
 *   Date        Name        Description
 *   04/04/99    helena      Fixed internal header inclusion.
 *   05/11/00    helena      Added setFallback and usesFallback APIs.
 *   06/29/2000  helena      Major rewrite of the callback APIs.
 *   12/07/2000  srl         Update of documentation
 */

/**
 * \file
 * \brief C API: Character conversion 
 *
 * <h2>Character Conversion C API</h2>
 *
 * <p>This API is used to convert codepage or character encoded data to and
 * from UTF-16. You can open a converter with {@link ucnv_open() }. With that
 * converter, you can get its properties, set options, convert your data and
 * close the converter.</p>
 *
 * <p>Since many software programs recogize different converter names for
 * different types of converters, there are other functions in this API to
 * iterate over the converter aliases. The functions {@link ucnv_getAvailableName() },
 * {@link ucnv_getAlias() } and {@link ucnv_getStandardName() } are some of the
 * more frequently used alias functions to get this information.</p>
 *
 * <p>When a converter encounters an illegal, irregular, invalid or unmappable character
 * its default behavior is to use a substitution character to replace the
 * bad byte sequence. This behavior can be changed by using {@link ucnv_setFromUCallBack() }
 * or {@link ucnv_setToUCallBack() } on the converter. The header ucnv_err.h defines
 * many other callback actions that can be used instead of a character substitution.</p>
 *
 * <p>More information about this API can be found in our 
 * <a href="http://icu.sourceforge.net/userguide/conversion.html">User's
 * Guide</a>.</p>
 */

#ifndef UCNV_H
#define UCNV_H

#include "unicode/ucnv_err.h"

 =======================================================================
 ==uimacpp/include/unicode/ucnv_cb.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2000-2004, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
 *  ucnv_cb.h:
 *  External APIs for the ICU's codeset conversion library
 *  Helena Shih
 * 
 * Modification History:
 *
 *   Date        Name        Description
 */

/**
 * \file 
 * \brief C UConverter functions to aid the writers of callbacks
 *
 * <h2> Callback API for UConverter </h2>
 * 
 * These functions are provided here for the convenience of the callback
 * writer. If you are just looking for callback functions to use, please
 * see ucnv_err.h.  DO NOT call these functions directly when you are 
 * working with converters, unless your code has been called as a callback
 * via ucnv_setFromUCallback or ucnv_setToUCallback !!
 * 
 * A note about error codes and overflow.  Unlike other ICU functions,
 * these functions do not expect the error status to be U_ZERO_ERROR.
 * Callbacks must be much more careful about their error codes.
 * The error codes used here are in/out parameters, which should be passed
 * back in the callback's error parameter.
 * 
 * For example, if you call ucnv_cbfromUWriteBytes to write data out 
 * to the output codepage, it may return U_BUFFER_OVERFLOW_ERROR if 
 * the data did not fit in the target. But this isn't a failing error, 
 * in fact, ucnv_cbfromUWriteBytes may be called AGAIN with the error
 * status still U_BUFFER_OVERFLOW_ERROR to attempt to write further bytes,
 * which will also go into the internal overflow buffers.
 * 
 * Concerning offsets, the 'offset' parameters here are relative to the start
 * of SOURCE.  For example, Suppose the string "ABCD" was being converted 
 * from Unicode into a codepage which doesn't have a mapping for 'B'.
 * 'A' will be written out correctly, but
 * The FromU Callback will be called on an unassigned character for 'B'.
 * At this point, this is the state of the world:
 *    Target:    A [..]     [points after A]
 *    Source:  A B [C] D    [points to C - B has been consumed]
 *             0 1  2  3 
 *    codePoint = "B"       [the unassigned codepoint] 
 * 

 =======================================================================
 ==uimacpp/include/unicode/ucnv_err.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1999-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
 *
 *
 *   ucnv_err.h:
 */

/**
 * \file
 * \brief C UConverter predefined error callbacks
 *
 *  <h2>Error Behaviour Functions</h2>
 *  Defines some error behaviour functions called by ucnv_{from,to}Unicode
 *  These are provided as part of ICU and many are stable, but they
 *  can also be considered only as an example of what can be done with
 *  callbacks.  You may of course write your own.
 *
 *  If you want to write your own, you may also find the functions from
 *  ucnv_cb.h useful when writing your own callbacks.
 *
 *  These functions, although public, should NEVER be called directly.
 *  They should be used as parameters to the ucnv_setFromUCallback
 *  and ucnv_setToUCallback functions, to set the behaviour of a converter
 *  when it encounters ILLEGAL/UNMAPPED/INVALID sequences.
 *
 *  usage example:  'STOP' doesn't need any context, but newContext
 *    could be set to something other than 'NULL' if needed. The available
 *    contexts in this header can modify the default behavior of the callback.
 *
 *  \code
 *  UErrorCode err = U_ZERO_ERROR;
 *  UConverter *myConverter = ucnv_open("ibm-949", &err);
 *  const void *oldContext;
 *  UConverterFromUCallback oldAction;
 *
 *
 *  if (U_SUCCESS(err))
 *  {
 *      ucnv_setFromUCallBack(myConverter,
 *                       UCNV_FROM_U_CALLBACK_STOP,
 *                       NULL,
 *                       &oldAction,
 *                       &oldContext,
 *                       &status);
 *  }
 *  \endcode
 *

 =======================================================================
 ==uimacpp/include/unicode/ucol.h
 =======================================================================
/*
*******************************************************************************
* Copyright (c) 1996-2006, International Business Machines Corporation and others.
* All Rights Reserved.
*******************************************************************************
*/

#ifndef UCOL_H
#define UCOL_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_COLLATION

#include "unicode/unorm.h"
#include "unicode/parseerr.h"
#include "unicode/uloc.h"
#include "unicode/uset.h"

/**
 * \file
 * \brief C API: Collator 
 *
 * <h2> Collator C API </h2>
 *
 * The C API for Collator performs locale-sensitive
 * string comparison. You use this service to build
 * searching and sorting routines for natural language text.
 * <em>Important: </em>The ICU collation service has been reimplemented 
 * in order to achieve better performance and UCA compliance. 
 * For details, see the 
 * <a href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/~checkout~/icuhtml/design/collation/ICU_collation_design.htm">
 * collation design document</a>.
 * <p>
 * For more information about the collation service see 
 * <a href="http://icu.sourceforge.net/userguide/Collate_Intro.html">the users guide</a>.
 * <p>
 * Collation service provides correct sorting orders for most locales supported in ICU. 
 * If specific data for a locale is not available, the orders eventually falls back
 * to the <a href="http://www.unicode.org/unicode/reports/tr10/">UCA sort order</a>. 
 * <p>
 * Sort ordering may be customized by providing your own set of rules. For more on
 * this subject see the 
 * <a href="http://icu.sourceforge.net/userguide/Collate_Customization.html">
 * Collation customization</a> section of the users guide.
 * <p>
 * @see         UCollationResult
 * @see         UNormalizationMode
 * @see         UCollationStrength
 * @see         UCollationElements

 =======================================================================
 ==uimacpp/include/unicode/ucoleitr.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2001-2004, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
* File ucoleitr.cpp
*
* Modification History:
*
* Date        Name        Description
* 02/15/2001  synwee      Modified all methods to process its own function 
*                         instead of calling the equivalent c++ api (coleitr.h)
*******************************************************************************/

#ifndef UCOLEITR_H
#define UCOLEITR_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_COLLATION

/**  
 * This indicates an error has occured during processing or if no more CEs is 
 * to be returned.
 * @stable ICU 2.0
 */
#define UCOL_NULLORDER        ((int32_t)0xFFFFFFFF)

#include "unicode/ucol.h"

/** 
 * The UCollationElements struct.
 * For usage in C programs.
 * @stable ICU 2.0
 */
typedef struct UCollationElements UCollationElements;

/**
 * \file
 * \brief C API: UCollationElements
 *
 * The UCollationElements API is used as an iterator to walk through each 
 * character of an international string. Use the iterator to return the
 * ordering priority of the positioned character. The ordering priority of a 
 * character, which we refer to as a key, defines how a character is collated 
 * in the given collation object.
 * For example, consider the following in Spanish:
 * <pre>
 * .       "ca" -> the first key is key('c') and second key is key('a').

 =======================================================================
 ==uimacpp/include/unicode/uconfig.h
 =======================================================================
/*  
**********************************************************************
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   file name:  uconfig.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2002sep19
*   created by: Markus W. Scherer
*/

#ifndef __UCONFIG_H__
#define __UCONFIG_H__

/*!
 * \file
 * \brief Switches for excluding parts of ICU library code modules.
 *
 * Allows to build partial, smaller libraries for special purposes.
 * By default, all modules are built.
 * The switches are fairly coarse, controlling large modules.
 * Basic services cannot be turned off.
 *
 * Building with any of these options does not guarantee that the
 * ICU build process will completely work. It is recommended that
 * the ICU libraries and data be built using the normal build.
 * At that time you should remove the data used by those services.
 * After building the ICU data library, you should rebuild the ICU
 * libraries with these switches customized to your needs.
 *
 * @stable ICU 2.4
 */

/**
 * \def UCONFIG_ONLY_COLLATION
 * This switch turns off modules that are not needed for collation.
 *
 * It does not turn off legacy conversion because that is necessary
 * for ICU to work on EBCDIC platforms (for the default converter).
 * If you want "only collation" and do not build for EBCDIC,
 * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
 *
 * @stable ICU 2.4
 */
#ifndef UCONFIG_ONLY_COLLATION
#   define UCONFIG_ONLY_COLLATION 0
#endif

 =======================================================================
 ==uimacpp/include/unicode/ucsdet.h
 =======================================================================
/*
 **********************************************************************
 *   Copyright (C) 2005-2006, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 **********************************************************************
 *   file name:  ucsdet.h
 *   encoding:   US-ASCII
 *   indentation:4
 *
 *   created on: 2005Aug04
 *   created by: Andy Heninger
 *
 *   ICU Character Set Detection, API for C
 *
 *   Draft version 18 Oct 2005
 *
 */

#ifndef __UCSDET_H
#define __UCSDET_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_CONVERSION
#include "unicode/uenum.h"

/**
 * \file 
 * \brief C API: Charset Detection API
 *
 * This API provides a facility for detecting the
 * charset or encoding of character data in an unknown text format.
 * The input data can be from an array of bytes.
 * <p>
 * Character set detection is at best an imprecise operation.  The detection
 * process will attempt to identify the charset that best matches the characteristics
 * of the byte data, but the process is partly statistical in nature, and
 * the results can not be guaranteed to always be correct.
 * <p>
 * For best accuracy in charset detection, the input data should be primarily
 * in a single language, and a minimum of a few hundred bytes worth of plain text
 * in the language are needed.  The detection process will attempt to
 * ignore html or xml style markup that could otherwise obscure the content.
 */
 

struct UCharsetDetector;
/**
  * Structure representing a charset detector
  * @draft ICU 3.6

 =======================================================================
 ==uimacpp/include/unicode/ucurr.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2002-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
*/
#ifndef _UCURR_H_
#define _UCURR_H_

#include "unicode/utypes.h"
#include "unicode/uenum.h"

/**
 * \file 
 * \brief C API: Encapsulates information about a currency.
 */

#if !UCONFIG_NO_FORMATTING

/**
 * The ucurr API encapsulates information about a currency, as defined by
 * ISO 4217.  A currency is represented by a 3-character string
 * containing its ISO 4217 code.  This API can return various data
 * necessary the proper display of a currency:
 *
 * <ul><li>A display symbol, for a specific locale
 * <li>The number of fraction digits to display
 * <li>A rounding increment
 * </ul>
 *
 * The <tt>DecimalFormat</tt> class uses these data to display
 * currencies.
 * @author Alan Liu
 * @since ICU 2.2
 */

/**
 * Finds a currency code for the given locale.
 * @param locale the locale for which to retrieve a currency code. 
 *               Currency can be specified by the "currency" keyword
 *               in which case it overrides the default currency code
 * @param buff   fill in buffer. Can be NULL for preflighting.
 * @param buffCapacity capacity of the fill in buffer. Can be 0 for
 *               preflighting. If it is non-zero, the buff parameter
 *               must not be NULL.
 * @param ec error code
 * @return length of the currency string. It should always be 3. If 0,
 *                currency couldn't be found or the input values are 
 *                invalid. 
 * @stable ICU 2.8

 =======================================================================
 ==uimacpp/include/unicode/udat.h
 =======================================================================
/*
*******************************************************************************
* Copyright (C) 1996-2006, International Business Machines Corporation and others.
* All Rights Reserved.
*******************************************************************************
*/

#ifndef UDAT_H
#define UDAT_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/ucal.h"
#include "unicode/unum.h"
/**
 * \file
 * \brief C API: DateFormat
 *
 * <h2> Date Format C API</h2>
 *
 * Date Format C API  consists of functions that convert dates and
 * times from their internal representations to textual form and back again in a
 * language-independent manner. Converting from the internal representation (milliseconds
 * since midnight, January 1, 1970) to text is known as "formatting," and converting
 * from text to millis is known as "parsing."  We currently define only one concrete
 * structure UDateFormat, which can handle pretty much all normal
 * date formatting and parsing actions.
 * <P>
 * Date Format helps you to format and parse dates for any locale. Your code can
 * be completely independent of the locale conventions for months, days of the
 * week, or even the calendar format: lunar vs. solar.
 * <P>
 * To format a date for the current Locale with default time and date style,
 * use one of the static factory methods:
 * <pre>
 * \code
 *  UErrorCode status = U_ZERO_ERROR;
 *  UChar *myString;
 *  int32_t myStrlen = 0;
 *  UDateFormat* dfmt = udat_open(UDAT_DEFAULT, UDAT_DEFAULT, NULL, NULL, -1, NULL, -1, &status);
 *  myStrlen = udat_format(dfmt, myDate, NULL, myStrlen, NULL, &status);
 *  if (status==U_BUFFER_OVERFLOW_ERROR){
 *      status=U_ZERO_ERROR;
 *      myString=(UChar*)malloc(sizeof(UChar) * (myStrlen+1) );
 *      udat_format(dfmt, myDate, myString, myStrlen+1, NULL, &status);
 *  }
 * \endcode
 * </pre>

 =======================================================================
 ==uimacpp/include/unicode/udata.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*   file name:  udata.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999oct25
*   created by: Markus W. Scherer
*/

#ifndef __UDATA_H__
#define __UDATA_H__

#include "unicode/utypes.h"

U_CDECL_BEGIN

/**
 * \file
 * \brief C API: Data loading interface
 *
 * <h2>Information about data loading interface</h2>
 *
 * This API is used to find and efficiently load data for ICU and applications
 * using ICU. It provides an abstract interface that specifies a data type and
 * name to find and load the data. Normally this API is used by other ICU APIs
 * to load required data out of the ICU data library, but it can be used to
 * load data out of other places.
 *
 * See the User Guide Data Management chapter.
 */
 
#ifndef U_HIDE_INTERNAL_API
/**
 * Character used to separate package names from tree names 
 * @internal ICU 3.0
 */
#define U_TREE_SEPARATOR '-'

/**
 * String used to separate package names from tree names 
 * @internal ICU 3.0
 */
#define U_TREE_SEPARATOR_STRING "-"

 =======================================================================
 ==uimacpp/include/unicode/udeprctd.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: genheaders.pl, a perl script written by Ram Viswanadha
*
*  Contains data for commenting out APIs.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef UDEPRCTD_H
#define UDEPRCTD_H

#ifdef U_HIDE_DEPRECATED_API

#    if U_DISABLE_RENAMING
#        define ucol_getContractions ucol_getContractions_DEPRECATED_API_DO_NOT_USE
#        define ucol_getLocale ucol_getLocale_DEPRECATED_API_DO_NOT_USE
#        define ures_countArrayItems ures_countArrayItems_DEPRECATED_API_DO_NOT_USE
#        define ures_getLocale ures_getLocale_DEPRECATED_API_DO_NOT_USE
#        define ures_getVersionNumber ures_getVersionNumber_DEPRECATED_API_DO_NOT_USE
#        define utrans_getAvailableID utrans_getAvailableID_DEPRECATED_API_DO_NOT_USE
#        define utrans_getID utrans_getID_DEPRECATED_API_DO_NOT_USE
#        define utrans_open utrans_open_DEPRECATED_API_DO_NOT_USE
#        define utrans_unregister utrans_unregister_DEPRECATED_API_DO_NOT_USE
#    else
#        define ucol_getContractions_3_6 ucol_getContractions_DEPRECATED_API_DO_NOT_USE
#        define ucol_getLocale_3_6 ucol_getLocale_DEPRECATED_API_DO_NOT_USE
#        define ures_countArrayItems_3_6 ures_countArrayItems_DEPRECATED_API_DO_NOT_USE
#        define ures_getLocale_3_6 ures_getLocale_DEPRECATED_API_DO_NOT_USE
#        define ures_getVersionNumber_3_6 ures_getVersionNumber_DEPRECATED_API_DO_NOT_USE
#        define utrans_getAvailableID_3_6 utrans_getAvailableID_DEPRECATED_API_DO_NOT_USE
#        define utrans_getID_3_6 utrans_getID_DEPRECATED_API_DO_NOT_USE
#        define utrans_open_3_6 utrans_open_DEPRECATED_API_DO_NOT_USE
#        define utrans_unregister_3_6 utrans_unregister_DEPRECATED_API_DO_NOT_USE
#    endif /* U_DISABLE_RENAMING */

#endif /* U_HIDE_DEPRECATED_API */
#endif /* UDEPRCTD_H */


 =======================================================================
 ==uimacpp/include/unicode/udraft.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: genheaders.pl, a perl script written by Ram Viswanadha
*
*  Contains data for commenting out APIs.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef UDRAFT_H
#define UDRAFT_H

#ifdef U_HIDE_DRAFT_API

#    if U_DISABLE_RENAMING
#        define u_fclose u_fclose_DRAFT_API_DO_NOT_USE
#        define u_feof u_feof_DRAFT_API_DO_NOT_USE
#        define u_fflush u_fflush_DRAFT_API_DO_NOT_USE
#        define u_fgetConverter u_fgetConverter_DRAFT_API_DO_NOT_USE
#        define u_fgetc u_fgetc_DRAFT_API_DO_NOT_USE
#        define u_fgetcodepage u_fgetcodepage_DRAFT_API_DO_NOT_USE
#        define u_fgetcx u_fgetcx_DRAFT_API_DO_NOT_USE
#        define u_fgetfile u_fgetfile_DRAFT_API_DO_NOT_USE
#        define u_fgetlocale u_fgetlocale_DRAFT_API_DO_NOT_USE
#        define u_fgets u_fgets_DRAFT_API_DO_NOT_USE
#        define u_file_read u_file_read_DRAFT_API_DO_NOT_USE
#        define u_file_write u_file_write_DRAFT_API_DO_NOT_USE
#        define u_finit u_finit_DRAFT_API_DO_NOT_USE
#        define u_fopen u_fopen_DRAFT_API_DO_NOT_USE
#        define u_fprintf u_fprintf_DRAFT_API_DO_NOT_USE
#        define u_fprintf_u u_fprintf_u_DRAFT_API_DO_NOT_USE
#        define u_fputc u_fputc_DRAFT_API_DO_NOT_USE
#        define u_fputs u_fputs_DRAFT_API_DO_NOT_USE
#        define u_frewind u_frewind_DRAFT_API_DO_NOT_USE
#        define u_fscanf u_fscanf_DRAFT_API_DO_NOT_USE
#        define u_fscanf_u u_fscanf_u_DRAFT_API_DO_NOT_USE
#        define u_fsetcodepage u_fsetcodepage_DRAFT_API_DO_NOT_USE
#        define u_fsetlocale u_fsetlocale_DRAFT_API_DO_NOT_USE
#        define u_fsettransliterator u_fsettransliterator_DRAFT_API_DO_NOT_USE

 =======================================================================
 ==uimacpp/include/unicode/uenum.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2002-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uenum.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:2
*
*   created on: 2002jul08
*   created by: Vladimir Weinstein
*/

#ifndef __UENUM_H
#define __UENUM_H

#include "unicode/utypes.h"

/**
 * \file
 * \brief C API: String Enumeration 
 */
 
/**
 * An enumeration object.
 * For usage in C programs.
 * @stable ICU 2.2
 */
struct UEnumeration;
/** structure representing an enumeration object instance @stable ICU 2.2 */
typedef struct UEnumeration UEnumeration;

/**
 * Disposes of resources in use by the iterator.  If en is NULL,
 * does nothing.  After this call, any char* or UChar* pointer
 * returned by uenum_unext() or uenum_next() is invalid.
 * @param en UEnumeration structure pointer
 * @stable ICU 2.2
 */
U_STABLE void U_EXPORT2
uenum_close(UEnumeration* en);

/**
 * Returns the number of elements that the iterator traverses.  If
 * the iterator is out-of-sync with its service, status is set to
 * U_ENUM_OUT_OF_SYNC_ERROR.
 * This is a convenience function. It can end up being very

 =======================================================================
 ==uimacpp/include/unicode/uidna.h
 =======================================================================
/*
 *******************************************************************************
 *
 *   Copyright (C) 2003-2006, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  uidna.h
 *   encoding:   US-ASCII
 *   tab size:   8 (not used)
 *   indentation:4
 *
 *   created on: 2003feb1
 *   created by: Ram Viswanadha
 */

#ifndef __UIDNA_H__
#define __UIDNA_H__

#include "unicode/utypes.h"

#if !UCONFIG_NO_IDNA

#include "unicode/parseerr.h"
  
/**
 * \file
 * \brief C API: Internationalized Domain Names in Applications Tranformation
 *
 * UIDNA API implements the IDNA protocol as defined in the IDNA RFC 
 * (http://www.ietf.org/rfc/rfc3490.txt).
 * The RFC defines 2 operations: ToASCII and ToUnicode. Domain labels 
 * containing non-ASCII code points are required to be processed by
 * ToASCII operation before passing it to resolver libraries. Domain names
 * that are obtained from resolver libraries are required to be processed by
 * ToUnicode operation before displaying the domain name to the user.
 * IDNA requires that implementations process input strings with Nameprep
 * (http://www.ietf.org/rfc/rfc3491.txt), 
 * which is a profile of Stringprep (http://www.ietf.org/rfc/rfc3454.txt), 
 * and then with Punycode (http://www.ietf.org/rfc/rfc3492.txt). 
 * Implementations of IDNA MUST fully implement Nameprep and Punycode; 
 * neither Nameprep nor Punycode are optional.
 * The input and output of ToASCII and ToUnicode operations are Unicode 
 * and are designed to be chainable, i.e., applying ToASCII or ToUnicode operations
 * multiple times to an input string will yield the same result as applying the operation
 * once.
 * ToUnicode(ToUnicode(ToUnicode...(ToUnicode(string)))) == ToUnicode(string) 
 * ToASCII(ToASCII(ToASCII...(ToASCII(string))) == ToASCII(string).
 *
 */

 =======================================================================
 ==uimacpp/include/unicode/uintrnal.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: genheaders.pl, a perl script written by Ram Viswanadha
*
*  Contains data for commenting out APIs.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef UINTRNAL_H
#define UINTRNAL_H

#ifdef U_HIDE_INTERNAL_API

#    if U_DISABLE_RENAMING
#        define RegexPatternDump RegexPatternDump_INTERNAL_API_DO_NOT_USE
#        define ucol_collatorToIdentifier ucol_collatorToIdentifier_INTERNAL_API_DO_NOT_USE
#        define ucol_equals ucol_equals_INTERNAL_API_DO_NOT_USE
#        define ucol_forgetUCA ucol_forgetUCA_INTERNAL_API_DO_NOT_USE
#        define ucol_getAttributeOrDefault ucol_getAttributeOrDefault_INTERNAL_API_DO_NOT_USE
#        define ucol_getUnsafeSet ucol_getUnsafeSet_INTERNAL_API_DO_NOT_USE
#        define ucol_identifierToShortString ucol_identifierToShortString_INTERNAL_API_DO_NOT_USE
#        define ucol_openFromIdentifier ucol_openFromIdentifier_INTERNAL_API_DO_NOT_USE
#        define ucol_prepareShortStringOpen ucol_prepareShortStringOpen_INTERNAL_API_DO_NOT_USE
#        define ucol_shortStringToIdentifier ucol_shortStringToIdentifier_INTERNAL_API_DO_NOT_USE
#        define uprv_getDefaultCodepage uprv_getDefaultCodepage_INTERNAL_API_DO_NOT_USE
#        define uprv_getDefaultLocaleID uprv_getDefaultLocaleID_INTERNAL_API_DO_NOT_USE
#        define ures_openFillIn ures_openFillIn_INTERNAL_API_DO_NOT_USE
#        define utf8_appendCharSafeBody utf8_appendCharSafeBody_INTERNAL_API_DO_NOT_USE
#        define utf8_back1SafeBody utf8_back1SafeBody_INTERNAL_API_DO_NOT_USE
#        define utf8_countTrailBytes utf8_countTrailBytes_INTERNAL_API_DO_NOT_USE
#        define utf8_nextCharSafeBody utf8_nextCharSafeBody_INTERNAL_API_DO_NOT_USE
#        define utf8_prevCharSafeBody utf8_prevCharSafeBody_INTERNAL_API_DO_NOT_USE
#    else
#        define RegexPatternDump_3_6 RegexPatternDump_INTERNAL_API_DO_NOT_USE
#        define ucol_collatorToIdentifier_3_6 ucol_collatorToIdentifier_INTERNAL_API_DO_NOT_USE
#        define ucol_equals_3_6 ucol_equals_INTERNAL_API_DO_NOT_USE
#        define ucol_forgetUCA_3_6 ucol_forgetUCA_INTERNAL_API_DO_NOT_USE
#        define ucol_getAttributeOrDefault_3_6 ucol_getAttributeOrDefault_INTERNAL_API_DO_NOT_USE

 =======================================================================
 ==uimacpp/include/unicode/uiter.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2002-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uiter.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2002jan18
*   created by: Markus W. Scherer
*/

#ifndef __UITER_H__
#define __UITER_H__

/**
 * \file
 * \brief C API: Unicode Character Iteration
 *
 * @see UCharIterator
 */

#include "unicode/utypes.h"

#ifdef XP_CPLUSPLUS
    U_NAMESPACE_BEGIN

    class CharacterIterator;
    class Replaceable;

    U_NAMESPACE_END
#endif

U_CDECL_BEGIN

struct UCharIterator;
typedef struct UCharIterator UCharIterator; /**< C typedef for struct UCharIterator. @stable ICU 2.1 */

/**
 * Origin constants for UCharIterator.getIndex() and UCharIterator.move().
 * @see UCharIteratorMove
 * @see UCharIterator
 * @stable ICU 2.1
 */
typedef enum UCharIteratorOrigin {
    UITER_START, UITER_CURRENT, UITER_LIMIT, UITER_ZERO, UITER_LENGTH

 =======================================================================
 ==uimacpp/include/unicode/uloc.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File ULOC.H
*
* Modification History:
*
*   Date        Name        Description
*   04/01/97    aliu        Creation.
*   08/22/98    stephen     JDK 1.2 sync.
*   12/08/98    rtg         New C API for Locale
*   03/30/99    damiba      overhaul
*   03/31/99    helena      Javadoc for uloc functions.
*   04/15/99    Madhu       Updated Javadoc
********************************************************************************
*/

#ifndef ULOC_H
#define ULOC_H

#include "unicode/utypes.h"
#include "unicode/uenum.h"

/**    
 * \file
 * \brief  C API: Locale 
 *
 * <h2> ULoc C API for Locale </h2>
 * A <code>Locale</code> represents a specific geographical, political,
 * or cultural region. An operation that requires a <code>Locale</code> to perform
 * its task is called <em>locale-sensitive</em> and uses the <code>Locale</code>
 * to tailor information for the user. For example, displaying a number
 * is a locale-sensitive operation--the number should be formatted
 * according to the customs/conventions of the user's native country,
 * region, or culture.  In the C APIs, a locales is simply a const char string.
 *
 * <P>
 * You create a <code>Locale</code> with one of the three options listed below.
 * Each of the component is separated by '_' in the locale string.
 * \htmlonly<blockquote>\endhtmlonly
 * <pre>
 * \code
 *       newLanguage
 * 
 *       newLanguage + newCountry
 * 
 *       newLanguage + newCountry + newVariant

 =======================================================================
 ==uimacpp/include/unicode/ulocdata.h
 =======================================================================
/*
******************************************************************************
*                                                                            *
* Copyright (C) 2003-2006, International Business Machines                   *
*                Corporation and others. All Rights Reserved.                *
*                                                                            *
******************************************************************************
*   file name:  ulocdata.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2003Oct21
*   created by: Ram Viswanadha
*/

#ifndef __ULOCDATA_H__
#define __ULOCDATA_H__

#include "unicode/ures.h"
#include "unicode/uloc.h"
#include "unicode/uset.h"

/**
 * \file
 * \brief C API: Provides access to locale data. 
 */

/** Forward declaration of the ULocaleData structure. @draft ICU 3.6 */
struct ULocaleData;

/** A locale data object. @draft ICU 3.6 */
typedef struct ULocaleData ULocaleData;



/** The possible types of exemplar character sets.
  * @draft ICU 3.4
  */
typedef enum ULocaleDataExemplarSetType  {
#ifndef U_HIDE_DRAFT_API 
     ULOCDATA_ES_STANDARD=0,      /* Basic set */
     ULOCDATA_ES_AUXILIARY=1,     /* Auxiliary set */
#endif
     ULOCDATA_ES_COUNT=3
} ULocaleDataExemplarSetType;

/** The possible types of delimiters.
  * @draft ICU 3.4
  */

 =======================================================================
 ==uimacpp/include/unicode/umachine.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*   file name:  umachine.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep13
*   created by: Markus W. Scherer
*
*   This file defines basic types and constants for utf.h to be
*   platform-independent. umachine.h and utf.h are included into
*   utypes.h to provide all the general definitions for ICU.
*   All of these definitions used to be in utypes.h before
*   the UTF-handling macros made this unmaintainable.
*/

#ifndef __UMACHINE_H__
#define __UMACHINE_H__


/**
 * \file
 * \brief Basic types and constants for UTF 
 * 
 * <h2> Basic types and constants for UTF </h2>
 *   This file defines basic types and constants for utf.h to be
 *   platform-independent. umachine.h and utf.h are included into
 *   utypes.h to provide all the general definitions for ICU.
 *   All of these definitions used to be in utypes.h before
 *   the UTF-handling macros made this unmaintainable.
 * 
 */
/*==========================================================================*/
/* Include platform-dependent definitions                                   */
/* which are contained in the platform-specific file platform.h             */
/*==========================================================================*/

#if defined(U_PALMOS)
#   include "unicode/ppalmos.h"
#elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
#   include "unicode/pwin32.h"
#else
#   include "unicode/platform.h"
#endif

 =======================================================================
 ==uimacpp/include/unicode/umisc.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   file name:  umisc.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999oct15
*   created by: Markus W. Scherer
*/

#ifndef UMISC_H
#define UMISC_H

#include "unicode/utypes.h"

/**
 * \file
 * \brief  C API:misc definitions 
 *
 *  This file contains miscellaneous definitions for the C APIs. 
 */

U_CDECL_BEGIN

/** A struct representing a range of text containing a specific field 
 *  @stable ICU 2.0
 */
typedef struct UFieldPosition {
  /**
   * The field 
   * @stable ICU 2.0
   */
  int32_t field;
  /**
   * The start of the text range containing field 
   * @stable ICU 2.0
   */
  int32_t beginIndex;
  /** 
   * The limit of the text range containing field 
   * @stable ICU 2.0
   */
  int32_t endIndex;
} UFieldPosition;

#if !UCONFIG_NO_SERVICE

 =======================================================================
 ==uimacpp/include/unicode/umsg.h
 =======================================================================
/*
*******************************************************************************
* Copyright (C) 1996-2006, International Business Machines Corporation
* and others. All Rights Reserved.
*******************************************************************************
*
*   file name:  umsg.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Change history:
*
*   08/5/2001  Ram         Added C wrappers for C++ API.
*                          
*
*/

#ifndef UMSG_H
#define UMSG_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/uloc.h"
#include "unicode/parseerr.h"
#include <stdarg.h>
/**
 * \file
 * \brief C API: MessageFormat
 *
 * <h2>Message Format C API </h2>
 *
 * Provides means to produce concatenated messages in language-neutral way.
 * Use this for all concatenations that show up to end users.
 * <P>
 * Takes a set of objects, formats them, then inserts the formatted
 * strings into the pattern at the appropriate places.
 * <P>
 * Here are some examples of usage:
 * Example 1:
 * <pre>
 * \code
 *     UChar *result, *tzID, *str;
 *     UChar pattern[100];
 *     int32_t resultLengthOut, resultlength;
 *     UCalendar *cal;
 *     UDate d1;
 *     UDateFormat *def1;

 =======================================================================
 ==uimacpp/include/unicode/unifilt.h
 =======================================================================
/*
**********************************************************************
* Copyright (C) 1999-2006, International Business Machines Corporation and others.
* All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   11/17/99    aliu        Creation.
**********************************************************************
*/
#ifndef UNIFILT_H
#define UNIFILT_H

#include "unicode/unifunct.h"
#include "unicode/unimatch.h"

/**
 * \file 
 * \brief C++ API: Unicode Filter
 */

U_NAMESPACE_BEGIN

/**
 * U_ETHER is used to represent character values for positions outside
 * a range.  For example, transliterator uses this to represent
 * characters outside the range contextStart..contextLimit-1.  This
 * allows explicit matching by rules and UnicodeSets of text outside a
 * defined range.
 * @stable ICU 3.0
 */
#define U_ETHER ((UChar)0xFFFF)

/**
 *
 * <code>UnicodeFilter</code> defines a protocol for selecting a
 * subset of the full range (U+0000 to U+10FFFF) of Unicode characters.
 * Currently, filters are used in conjunction with classes like {@link
 * Transliterator} to only process selected characters through a
 * transformation.
 *
 * <p>Note: UnicodeFilter currently stubs out two pure virtual methods
 * of its base class, UnicodeMatcher.  These methods are toPattern()
 * and matchesIndexValue().  This is done so that filter classes that
 * are not actually used as matchers -- specifically, those in the
 * UnicodeFilterLogic component, and those in tests -- can continue to
 * work without defining these methods.  As long as a filter is not
 * used in an RBT during real transliteration, these methods will not
 * be called.  However, this breaks the UnicodeMatcher base class
 * protocol, and it is not a correct solution.
 *

 =======================================================================
 ==uimacpp/include/unicode/unifunct.h
 =======================================================================
/*
**********************************************************************
*   Copyright (c) 2002-2005, International Business Machines Corporation
*   and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   01/14/2002  aliu        Creation.
**********************************************************************
*/
#ifndef UNIFUNCT_H
#define UNIFUNCT_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"

/**
 * \file 
 * \brief C++ API: Unicode Functor
 */
 
U_NAMESPACE_BEGIN

class UnicodeMatcher;
class UnicodeReplacer;
class TransliterationRuleData;

/**
 * <code>UnicodeFunctor</code> is an abstract base class for objects
 * that perform match and/or replace operations on Unicode strings.
 * @author Alan Liu
 * @stable ICU 2.4
 */
class U_COMMON_API UnicodeFunctor : public UObject {

public:

    /**
     * Destructor
     * @stable ICU 2.4
     */
    virtual ~UnicodeFunctor();

    /**
     * Return a copy of this object.  All UnicodeFunctor objects
     * have to support cloning in order to allow classes using
     * UnicodeFunctor to implement cloning.
     * @stable ICU 2.4
     */
    virtual UnicodeFunctor* clone() const = 0;


 =======================================================================
 ==uimacpp/include/unicode/unimatch.h
 =======================================================================
/*
* Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   07/18/01    aliu        Creation.
**********************************************************************
*/
#ifndef UNIMATCH_H
#define UNIMATCH_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: Unicode Matcher
 */


U_NAMESPACE_BEGIN

class Replaceable;
class UnicodeString;
class UnicodeSet;

/**
 * Constants returned by <code>UnicodeMatcher::matches()</code>
 * indicating the degree of match.
 * @stable ICU 2.4
 */
enum UMatchDegree {
    /**
     * Constant returned by <code>matches()</code> indicating a
     * mismatch between the text and this matcher.  The text contains
     * a character which does not match, or the text does not contain
     * all desired characters for a non-incremental match.
     * @stable ICU 2.4
     */
    U_MISMATCH,
    
    /**
     * Constant returned by <code>matches()</code> indicating a
     * partial match between the text and this matcher.  This value is
     * only returned for incremental match operations.  All characters
     * of the text match, but more characters are required for a
     * complete match.  Alternatively, for variable-length matchers,
     * all characters of the text match, and if more characters were
     * supplied at limit, they might also match.
     * @stable ICU 2.4
     */
    U_PARTIAL_MATCH,

 =======================================================================
 ==uimacpp/include/unicode/unirepl.h
 =======================================================================
/*
**********************************************************************
*   Copyright (c) 2002-2005, International Business Machines Corporation
*   and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   01/14/2002  aliu        Creation.
**********************************************************************
*/
#ifndef UNIREPL_H
#define UNIREPL_H

#include "unicode/utypes.h"

/**
 * \file 
 * \brief C++ API: UnicodeReplacer
 */

U_NAMESPACE_BEGIN

class Replaceable;
class UnicodeString;
class UnicodeSet;

/**
 * <code>UnicodeReplacer</code> defines a protocol for objects that
 * replace a range of characters in a Replaceable string with output
 * text.  The replacement is done via the Replaceable API so as to
 * preserve out-of-band data.
 *
 * <p>This is a mixin class.
 * @author Alan Liu
 * @stable ICU 2.4
 */
class U_I18N_API UnicodeReplacer /* not : public UObject because this is an interface/mixin class */ {

 public:

    /**
     * Destructor.
     * @stable ICU 2.4
     */
    virtual ~UnicodeReplacer();

    /**
     * Replace characters in 'text' from 'start' to 'limit' with the
     * output text of this object.  Update the 'cursor' parameter to
     * give the cursor position and return the length of the
     * replacement text.

 =======================================================================
 ==uimacpp/include/unicode/uniset.h
 =======================================================================
/*
***************************************************************************
* Copyright (C) 1999-2006, International Business Machines Corporation
* and others. All Rights Reserved.
***************************************************************************
*   Date        Name        Description
*   10/20/99    alan        Creation.
***************************************************************************
*/

#ifndef UNICODESET_H
#define UNICODESET_H

#include "unicode/unifilt.h"
#include "unicode/unistr.h"
#include "unicode/uset.h"

/**
 * \file 
 * \brief C++ API: Unicode Set
 */
 
U_NAMESPACE_BEGIN

class ParsePosition;
class SymbolTable;
class UVector;
class RuleCharacterIterator;

/**
 * A mutable set of Unicode characters and multicharacter strings.  Objects of this class
 * represent <em>character classes</em> used in regular expressions.
 * A character specifies a subset of Unicode code points.  Legal
 * code points are U+0000 to U+10FFFF, inclusive.
 *
 * <p>The UnicodeSet class is not designed to be subclassed.
 *
 * <p><code>UnicodeSet</code> supports two APIs. The first is the
 * <em>operand</em> API that allows the caller to modify the value of
 * a <code>UnicodeSet</code> object. It conforms to Java 2's
 * <code>java.util.Set</code> interface, although
 * <code>UnicodeSet</code> does not actually implement that
 * interface. All methods of <code>Set</code> are supported, with the
 * modification that they take a character range or single character
 * instead of an <code>Object</code>, and they take a
 * <code>UnicodeSet</code> instead of a <code>Collection</code>.  The
 * operand API may be thought of in terms of boolean logic: a boolean
 * OR is implemented by <code>add</code>, a boolean AND is implemented
 * by <code>retain</code>, a boolean XOR is implemented by
 * <code>complement</code> taking an argument, and a boolean NOT is

 =======================================================================
 ==uimacpp/include/unicode/unistr.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1998-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File unistr.h
*
* Modification History:
*
*   Date        Name        Description
*   09/25/98    stephen     Creation.
*   11/11/98    stephen     Changed per 11/9 code review.
*   04/20/99    stephen     Overhauled per 4/16 code review.
*   11/18/99    aliu        Made to inherit from Replaceable.  Added method
*                           handleReplaceBetween(); other methods unchanged.
*   06/25/01    grhoten     Remove dependency on iostream.
******************************************************************************
*/

#ifndef UNISTR_H
#define UNISTR_H

/**
 * \file 
 * \brief C++ API: Unicode String 
 */

#include "unicode/rep.h"

struct UConverter;          // unicode/ucnv.h
class  StringThreadTest;

#ifndef U_COMPARE_CODE_POINT_ORDER
/* see also ustring.h and unorm.h */
/**
 * Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc:
 * Compare strings in code point order instead of code unit order.
 * @stable ICU 2.2
 */
#define U_COMPARE_CODE_POINT_ORDER  0x8000
#endif

#ifndef USTRING_H
/**
 * \ingroup ustring_ustrlen
 */
U_STABLE int32_t U_EXPORT2
u_strlen(const UChar *s);
#endif

 =======================================================================
 ==uimacpp/include/unicode/unorm.h
 =======================================================================
/*
*******************************************************************************
* Copyright (c) 1996-2005, International Business Machines Corporation
*               and others. All Rights Reserved.
*******************************************************************************
* File unorm.h
*
* Created by: Vladimir Weinstein 12052000
*
* Modification history :
*
* Date        Name        Description
* 02/01/01    synwee      Added normalization quickcheck enum and method.
*/
#ifndef UNORM_H
#define UNORM_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_NORMALIZATION

#include "unicode/uiter.h"

/**
 * \file
 * \brief C API: Unicode Normalization 
 *
 * <h2>Unicode normalization API</h2>
 *
 * <code>unorm_normalize</code> transforms Unicode text into an equivalent composed or
 * decomposed form, allowing for easier sorting and searching of text.
 * <code>unorm_normalize</code> supports the standard normalization forms described in
 * <a href="http://www.unicode.org/unicode/reports/tr15/" target="unicode">
 * Unicode Standard Annex #15: Unicode Normalization Forms</a>.
 *
 * Characters with accents or other adornments can be encoded in
 * several different ways in Unicode.  For example, take the character A-acute.
 * In Unicode, this can be encoded as a single character (the
 * "composed" form):
 *
 * \code
 *      00C1    LATIN CAPITAL LETTER A WITH ACUTE
 * \endcode
 *
 * or as two separate characters (the "decomposed" form):
 *
 * \code
 *      0041    LATIN CAPITAL LETTER A
 *      0301    COMBINING ACUTE ACCENT
 * \endcode

 =======================================================================
 ==uimacpp/include/unicode/unum.h
 =======================================================================
/*
*******************************************************************************
* Copyright (C) 1997-2006, International Business Machines Corporation and others.
* All Rights Reserved.
* Modification History:
*
*   Date        Name        Description
*   06/24/99    helena      Integrated Alan's NF enhancements and Java2 bug fixes
*******************************************************************************
*/

#ifndef _UNUM
#define _UNUM

#include "unicode/utypes.h"

#if !UCONFIG_NO_FORMATTING

#include "unicode/uloc.h"
#include "unicode/umisc.h"
#include "unicode/parseerr.h"
/**
 * \file
 * \brief C API: NumberFormat
 *
 * <h2> Number Format C API </h2>
 *
 * Number Format C API  Provides functions for
 * formatting and parsing a number.  Also provides methods for
 * determining which locales have number formats, and what their names
 * are.
 * <P>
 * UNumberFormat helps you to format and parse numbers for any locale.
 * Your code can be completely independent of the locale conventions
 * for decimal points, thousands-separators, or even the particular
 * decimal digits used, or whether the number format is even decimal.
 * There are different number format styles like decimal, currency,
 * percent and spellout.
 * <P>
 * To format a number for the current Locale, use one of the static
 * factory methods:
 * <pre>
 * \code
 *    UChar myString[20];
 *    double myNumber = 7.0;
 *    UErrorCode status = U_ZERO_ERROR;
 *    UNumberFormat* nf = unum_open(UNUM_DEFAULT, NULL, -1, NULL, NULL, &status);
 *    unum_formatDouble(nf, myNumber, myString, 20, NULL, &status);
 *    printf(" Example 1: %s\n", austrdup(myString) ); //austrdup( a function used to convert UChar* to char*)
 * \endcode

 =======================================================================
 ==uimacpp/include/unicode/uobject.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*   file name:  uobject.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2002jun26
*   created by: Markus W. Scherer
*/

#ifndef __UOBJECT_H__
#define __UOBJECT_H__

#include "unicode/utypes.h"

U_NAMESPACE_BEGIN

/**
 * \file
 * \brief C++ API: Common ICU base class UObject.
 */

/**  U_OVERRIDE_CXX_ALLOCATION - Define this to override operator new and
 *                               delete in UMemory. Enabled by default for ICU.
 *
 *         Enabling forces all allocation of ICU object types to use ICU's
 *         memory allocation. On Windows, this allows the ICU DLL to be used by
 *         applications that statically link the C Runtime library, meaning that
 *         the app and ICU will be using different heaps.
 *
 * @stable ICU 2.2
 */                              
#ifndef U_OVERRIDE_CXX_ALLOCATION
#define U_OVERRIDE_CXX_ALLOCATION 1
#endif

/**  U_HAVE_PLACEMENT_NEW - Define this to define the placement new and
 *                          delete in UMemory for STL.
 *
 * @stable ICU 2.6
 */                              
#ifndef U_HAVE_PLACEMENT_NEW
#define U_HAVE_PLACEMENT_NEW 1
#endif

 =======================================================================
 ==uimacpp/include/unicode/uobslete.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: genheaders.pl, a perl script written by Ram Viswanadha
*
*  Contains data for commenting out APIs.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef UOBSLETE_H
#define UOBSLETE_H

#ifdef U_HIDE_OBSOLETE_API

#    if U_DISABLE_RENAMING
#    else
#    endif /* U_DISABLE_RENAMING */

#endif /* U_HIDE_OBSOLETE_API */
#endif /* UOBSLETE_H */


 =======================================================================
 ==uimacpp/include/unicode/uregex.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   file name:  regex.h
*   encoding:   US-ASCII
*   indentation:4
*
*   created on: 2004mar09
*   created by: Andy Heninger
*
*   ICU Regular Expressions, API for C
*/

/**
 * \file
 * \brief C API: Regular Expressions
 *
 * <p>This is a C wrapper around the C++ RegexPattern and RegexMatcher classes.</p>
 */

#ifndef UREGEX_H
#define UREGEX_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_REGULAR_EXPRESSIONS

#include "unicode/parseerr.h"

struct URegularExpression;
/**
  * Structure represeting a compiled regular rexpression, plus the results
  *    of a match operation.
  * @stable ICU 3.0
  */
typedef struct URegularExpression URegularExpression;


/**
 * Constants for Regular Expression Match Modes.
 * @stable ICU 2.4
 */
typedef enum URegexpFlag{

#ifndef U_HIDE_DRAFT_API 
    /** Forces normalization of pattern and strings. 
    Not implemented yet, just a placeholder, hence draft. 
    @draft ICU 2.4 */

 =======================================================================
 ==uimacpp/include/unicode/urename.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  urename.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: Perl script written by Vladimir Weinstein
*
*  Contains data for renaming ICU exports.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef URENAME_H
#define URENAME_H

/* Uncomment the following line to disable renaming on platforms
   that do not use Autoconf. */
/* #define U_DISABLE_RENAMING 1 */

#if !U_DISABLE_RENAMING

/* C exports renaming data */

#define T_CString_int64ToString T_CString_int64ToString_3_6
#define T_CString_integerToString T_CString_integerToString_3_6
#define T_CString_stricmp T_CString_stricmp_3_6
#define T_CString_stringToInteger T_CString_stringToInteger_3_6
#define T_CString_strnicmp T_CString_strnicmp_3_6
#define T_CString_toLowerCase T_CString_toLowerCase_3_6
#define T_CString_toUpperCase T_CString_toUpperCase_3_6
#define UCNV_FROM_U_CALLBACK_ESCAPE UCNV_FROM_U_CALLBACK_ESCAPE_3_6
#define UCNV_FROM_U_CALLBACK_SKIP UCNV_FROM_U_CALLBACK_SKIP_3_6
#define UCNV_FROM_U_CALLBACK_STOP UCNV_FROM_U_CALLBACK_STOP_3_6
#define UCNV_FROM_U_CALLBACK_SUBSTITUTE UCNV_FROM_U_CALLBACK_SUBSTITUTE_3_6
#define UCNV_TO_U_CALLBACK_ESCAPE UCNV_TO_U_CALLBACK_ESCAPE_3_6
#define UCNV_TO_U_CALLBACK_SKIP UCNV_TO_U_CALLBACK_SKIP_3_6
#define UCNV_TO_U_CALLBACK_STOP UCNV_TO_U_CALLBACK_STOP_3_6
#define UCNV_TO_U_CALLBACK_SUBSTITUTE UCNV_TO_U_CALLBACK_SUBSTITUTE_3_6
#define UDataMemory_createNewInstance UDataMemory_createNewInstance_3_6
#define UDataMemory_init UDataMemory_init_3_6
#define UDataMemory_isLoaded UDataMemory_isLoaded_3_6
#define UDataMemory_normalizeDataPointer UDataMemory_normalizeDataPointer_3_6

 =======================================================================
 ==uimacpp/include/unicode/urep.h
 =======================================================================
/*
******************************************************************************
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
******************************************************************************
*   Date        Name        Description
*   06/23/00    aliu        Creation.
******************************************************************************
*/

#ifndef __UREP_H
#define __UREP_H

#include "unicode/utypes.h"

U_CDECL_BEGIN

/********************************************************************
 * General Notes
 ********************************************************************
 * TODO
 * Add usage scenario
 * Add test code
 * Talk about pinning
 * Talk about "can truncate result if out of memory"
 */

/********************************************************************
 * Data Structures
 ********************************************************************/
/**
 * \file
 * \brief C API: Callbacks for UReplacebale
 */
/**
 * An opaque replaceable text object.  This will be manipulated only
 * through the caller-supplied UReplaceableFunctor struct.  Related
 * to the C++ class Replaceable.
 * This is currently only used in the Transliterator C API, see utrans.h .
 * @stable ICU 2.0
 */
typedef void* UReplaceable;

/**
 * A set of function pointers that transliterators use to manipulate a
 * UReplaceable.  The caller should supply the required functions to
 * manipulate their text appropriately.  Related to the C++ class
 * Replaceable.
 * @stable ICU 2.0
 */

 =======================================================================
 ==uimacpp/include/unicode/ures.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File URES.H (formerly CRESBUND.H)
*
* Modification History:
*
*   Date        Name        Description
*   04/01/97    aliu        Creation.
*   02/22/99    damiba      overhaul.
*   04/04/99    helena      Fixed internal header inclusion.
*   04/15/99    Madhu       Updated Javadoc  
*   06/14/99    stephen     Removed functions taking a filename suffix.
*   07/20/99    stephen     Language-independent ypedef to void*
*   11/09/99    weiv        Added ures_getLocale()
*   06/24/02    weiv        Added support for resource sharing
******************************************************************************
*/

#ifndef URES_H
#define URES_H

#include "unicode/utypes.h"
#include "unicode/uloc.h"

/**
 * \file
 * \brief C API: Resource Bundle 
 *
 * <h2>C API: Resource Bundle</h2>
 *
 * C API representing a collection of resource information pertaining to a given
 * locale. A resource bundle provides a way of accessing locale- specific information in
 * a data file. You create a resource bundle that manages the resources for a given
 * locale and then ask it for individual resources.
 * <P>
 * Resource bundles in ICU4C are currently defined using text files which conform to the following
 * <a href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/~checkout~/icuhtml/design/bnf_rb.txt">BNF definition</a>.
 * More on resource bundle concepts and syntax can be found in the 
 * <a href="http://icu.sourceforge.net/userguide/ResourceManagement.html">Users Guide</a>.
 * <P>
 */

/**
 * UResourceBundle is an opaque type for handles for resource bundles in C APIs.
 * @stable ICU 2.0
 */

 =======================================================================
 ==uimacpp/include/unicode/uscript.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1997-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File USCRIPT.H
*
* Modification History:
*
*   Date        Name        Description
*   07/06/2001    Ram         Creation.
******************************************************************************
*/
#ifndef USCRIPT_H
#define USCRIPT_H
#include "unicode/utypes.h"

/**
 * \file
 * \brief C API: Unicode Script Information
 */
 
/**
 * Constants for ISO 15924 script codes.
 *
 * Many of these script codes - those from Unicode's ScriptNames.txt -
 * are character property values for Unicode's Script property.
 * See UAX #24 Script Names (http://www.unicode.org/reports/tr24/).
 *
 * Starting with ICU 3.6, constants for most ISO 15924 script codes
 * are included (currently excluding private-use codes Qaaa..Qabx).
 * For scripts for which there are codes in ISO 15924 but which are not
 * used in the Unicode Character Database (UCD), there are no Unicode characters
 * associated with those scripts.
 *
 * For example, there are no characters that have a UCD script code of
 * Hans or Hant. All Han ideographs have the Hani script code.
 * The Hans and Hant script codes are used with CLDR data.
 *
 * ISO 15924 script codes are included for use with CLDR and similar.
 *
 * @stable ICU 2.2
 */
typedef enum UScriptCode {
      USCRIPT_INVALID_CODE = -1,
      USCRIPT_COMMON       =  0 , /* Zyyy */
      USCRIPT_INHERITED    =  1,  /* Qaai */
      USCRIPT_ARABIC       =  2,  /* Arab */
      USCRIPT_ARMENIAN     =  3,  /* Armn */

 =======================================================================
 ==uimacpp/include/unicode/usearch.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2001-2005 IBM and others. All rights reserved.
**********************************************************************
*   Date        Name        Description
*  06/28/2001   synwee      Creation.
**********************************************************************
*/
#ifndef USEARCH_H
#define USEARCH_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_COLLATION

#include "unicode/ucol.h"
#include "unicode/ucoleitr.h"
#include "unicode/ubrk.h"

/**
 * \file
 * \brief C API: StringSearch
 *
 * C Apis for an engine that provides language-sensitive text searching based 
 * on the comparison rules defined in a <tt>UCollator</tt> data struct,
 * see <tt>ucol.h</tt>. This ensures that language eccentricity can be 
 * handled, e.g. for the German collator, characters &szlig; and SS will be matched 
 * if case is chosen to be ignored. 
 * See the <a href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/~checkout~/icuhtml/design/collation/ICU_collation_design.htm">
 * "ICU Collation Design Document"</a> for more information.
 * <p> 
 * The algorithm implemented is a modified form of the Boyer Moore's search.
 * For more information  see 
 * <a href="http://icu.sourceforge.net/docs/papers/efficient_text_searching_in_java.html">
 * "Efficient Text Searching in Java"</a>, published in <i>Java Report</i> 
 * in February, 1999, for further information on the algorithm.
 * <p>
 * There are 2 match options for selection:<br>
 * Let S' be the sub-string of a text string S between the offsets start and 
 * end <start, end>.
 * <br>
 * A pattern string P matches a text string S at the offsets <start, end> 
 * if
 * <pre> 
 * option 1. Some canonical equivalent of P matches some canonical equivalent 
 *           of S'
 * option 2. P matches S' and if P starts or ends with a combining mark, 
 *           there exists no non-ignorable combining mark before or after S' 
 *           in S respectively. 
 * </pre>

 =======================================================================
 ==uimacpp/include/unicode/uset.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2002-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uset.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2002mar07
*   created by: Markus W. Scherer
*
*   C version of UnicodeSet.
*/


/**
 * \file
 * \brief C API: Unicode Set
 *
 * <p>This is a C wrapper around the C++ UnicodeSet class.</p>
 */

#ifndef __USET_H__
#define __USET_H__

#include "unicode/utypes.h"
#include "unicode/uchar.h"

#ifndef UCNV_H
struct USet;
/**
 * A UnicodeSet.  Use the uset_* API to manipulate.  Create with
 * uset_open*, and destroy with uset_close.
 * @stable ICU 2.4
 */
typedef struct USet USet;
#endif

/**
 * Bitmask values to be passed to uset_openPatternOptions() or
 * uset_applyPattern() taking an option parameter.
 * @stable ICU 2.4
 */
enum {
    /**
     * Ignore white space within patterns unless quoted or escaped.

 =======================================================================
 ==uimacpp/include/unicode/usetiter.h
 =======================================================================
/*
**********************************************************************
* Copyright (c) 2002-2006, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
*/
#ifndef USETITER_H
#define USETITER_H

#include "unicode/utypes.h"
#include "unicode/uobject.h"
#include "unicode/unistr.h"

/**
 * \file 
 * \brief C++ API: UnicodeSetIterator iterates over the contents of a UnicodeSet.
 */

U_NAMESPACE_BEGIN

class UnicodeSet;
class UnicodeString;

/**
 *
 * UnicodeSetIterator iterates over the contents of a UnicodeSet.  It
 * iterates over either code points or code point ranges.  After all
 * code points or ranges have been returned, it returns the
 * multicharacter strings of the UnicodSet, if any.
 *
 * This class is not intended to be subclassed.  Consider any fields
 *  or methods declared as "protected" to be private.  The use of
 *  protected in this class is an artifact of history.
 *
 * <p>To iterate over code points and strings, use a loop like this:
 * <pre>
 * UnicodeSetIterator it(set);
 * while (set.next()) {
 *     processItem(set.getString());
 * }
 * </pre>
 * <p>Each item in the set is accessed as a string.  Set elements
 *    consisting of single code points are returned as strings containing
 *    just the one code point.
 *
 * <p>To iterate over code point ranges, instead of individual code points,
 *    use a loop like this:
 * <pre>
 * UnicodeSetIterator it(set);
 * while (it.nextRange()) {

 =======================================================================
 ==uimacpp/include/unicode/ushape.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 2000-2004, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*   file name:  ushape.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2000jun29
*   created by: Markus W. Scherer
*/

#ifndef __USHAPE_H__
#define __USHAPE_H__

#include "unicode/utypes.h"

/**
 * \file
 * \brief C API:  Arabic shaping
 * 
 */

/**
 * Shape Arabic text on a character basis.
 *
 * <p>This function performs basic operations for "shaping" Arabic text. It is most
 * useful for use with legacy data formats and legacy display technology
 * (simple terminals). All operations are performed on Unicode characters.</p>
 *
 * <p>Text-based shaping means that some character code points in the text are
 * replaced by others depending on the context. It transforms one kind of text
 * into another. In comparison, modern displays for Arabic text select
 * appropriate, context-dependent font glyphs for each text element, which means
 * that they transform text into a glyph vector.</p>
 *
 * <p>Text transformations are necessary when modern display technology is not
 * available or when text needs to be transformed to or from legacy formats that
 * use "shaped" characters. Since the Arabic script is cursive, connecting
 * adjacent letters to each other, computers select images for each letter based
 * on the surrounding letters. This usually results in four images per Arabic
 * letter: initial, middle, final, and isolated forms. In Unicode, on the other
 * hand, letters are normally stored abstract, and a display system is expected
 * to select the necessary glyphs. (This makes searching and other text
 * processing easier because the same letter has only one code.) It is possible
 * to mimic this with text transformations because there are characters in

 =======================================================================
 ==uimacpp/include/unicode/usprep.h
 =======================================================================
/*
 *******************************************************************************
 *
 *   Copyright (C) 2003-2006, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  usprep.h
 *   encoding:   US-ASCII
 *   tab size:   8 (not used)
 *   indentation:4
 *
 *   created on: 2003jul2
 *   created by: Ram Viswanadha
 */

#ifndef __USPREP_H__
#define __USPREP_H__

/**
 * \file 
 * \brief C API: Implements the StringPrep algorithm.
 */

#include "unicode/utypes.h"
/**
 *
 * StringPrep API implements the StingPrep framework as described by RFC 3454.
 * StringPrep prepares Unicode strings for use in network protocols.
 * Profiles of StingPrep are set of rules and data according to with the
 * Unicode Strings are prepared. Each profiles contains tables which describe
 * how a code point should be treated. The tables are broadly classied into
 * <ul>
 *     <li> Unassinged Table: Contains code points that are unassigned 
 *          in the Unicode Version supported by StringPrep. Currently 
 *          RFC 3454 supports Unicode 3.2. </li>
 *     <li> Prohibited Table: Contains code points that are prohibted from
 *          the output of the StringPrep processing function. </li>
 *     <li> Mapping Table: Contains code ponts that are deleted from the output or case mapped. </li>
 * </ul>
 * 
 * The procedure for preparing Unicode strings:
 * <ol>
 *      <li> Map: For each character in the input, check if it has a mapping
 *           and, if so, replace it with its mapping. </li>
 *      <li> Normalize: Possibly normalize the result of step 1 using Unicode
 *           normalization. </li>
 *      <li> Prohibit: Check for any characters that are not allowed in the
 *        output.  If any are found, return an error.</li>
 *      <li> Check bidi: Possibly check for right-to-left characters, and if

 =======================================================================
 ==uimacpp/include/unicode/ustdio.h
 =======================================================================
/*
******************************************************************************
*
*   Copyright (C) 1998-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
******************************************************************************
*
* File ustdio.h
*
* Modification History:
*
*   Date        Name        Description
*   10/16/98    stephen     Creation.
*   11/06/98    stephen     Modified per code review.
*   03/12/99    stephen     Modified for new C API.
*   07/19/99    stephen     Minor doc update.
*   02/01/01    george      Added sprintf & sscanf with all of its variants
******************************************************************************
*/

#ifndef USTDIO_H
#define USTDIO_H

#include <stdio.h>
#include <stdarg.h>

#include "unicode/utypes.h"
#include "unicode/ucnv.h"
#include "unicode/utrans.h"

/*
    TODO
 The following is a small list as to what is currently wrong/suggestions for
 ustdio.

 * Make sure that * in the scanf format specification works for all formats.
 * Each UFILE takes up at least 2KB.
    Look into adding setvbuf() for configurable buffers.
 * This library does buffering. The OS should do this for us already. Check on
    this, and remove it from this library, if this is the case. Double buffering
    wastes a lot of time and space.
 * Test stdin and stdout with the u_f* functions
 * Testing should be done for reading and writing multi-byte encodings,
    and make sure that a character that is contained across buffer boundries
    works even for incomplete characters.
 * Make sure that the last character is flushed when the file/string is closed.
 * snprintf should follow the C99 standard for the return value, which is
    return the number of characters (excluding the trailing '\0')
    which would have been written to the destination string regardless

 =======================================================================
 ==uimacpp/include/unicode/ustream.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 2001-2006 International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*  FILE NAME : ustream.h
*
*   Modification History:
*
*   Date        Name        Description
*   06/25/2001  grhoten     Move iostream from unistr.h
******************************************************************************
*/
   
#ifndef USTREAM_H
#define USTREAM_H

#include "unicode/unistr.h"

/**
 * \file
 * \brief C++ API: Unicode iostream like API
 *
 * At this time, this API is very limited. It contains
 * operator<< and operator>> for UnicodeString manipulation with the
 * C++ I/O stream API.
 */

#if U_IOSTREAM_SOURCE >= 199711
#include <iostream>

U_NAMESPACE_BEGIN

/**
 * Write the contents of a UnicodeString to a C++ ostream. This functions writes
 * the characters in a UnicodeString to an ostream. The UChars in the
 * UnicodeString are converted to the char based ostream with the default
 * converter.
 * @stable 3.0
 */
U_IO_API std::ostream & U_EXPORT2 operator<<(std::ostream& stream, const UnicodeString& s);

/**
 * Write the contents from a C++ istream to a UnicodeString. The UChars in the
 * UnicodeString are converted from the char based istream with the default
 * converter.
 * @stable 3.0
 */
U_IO_API std::istream & U_EXPORT2 operator>>(std::istream& stream, UnicodeString& s);
U_NAMESPACE_END

 =======================================================================
 ==uimacpp/include/unicode/ustring.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1998-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File ustring.h
*
* Modification History:
*
*   Date        Name        Description
*   12/07/98    bertrand    Creation.
******************************************************************************
*/

#ifndef USTRING_H
#define USTRING_H

#include "unicode/utypes.h"
#include "unicode/putil.h"
#include "unicode/uiter.h"

/** Simple declaration for u_strToTitle() to avoid including unicode/ubrk.h. @stable ICU 2.1*/
#ifndef UBRK_TYPEDEF_UBREAK_ITERATOR
#   define UBRK_TYPEDEF_UBREAK_ITERATOR
    typedef void UBreakIterator;
#endif

/**
 * \file
 * \brief C API: Unicode string handling functions
 *
 * These C API functions provide general Unicode string handling.
 *
 * Some functions are equivalent in name, signature, and behavior to the ANSI C <string.h>
 * functions. (For example, they do not check for bad arguments like NULL string pointers.)
 * In some cases, only the thread-safe variant of such a function is implemented here
 * (see u_strtok_r()).
 *
 * Other functions provide more Unicode-specific functionality like locale-specific
 * upper/lower-casing and string comparison in code point order.
 *
 * ICU uses 16-bit Unicode (UTF-16) in the form of arrays of UChar code units.
 * UTF-16 encodes each Unicode code point with either one or two UChar code units.
 * (This is the default form of Unicode, and a forward-compatible extension of the original,
 * fixed-width form that was known as UCS-2. UTF-16 superseded UCS-2 with Unicode 2.0
 * in 1996.)
 *
 * Some APIs accept a 32-bit UChar32 value for a single code point.
 *

 =======================================================================
 ==uimacpp/include/unicode/usystem.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: genheaders.pl, a perl script written by Ram Viswanadha
*
*  Contains data for commenting out APIs.
*  Gets included by umachine.h
*
*  THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
*  YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/

#ifndef USYSTEM_H
#define USYSTEM_H

#ifdef U_HIDE_SYSTEM_API

#    if U_DISABLE_RENAMING
#        define u_cleanup u_cleanup_SYSTEM_API_DO_NOT_USE
#        define u_setAtomicIncDecFunctions u_setAtomicIncDecFunctions_SYSTEM_API_DO_NOT_USE
#        define u_setMemoryFunctions u_setMemoryFunctions_SYSTEM_API_DO_NOT_USE
#        define u_setMutexFunctions u_setMutexFunctions_SYSTEM_API_DO_NOT_USE
#        define ucnv_setDefaultName ucnv_setDefaultName_SYSTEM_API_DO_NOT_USE
#        define uloc_getDefault uloc_getDefault_SYSTEM_API_DO_NOT_USE
#        define uloc_setDefault uloc_setDefault_SYSTEM_API_DO_NOT_USE
#    else
#        define u_cleanup_3_6 u_cleanup_SYSTEM_API_DO_NOT_USE
#        define u_setAtomicIncDecFunctions_3_6 u_setAtomicIncDecFunctions_SYSTEM_API_DO_NOT_USE
#        define u_setMemoryFunctions_3_6 u_setMemoryFunctions_SYSTEM_API_DO_NOT_USE
#        define u_setMutexFunctions_3_6 u_setMutexFunctions_SYSTEM_API_DO_NOT_USE
#        define ucnv_setDefaultName_3_6 ucnv_setDefaultName_SYSTEM_API_DO_NOT_USE
#        define uloc_getDefault_3_6 uloc_getDefault_SYSTEM_API_DO_NOT_USE
#        define uloc_setDefault_3_6 uloc_setDefault_SYSTEM_API_DO_NOT_USE
#    endif /* U_DISABLE_RENAMING */

#endif /* U_HIDE_SYSTEM_API */
#endif /* USYSTEM_H */


 =======================================================================
 ==uimacpp/include/unicode/utext.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2004-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utext.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2004oct06
*   created by: Markus W. Scherer
*/

#ifndef __UTEXT_H__
#define __UTEXT_H__

/**
 * \file
 * \brief C API: Abstract Unicode Text API
 *
 * The Text Access API provides a means to allow text that is stored in alternative
 * formats to work with ICU services.  ICU normally operates on text that is
 * stored in UTF-16 format, in (UChar *) arrays for the C APIs or as type
 * UnicodeString for C++ APIs.
 *
 * ICU Text Access allows other formats, such as UTF-8 or non-contiguous
 * UTF-16 strings, to be placed in a UText wrapper and then passed to ICU services.
 *
 * There are three general classes of usage for UText:
 *
 *     Application Level Use.  This is the simplest usage - applications would
 *     use one of the utext_open() functions on their input text, and pass
 *     the resulting UText to the desired ICU service.
 *
 *     Second is usage in ICU Services, such as break iteration, that will need to
 *     operate on input presented to them as a UText.  These implementations
 *     will need to use the iteration and related UText functions to gain
 *     access to the actual text.
 *
 *     The third class of UText users are "text providers."  These are the
 *     UText implementations for the various text storage formats.  An application
 *     or system with a unique text storage format can implement a set of
 *     UText provider functions for that format, which will then allow
 *     ICU services to operate on that format.
 *
 *
 * <em>Iterating over text</em>

 =======================================================================
 ==uimacpp/include/unicode/utf.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep09
*   created by: Markus W. Scherer
*/

/**
 * \file
 * \brief C API: Code point macros
 *
 * This file defines macros for checking whether a code point is
 * a surrogate or a non-character etc.
 *
 * The UChar and UChar32 data types for Unicode code units and code points
 * are defined in umachines.h because they can be machine-dependent.
 *
 * utf.h is included by utypes.h and itself includes utf8.h and utf16.h after some
 * common definitions. Those files define macros for efficiently getting code points
 * in and out of UTF-8/16 strings.
 * utf16.h macros have "U16_" prefixes.
 * utf8.h defines similar macros with "U8_" prefixes for UTF-8 string handling.
 *
 * ICU processes 16-bit Unicode strings.
 * Most of the time, such strings are well-formed UTF-16.
 * Single, unpaired surrogates must be handled as well, and are treated in ICU
 * like regular code points where possible.
 * (Pairs of surrogate code points are indistinguishable from supplementary
 * code points encoded as pairs of supplementary code units.)
 *
 * In fact, almost all Unicode code points in normal text (>99%)
 * are on the BMP (<=U+ffff) and even <=U+d7ff.
 * ICU functions handle supplementary code points (U+10000..U+10ffff)
 * but are optimized for the much more frequently occurring BMP code points.
 *
 * utf.h defines UChar to be an unsigned 16-bit integer. If this matches wchar_t, then
 * UChar is defined to be exactly wchar_t, otherwise uint16_t.
 *
 * UChar32 is defined to be a signed 32-bit integer (int32_t), large enough for a 21-bit
 * Unicode code point (Unicode scalar value, 0..0x10ffff).
 * Before ICU 2.4, the definition of UChar32 was similarly platform-dependent as

 =======================================================================
 ==uimacpp/include/unicode/utf16.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf16.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep09
*   created by: Markus W. Scherer
*/

/**
 * \file
 * \brief C API: 16-bit Unicode handling macros
 * 
 * This file defines macros to deal with 16-bit Unicode (UTF-16) code units and strings.
 * utf16.h is included by utf.h after unicode/umachine.h
 * and some common definitions.
 *
 * For more information see utf.h and the ICU User Guide Strings chapter
 * (http://icu.sourceforge.net/userguide/strings.html).
 *
 * <em>Usage:</em>
 * ICU coding guidelines for if() statements should be followed when using these macros.
 * Compound statements (curly braces {}) must be used  for if-else-while... 
 * bodies and all macro statements should be terminated with semicolon.
 */

#ifndef __UTF16_H__
#define __UTF16_H__

/* utf.h must be included first. */
#ifndef __UTF_H__
#   include "unicode/utf.h"
#endif

/* single-code point definitions -------------------------------------------- */

/**
 * Does this code unit alone encode a code point (BMP, not a surrogate)?
 * @param c 16-bit code unit
 * @return TRUE or FALSE
 * @stable ICU 2.4
 */
#define U16_IS_SINGLE(c) !U_IS_SURROGATE(c)

 =======================================================================
 ==uimacpp/include/unicode/utf32.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 1999-2001, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf32.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep20
*   created by: Markus W. Scherer
*/
/**
 * \file
 * \brief C API: UTF-32 macros
 *
 * This file is obsolete and its contents moved to utf_old.h.
 * See utf_old.h and Jitterbug 2150 and its discussion on the ICU mailing list
 * in September 2002.
 */

 =======================================================================
 ==uimacpp/include/unicode/utf8.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf8.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep13
*   created by: Markus W. Scherer
*/

/**
 * \file
 * \brief C API: 8-bit Unicode handling macros
 * 
 * This file defines macros to deal with 8-bit Unicode (UTF-8) code units (bytes) and strings.
 * utf8.h is included by utf.h after unicode/umachine.h
 * and some common definitions.
 *
 * For more information see utf.h and the ICU User Guide Strings chapter
 * (http://icu.sourceforge.net/userguide/strings.html).
 *
 * <em>Usage:</em>
 * ICU coding guidelines for if() statements should be followed when using these macros.
 * Compound statements (curly braces {}) must be used  for if-else-while... 
 * bodies and all macro statements should be terminated with semicolon.
 */

#ifndef __UTF8_H__
#define __UTF8_H__

/* utf.h must be included first. */
#ifndef __UTF_H__
#   include "unicode/utf.h"
#endif

/* internal definitions ----------------------------------------------------- */

/**
 * \var utf8_countTrailBytes
 * Internal array with numbers of trail bytes for any given byte used in
 * lead byte position.
 * @internal
 */
#ifdef U_UTF8_IMPL

 =======================================================================
 ==uimacpp/include/unicode/utf_old.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2002-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2002sep21
*   created by: Markus W. Scherer
*/

/**
 * \file 
 * \brief C API: Deprecated macros for Unicode string handling
 */

/**
 * 
 * The macros in utf_old.h are all deprecated and their use discouraged.
 * Some of the design principles behind the set of UTF macros
 * have changed or proved impractical.
 * Almost all of the old "UTF macros" are at least renamed.
 * If you are looking for a new equivalent to an old macro, please see the
 * comment at the old one.
 *
 * utf_old.h is included by utf.h after unicode/umachine.h
 * and some common definitions, to not break old code.
 *
 * Brief summary of reasons for deprecation:
 * - Switch on UTF_SIZE (selection of UTF-8/16/32 default string processing)
 *   was impractical.
 * - Switch on UTF_SAFE etc. (selection of unsafe/safe/strict default string processing)
 *   was of little use and impractical.
 * - Whole classes of macros became obsolete outside of the UTF_SIZE/UTF_SAFE
 *   selection framework: UTF32_ macros (all trivial)
 *   and UTF_ default and intermediate macros (all aliases).
 * - The selection framework also caused many macro aliases.
 * - Change in Unicode standard: "irregular" sequences (3.0) became illegal (3.2).
 * - Change of language in Unicode standard:
 *   Growing distinction between internal x-bit Unicode strings and external UTF-x
 *   forms, with the former more lenient.
 *   Suggests renaming of UTF16_ macros to U16_.
 * - The prefix "UTF_" without a width number confused some users.
 * - "Safe" append macros needed the addition of an error indicator output.
 * - "Safe" UTF-8 macros used legitimate (if rarely used) code point values

 =======================================================================
 ==uimacpp/include/unicode/utrace.h
 =======================================================================
/*
*******************************************************************************
*
*   Copyright (C) 2003-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utrace.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2003aug06
*   created by: Markus W. Scherer
*
*   Definitions for ICU tracing/logging.
*
*/

#ifndef __UTRACE_H__
#define __UTRACE_H__

#include <stdarg.h>
#include "unicode/utypes.h"

/**
 * \file
 * \brief C API:  Definitions for ICU tracing/logging. 
 */
 
U_CDECL_BEGIN

/**
 * Trace severity levels.  Higher levels increase the verbosity of the trace output.
 * @see utrace_setLevel
 * @stable ICU 2.8
 */
typedef enum UTraceLevel {
    /** Disable all tracing  @stable ICU 2.8*/
    UTRACE_OFF=-1,
    /** Trace error conditions only  @stable ICU 2.8*/
    UTRACE_ERROR=0,
    /** Trace errors and warnings  @stable ICU 2.8*/
    UTRACE_WARNING=3,
    /** Trace opens and closes of ICU services  @stable ICU 2.8*/
    UTRACE_OPEN_CLOSE=5,
    /** Trace an intermediate number of ICU operations  @stable ICU 2.8*/
    UTRACE_INFO=7,
    /** Trace the maximum number of ICU operations  @stable ICU 2.8*/
    UTRACE_VERBOSE=9

 =======================================================================
 ==uimacpp/include/unicode/utrans.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 1997-2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*   Date        Name        Description
*   06/21/00    aliu        Creation.
*******************************************************************************
*/

#ifndef UTRANS_H
#define UTRANS_H

#include "unicode/utypes.h"

#if !UCONFIG_NO_TRANSLITERATION

#include "unicode/urep.h"
#include "unicode/parseerr.h"
#include "unicode/uenum.h"

/********************************************************************
 * General Notes
 ********************************************************************
 */
/**
 * \file
 * \brief C API: Transliterator
 *
 * <h2> Transliteration </h2>
 * The data structures and functions described in this header provide
 * transliteration services.  Transliteration services are implemented
 * as C++ classes.  The comments and documentation in this header
 * assume the reader is familiar with the C++ headers translit.h and
 * associated documentation.
 *
 * A significant but incomplete subset of the C++ transliteration
 * services are available to C code through this header.  In order to
 * access more complex transliteration services, refer to the C++
 * headers and documentation.
 *
 * There are two sets of functions for working with transliterator IDs:
 *
 * An old, deprecated set uses char * IDs, which works for true and pure
 * identifiers that these APIs were designed for,
 * for example "Cyrillic-Latin".
 * It does not work when the ID contains filters ("[:Script=Cyrl:]")
 * or even a complete set of rules because then the ID string contains more
 * than just "invariant" characters (see utypes.h).
 *

 =======================================================================
 ==uimacpp/include/unicode/utypes.h
 =======================================================================
/*
**********************************************************************
*   Copyright (C) 1996-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
*  FILE NAME : UTYPES.H (formerly ptypes.h)
*
*   Date        Name        Description
*   12/11/96    helena      Creation.
*   02/27/97    aliu        Added typedefs for UClassID, int8, int16, int32,
*                           uint8, uint16, and uint32.
*   04/01/97    aliu        Added XP_CPLUSPLUS and modified to work under C as
*                            well as C++.
*                           Modified to use memcpy() for uprv_arrayCopy() fns.
*   04/14/97    aliu        Added TPlatformUtilities.
*   05/07/97    aliu        Added import/export specifiers (replacing the old
*                           broken EXT_CLASS).  Added version number for our
*                           code.  Cleaned up header.
*    6/20/97    helena      Java class name change.
*   08/11/98    stephen     UErrorCode changed from typedef to enum
*   08/12/98    erm         Changed T_ANALYTIC_PACKAGE_VERSION to 3
*   08/14/98    stephen     Added uprv_arrayCopy() for int8_t, int16_t, int32_t
*   12/09/98    jfitz       Added BUFFER_OVERFLOW_ERROR (bug 1100066)
*   04/20/99    stephen     Cleaned up & reworked for autoconf.
*                           Renamed to utypes.h.
*   05/05/99    stephen     Changed to use <inttypes.h>
*   12/07/99    helena      Moved copyright notice string from ucnv_bld.h here.
*******************************************************************************
*/

#ifndef UTYPES_H
#define UTYPES_H


#include "unicode/umachine.h"
#include "unicode/utf.h"
#include "unicode/uversion.h"
#include "unicode/uconfig.h"

#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
#define U_HIDE_DRAFT_API 1
#endif

#ifdef U_HIDE_DRAFT_API
#include "unicode/udraft.h"
#endif

#ifdef U_HIDE_DEPRECATED_API
#include "unicode/udeprctd.h"

 =======================================================================
 ==uimacpp/include/unicode/uversion.h
 =======================================================================
/*
*******************************************************************************
*   Copyright (C) 2000-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*******************************************************************************
*
*   file name:  uversion.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   Created by: Vladimir Weinstein
*
*  Contains all the important version numbers for ICU. 
*  Gets included by utypes.h and Windows .rc files
*/

/**
 * \file
 * \brief C API: Contains all the important version numbers for ICU. 
 */
/*===========================================================================*/
/* Main ICU version information                                              */
/*===========================================================================*/

#ifndef UVERSION_H
#define UVERSION_H

/**
 * IMPORTANT: When updating version, the following things need to be done:
 * source/common/unicode/uversion.h - this file: update major, minor,
 *        patchlevel, suffix, version, short version constants, namespace,
 *                                                             and copyright
 * source/common/common.vcproj - update 'Output file name' on the link tab so
 *                   that it contains the new major/minor combination
 * source/i18n/i18n.vcproj - same as for the common.vcproj
 * source/layout/layout.vcproj - same as for the common.vcproj
 * source/stubdata/stubdata.vcproj - same as for the common.vcproj
 * source/io/io.vcproj - same as for the common.vcproj
 * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
 *                            the new major/minor combination
 * source/tools/genren/genren.pl - use this script according to the README
 *                    in that folder                                         
 */

#include "unicode/umachine.h"

/** The standard copyright notice that gets compiled into each library. 
 *  This value will change in the subsequent releases of ICU
 *  @stable ICU 2.4

 =======================================================================
 ==uimacpp/include/xercesc/framework/XMLErrorCodes.hpp
 =======================================================================
// This file is generated, don't edit it!!

#if !defined(ERRHEADER_XMLErrs)
#define ERRHEADER_XMLErrs

#include <xercesc/framework/XMLErrorReporter.hpp>
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMError.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class XMLErrs
{
public :
    enum Codes
    {
        NoError                            = 0
      , W_LowBounds                        = 1
      , NotationAlreadyExists              = 2
      , AttListAlreadyExists               = 3
      , ContradictoryEncoding              = 4
      , UndeclaredElemInCM                 = 5
      , UndeclaredElemInAttList            = 6
      , XMLException_Warning               = 7
      , W_HighBounds                       = 8
      , E_LowBounds                        = 9
      , FeatureUnsupported                 = 10
      , TopLevelNoNameComplexType          = 11
      , TopLevelNoNameAttribute            = 12
      , NoNameRefAttribute                 = 13
      , GlobalNoNameElement                = 14
      , NoNameRefElement                   = 15
      , NoNameRefGroup                     = 16
      , NoNameRefAttGroup                  = 17
      , AnonComplexTypeWithName            = 18
      , AnonSimpleTypeWithName             = 19
      , InvalidElementContent              = 20
      , UntypedElement                     = 21
      , SimpleTypeContentError             = 22
      , ExpectedSimpleTypeInList           = 23
      , ListUnionRestrictionError          = 24
      , SimpleTypeDerivationByListError    = 25
      , ExpectedSimpleTypeInRestriction    = 26
      , DuplicateFacet                     = 27
      , ExpectedSimpleTypeInUnion          = 28
      , EmptySimpleTypeContent             = 29
      , InvalidSimpleContent               = 30
      , UnspecifiedBase                    = 31
      , InvalidComplexContent              = 32
      , SchemaElementContentError          = 33

 =======================================================================
 ==uimacpp/include/xercesc/framework/XMLValidityCodes.hpp
 =======================================================================
// This file is generated, don't edit it!!

#if !defined(ERRHEADER_XMLValid)
#define ERRHEADER_XMLValid

#include <xercesc/framework/XMLErrorReporter.hpp>
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMError.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class XMLValid
{
public :
    enum Codes
    {
        NoError                            = 0
      , E_LowBounds                        = 1
      , ElementNotDefined                  = 2
      , AttNotDefined                      = 3
      , NotationNotDeclared                = 4
      , RootElemNotLikeDocType             = 5
      , RequiredAttrNotProvided            = 6
      , ElementNotValidForContent          = 7
      , BadIDAttrDefType                   = 8
      , InvalidEmptyAttValue               = 9
      , ElementAlreadyExists               = 10
      , MultipleIdAttrs                    = 11
      , ReusedIDValue                      = 12
      , IDNotDeclared                      = 13
      , UnknownNotRefAttr                  = 14
      , UndeclaredElemInDocType            = 15
      , EmptyNotValidForContent            = 16
      , AttNotDefinedForElement            = 17
      , BadEntityRefAttr                   = 18
      , UnknownEntityRefAttr               = 19
      , ColonNotValidWithNS                = 20
      , NotEnoughElemsForCM                = 21
      , NoCharDataInCM                     = 22
      , DoesNotMatchEnumList               = 23
      , AttrValNotName                     = 24
      , NoMultipleValues                   = 25
      , NotSameAsFixedValue                = 26
      , RepElemInMixed                     = 27
      , NoValidatorFor                     = 28
      , IncorrectDatatype                  = 29
      , NotADatatype                       = 30
      , TextOnlyContentWithType            = 31
      , FeatureUnsupported                 = 32
      , NestedOnlyInElemOnly               = 33

 =======================================================================
 ==uimacpp/include/xercesc/internal/IANAEncodings.hpp
 =======================================================================
#if !defined(IANAENCODINGS_HPP)
#define IANAENCODINGS_HPP

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

// ----------------------------------------------------------------
//  This file was generated from the IANA charset source.
//  so do not edit this file directly!!
// ----------------------------------------------------------------

const XMLCh gEncodingArray[][46] =
{
    { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0036,0x0038,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0036,0x00 }
  , { 0x0041,0x004E,0x0053,0x0049,0x005F,0x0058,0x0033,0x002E,0x0034,0x002D,0x0031,0x0039,0x0038,0x0036,0x00 }
  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0069,0x0072,0x0076,0x003A,0x0031,0x0039,0x0039,0x0031,0x00 }
  , { 0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0055,0x0053,0x00 }
  , { 0x0055,0x0053,0x002D,0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
  , { 0x0075,0x0073,0x00 }
  , { 0x0049,0x0042,0x004D,0x0033,0x0036,0x0037,0x00 }
  , { 0x0063,0x0070,0x0033,0x0036,0x0037,0x00 }
  , { 0x0063,0x0073,0x0041,0x0053,0x0043,0x0049,0x0049,0x00 }
  , { 0x0049,0x0053,0x004F,0x002D,0x0031,0x0030,0x0036,0x0034,0x0036,0x002D,0x0055,0x0054,0x0046,0x002D,0x0031,0x00 }
  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0031,0x0030,0x0036,0x0034,0x0036,0x0055,0x0054,0x0046,0x0031,0x00 }
  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0062,0x0061,0x0073,0x0069,0x0063,0x003A,0x0031,0x0039,0x0038,0x0033,0x00 }
  , { 0x0072,0x0065,0x0066,0x00 }
  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x0062,0x0061,0x0073,0x0069,0x0063,0x0031,0x0039,0x0038,0x0033,0x00 }
  , { 0x0049,0x004E,0x0056,0x0041,0x0052,0x0049,0x0041,0x004E,0x0054,0x00 }
  , { 0x0063,0x0073,0x0049,0x004E,0x0056,0x0041,0x0052,0x0049,0x0041,0x004E,0x0054,0x00 }
  , { 0x0049,0x0053,0x004F,0x005F,0x0036,0x0034,0x0036,0x002E,0x0069,0x0072,0x0076,0x003A,0x0031,0x0039,0x0038,0x0033,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0032,0x00 }
  , { 0x0069,0x0072,0x0076,0x00 }
  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0032,0x0049,0x006E,0x0074,0x006C,0x0052,0x0065,0x0066,0x0056,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x00 }
  , { 0x0042,0x0053,0x005F,0x0034,0x0037,0x0033,0x0030,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0034,0x00 }
  , { 0x0049,0x0053,0x004F,0x0036,0x0034,0x0036,0x002D,0x0047,0x0042,0x00 }
  , { 0x0067,0x0062,0x00 }
  , { 0x0075,0x006B,0x00 }
  , { 0x0063,0x0073,0x0049,0x0053,0x004F,0x0034,0x0055,0x006E,0x0069,0x0074,0x0065,0x0064,0x004B,0x0069,0x006E,0x0067,0x0064,0x006F,0x006D,0x00 }
  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0053,0x0045,0x0046,0x0049,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x002D,0x0031,0x00 }
  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0053,0x0045,0x0046,0x0049,0x00 }
  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0053,0x0045,0x0046,0x0049,0x002D,0x0041,0x0044,0x0044,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0038,0x002D,0x0032,0x00 }
  , { 0x0063,0x0073,0x004E,0x0041,0x0054,0x0053,0x0053,0x0045,0x0046,0x0049,0x0041,0x0044,0x0044,0x00 }
  , { 0x004E,0x0041,0x0054,0x0053,0x002D,0x0044,0x0041,0x004E,0x004F,0x00 }
  , { 0x0069,0x0073,0x006F,0x002D,0x0069,0x0072,0x002D,0x0039,0x002D,0x0031,0x00 }

 =======================================================================
 ==uimacpp/include/xercesc/util/LogicalPath.c
 =======================================================================
#if !defined(WEAVEPATH_CPP)
#define WEAVEPATH_CPP

/***
 *
 *  Previously, each <OS>PlatformUtils.cpp has its onw copy of the
 *  method weavePaths(), and almost of them implemented the same logic,
 *  with few platform specific difference, and unfortunately that 
 *  implementation was wrong.
 *  
 *  The only platform specific issue is slash character.
 *  On all platforms other than Windows, chForwardSlash and chBackSlash 
 *  are considered slash, while on Windows, two additional characters, 
 *  chYenSign and chWonSign are slash as well.
 *
 *  The idea is to maintain a SINGLE copy of this method rather than
 *  each <OS>PlatformUtils.cpp has its own copy, we introduce a new
 *  method, XMLPlatformUtils::isAnySlash(), to replace the direct checking
 *  code ( if ( c == chForwardSlash || c == chBackSlash).
 *
 *  With this approach, we might have a performance hit since isAnySlash() 
 *  is so frequently used in this implementation, so we intend to make it 
 *  inline. Then we face a complier issue.
 *
 *  There are two compilation units involved, one is PlatformUtils.cpp and 
 *  the other <OS>PlatformUtils.cpp. When PlatformUtils.cp get compiled,
 *  the weavePath(), remove**Slash() have dependency upon isAnySlash() which
 *  is in <OS>PlatformUtils.cpp (and what is worse, it is inlined), so we have
 *  undefined/unresolved symbol: isAnySlash() on AIX/xlc_r, Solaris/cc and 
 *  Linux/gcc, while MSVC and HP/aCC are fine with this.
 *  
 *  That means we can not place these new methods in PlatformUtils.cpp with
 *  inlined XMLPlatformUtils::isAnySlash() in <OS>PlatformUtils.cpp.
 *
 *  The solution to this is <os>PlatformUtils.cpp will include this file so that
 *  we have only one copy of these methods while get compiled in <os>PlatformUtils
 *  inlined isAnySlash().
 *
 ***/
XMLCh* XMLPlatformUtils::weavePaths(const XMLCh* const    basePath
                                  , const XMLCh* const    relativePath
                                  , MemoryManager* const  manager)

{
    // Create a buffer as large as both parts and empty it
    XMLCh* tmpBuf = (XMLCh*) manager->allocate
    (
        (XMLString::stringLen(basePath)
         + XMLString::stringLen(relativePath) + 2) * sizeof(XMLCh)
    );//new XMLCh[XMLString::stringLen(basePath) + XMLString::stringLen(relativePath) + 2];

 =======================================================================
 ==uimacpp/include/xercesc/util/XMLDOMMsg.hpp
 =======================================================================
// This file is generated, don't edit it!!

#if !defined(ERRHEADER_XMLDOMMsg)
#define ERRHEADER_XMLDOMMsg

#include <xercesc/framework/XMLErrorReporter.hpp>
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMError.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class XMLDOMMsg
{
public :
    enum Codes
    {
        NoError                            = 0
      , F_LowBounds                        = 1
      , DOMEXCEPTION_ERRX                  = 2
      , INDEX_SIZE_ERR                     = 3
      , DOMSTRING_SIZE_ERR                 = 4
      , HIERARCHY_REQUEST_ERR              = 5
      , WRONG_DOCUMENT_ERR                 = 6
      , INVALID_CHARACTER_ERR              = 7
      , NO_DATA_ALLOWED_ERR                = 8
      , NO_MODIFICATION_ALLOWED_ERR        = 9
      , NOT_FOUND_ERR                      = 10
      , NOT_SUPPORTED_ERR                  = 11
      , INUSE_ATTRIBUTE_ERR                = 12
      , INVALID_STATE_ERR                  = 13
      , SYNTAX_ERR                         = 14
      , INVALID_MODIFICATION_ERR           = 15
      , NAMESPACE_ERR                      = 16
      , INVALID_ACCESS_ERR                 = 17
      , VALIDATION_ERR                     = 18
      , DOMRANGEEXCEPTION_ERRX             = 19
      , BAD_BOUNDARYPOINTS_ERR             = 20
      , INVALID_NODE_TYPE_ERR              = 21
      , Writer_NestedCDATA                 = 22
      , Writer_NotRepresentChar            = 23
      , Writer_NotRecognizedType           = 24
      , F_HighBounds                       = 25
      , W_LowBounds                        = 26
      , W_HighBounds                       = 27
      , E_LowBounds                        = 28
      , E_HighBounds                       = 29
    };

    static bool isFatal(const XMLDOMMsg::Codes toCheck)
    {

 =======================================================================
 ==uimacpp/include/xercesc/util/XMLExceptMsgs.hpp
 =======================================================================
// This file is generated, don't edit it!!

#if !defined(ERRHEADER_XMLExcepts)
#define ERRHEADER_XMLExcepts

#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMError.hpp>

XERCES_CPP_NAMESPACE_BEGIN

class XMLExcepts
{
public :
    enum Codes
    {
        NoError                            = 0
      , W_LowBounds                        = 1
      , Scan_CouldNotOpenSource_Warning    = 2
      , GC_ExistingGrammar                 = 3
      , W_HighBounds                       = 4
      , F_LowBounds                        = 5
      , Array_BadIndex                     = 6
      , Array_BadNewSize                   = 7
      , AttrList_BadIndex                  = 8
      , AttDef_BadAttType                  = 9
      , AttDef_BadDefAttType               = 10
      , Bitset_BadIndex                    = 11
      , Bitset_NotEqualSize                = 12
      , BufMgr_NoMoreBuffers               = 13
      , BufMgr_BufferNotInPool             = 14
      , CPtr_PointerIsZero                 = 15
      , CM_BinOpHadUnaryType               = 16
      , CM_MustBeMixedOrChildren           = 17
      , CM_NoPCDATAHere                    = 18
      , CM_NotValidForSpecType             = 19
      , CM_UnaryOpHadBinType               = 20
      , CM_UnknownCMType                   = 21
      , CM_UnknownCMSpecType               = 22
      , CM_NoParentCSN                     = 23
      , CM_NotValidSpecTypeForNode         = 24
      , DTD_UnknownCreateReason            = 25
      , ElemStack_EmptyStack               = 26
      , ElemStack_BadIndex                 = 27
      , ElemStack_StackUnderflow           = 28
      , ElemStack_NoParentPushed           = 29
      , Enum_NoMoreElements                = 30
      , File_CouldNotOpenFile              = 31
      , File_CouldNotGetCurPos             = 32
      , File_CouldNotCloseFile             = 33
      , File_CouldNotSeekToEnd             = 34

 =======================================================================
 ==uimacpp/include/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp
 =======================================================================
// ----------------------------------------------------------------
//  This file was generated from the XML error message source.
//  so do not edit this file directly!!
// ----------------------------------------------------------------

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

const XMLCh gXMLErrArray[][128] = 
{
    { 0x0057,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
  , { 0x004E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,0x0063,
      0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
  , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,
      0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
  , { 0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0028,0x007B,0x0030,0x007D,0x002C,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x0020,0x006F,0x0072,0x0020,0x006D,0x0061,0x006E,0x0075,
      0x0061,0x006C,0x006C,0x0079,0x0020,0x0073,0x0065,0x0074,0x0029,0x0020,0x0063,0x006F,0x006E,0x0074,0x0072,0x0061,0x0064,0x0069,0x0063,0x0074,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0061,0x0075,0x0074,0x006F,0x002D,0x0073,0x0065,0x006E,0x0073,
      0x0065,0x0064,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x002C,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0069,0x006E,0x0067,0x0020,0x0069,0x0074,0x00 }
  , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,
      0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
  , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x006E,0x0020,
      0x0061,0x0074,0x0074,0x006C,0x0069,0x0073,0x0074,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
  , { 0x0041,0x006E,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0072,0x0065,0x0064,0x0021,0x0020,0x0054,0x0079,0x0070,0x0065,0x003A,0x007B,0x0030,0x007D,0x002C,0x0020,0x004D,0x0065,
      0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x007B,0x0031,0x007D,0x00 }
  , { 0x0057,0x005F,0x0045,0x006E,0x0064,0x00 }
  , { 0x0045,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
  , { 0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,
      0x0074,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x002E,0x0020,0x0020,0x004F,0x006E,0x006C,0x0079,0x0020,0x006C,0x0069,0x0073,0x0074,0x002C,0x0020,0x0075,0x006E,0x0069,0x006F,
      0x006E,0x0020,0x0061,0x006E,0x0064,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0061,0x0072,0x0065,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x002E,0x00 }
  , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0054,0x006F,0x0070,0x0020,0x006C,0x0065,0x0076,0x0065,0x006C,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,
      0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x006C,0x0079,0x002D,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,
      0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,
      0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,
      0x0020,0x002D,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x006C,0x0079,0x002D,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,
      0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,
      0x0065,0x0064,0x00 }
  , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,
      0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x003C,0x0067,0x0072,0x006F,0x0075,0x0070,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,
      0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x003C,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,
      0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,
      0x006F,0x0072,0x0065,0x0064,0x00 }
  , { 0x0041,0x006E,0x006F,0x006E,0x0079,0x006D,0x006F,0x0075,0x0073,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,
      0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
  , { 0x0041,0x006E,0x006F,0x006E,0x0079,0x006D,0x006F,0x0075,0x0073,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,

 =======================================================================
 ==uimacpp/include/xercesc/util/MsgLoaders/MsgCatalog/XMLMsgCat_Ids.hpp
 =======================================================================
// ----------------------------------------------------------------
//  This file was generated from the XML error message source.
//  so do not edit this file directly!!
// ----------------------------------------------------------------

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

const unsigned int CatId_XMLErrs = 1;
const unsigned int CatId_XMLValid = 2;
const unsigned int CatId_XMLExcepts = 3;
const unsigned int CatId_XMLDOMMsg = 4;

XERCES_CPP_NAMESPACE_END


 =======================================================================
 ==uimacpp/include/xercesc/util/MsgLoaders/MsgFile/XMLMessages.h
 =======================================================================
#ifndef XML_ERROR_MESSAGES_H
#define XML_ERROR_MESSAGES_H

#include <xercesc/util/XercesDefs.hpp>

XERCES_CPP_NAMESPACE_BEGIN

// These are Fatal error messages

#define E_ExpectedCommentOrCDATA					"XMLBE00"
#define E_ExpectedAttrName						"XMLBE01"
#define E_ExpectedNotationName						"XMLBE02"
#define E_NoRepInMixed							"XMLBE03"
#define E_BadDefAttrDecl						"XMLBE04"
#define E_ExpectedDefAttrDecl						"XMLBE05"
#define E_AttListSyntaxError						"XMLBE06"
#define E_ExpectedEqSign						"XMLBE07"
#define E_DupAttrName							"XMLBE08"
#define E_BadIdForXMLLangAttr						"XMLBE09"
#define E_ExpectedElementName						"XMLBE0A"
#define E_MustStartWithXMLDecl						"XMLBE0B"
#define E_CommentsMustStartWith						"XMLBE0C"
#define E_InvalidDocumentStructure					"XMLBE0D"
#define E_ExpectedDeclString						"XMLBE0E"
#define E_BadXMLVersion							"XMLBE0F"
#define E_UnsupportedXMLVersion						"XMLBE10"
#define E_UnterminatedXMLDecl						"XMLBE11"
#define E_BadXMLEncoding						"XMLBE12"
#define E_BadStandalone							"XMLBE13"
#define E_UnterminatedComment						"XMLBE14"
#define E_PINameExpected						"XMLBE15"
#define E_UnterminatedPI						"XMLBE16"
#define E_InvalidCharacter						"XMLBE17"
#define E_UnexpectedEOF							"XMLBE18"
#define E_UnexpectedTextBeforeRoot					"XMLBE19"
#define E_UnterminatedStartTag						"XMLBE1A"
#define E_ExpectedAttrValue						"XMLBE1B"
#define E_UnterminatedEndTag						"XMLBE1C"
#define E_ExpectedAttributeType						"XMLBE1D"
#define E_ExpectedEndOfTagX						"XMLBE1E"
#define E_ExpectedMarkup						"XMLBE1F"
#define E_NotValidAfterContent						"XMLBE20"
#define E_ExpectedComment						"XMLBE21"
#define E_ExpectedCommentOrPI						"XMLBE22"
#define E_ExpectedWhitespace						"XMLBE23"
#define E_NoRootElemInDOCTYPE						"XMLBE24"
#define E_ExpectedQuotedString						"XMLBE25"
#define E_ExpectedPublicId						"XMLBE26"
#define E_InvalidPublicIdChar						"XMLBE27"
#define E_UnterminatedDOCTYPE						"XMLBE28"

 =======================================================================
 ==uimacpp/include/xercesc/util/Platforms/Win32/resource.h
 =======================================================================
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Version.rc
//
#define DummyString                     1

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        101
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif