pango 2.2.0-x86-mingw32 → 2.2.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +21 -2
- data/lib/2.0/pango.so +0 -0
- data/vendor/local/bin/derb.exe +0 -0
- data/vendor/local/bin/genbrk.exe +0 -0
- data/vendor/local/bin/genccode.exe +0 -0
- data/vendor/local/bin/gencfu.exe +0 -0
- data/vendor/local/bin/gencmn.exe +0 -0
- data/vendor/local/bin/gencnval.exe +0 -0
- data/vendor/local/bin/gendict.exe +0 -0
- data/vendor/local/bin/gennorm2.exe +0 -0
- data/vendor/local/bin/genrb.exe +0 -0
- data/vendor/local/bin/gensprep.exe +0 -0
- data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
- data/vendor/local/bin/hb-shape.exe +0 -0
- data/vendor/local/bin/hb-view.exe +0 -0
- data/vendor/local/bin/icu-config +820 -0
- data/vendor/local/bin/icuinfo.exe +0 -0
- data/vendor/local/bin/icupkg.exe +0 -0
- data/vendor/local/bin/libharfbuzz-0.dll +0 -0
- data/vendor/local/bin/libpango-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/makeconv.exe +0 -0
- data/vendor/local/bin/pango-querymodules.exe +0 -0
- data/vendor/local/bin/pango-view.exe +0 -0
- data/vendor/local/bin/pkgdata.exe +0 -0
- data/vendor/local/bin/uconv.exe +0 -0
- data/vendor/local/etc/pango/pango.modules +3 -3
- data/vendor/local/include/harfbuzz/hb-blob.h +3 -4
- data/vendor/local/include/harfbuzz/hb-buffer.h +22 -1
- data/vendor/local/include/harfbuzz/hb-common.h +23 -18
- data/vendor/local/include/harfbuzz/hb-icu.h +52 -0
- data/vendor/local/include/harfbuzz/hb-ot-font.h +41 -0
- data/vendor/local/include/harfbuzz/hb-ot-layout.h +11 -3
- data/vendor/local/include/harfbuzz/hb-ot-shape.h +10 -11
- data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
- data/vendor/local/include/harfbuzz/hb-version.h +7 -7
- data/vendor/local/include/layout/LEFontInstance.h +550 -0
- data/vendor/local/include/layout/LEGlyphFilter.h +45 -0
- data/vendor/local/include/layout/LEGlyphStorage.h +546 -0
- data/vendor/local/include/layout/LEInsertionList.h +177 -0
- data/vendor/local/include/layout/LELanguages.h +112 -0
- data/vendor/local/include/layout/LEScripts.h +263 -0
- data/vendor/local/include/layout/LESwaps.h +100 -0
- data/vendor/local/include/layout/LETableReference.h +418 -0
- data/vendor/local/include/layout/LETypes.h +728 -0
- data/vendor/local/include/layout/LayoutEngine.h +518 -0
- data/vendor/local/include/layout/ParagraphLayout.h +747 -0
- data/vendor/local/include/layout/RunArrays.h +676 -0
- data/vendor/local/include/layout/loengine.h +225 -0
- data/vendor/local/include/layout/playout.h +466 -0
- data/vendor/local/include/layout/plruns.h +441 -0
- data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
- data/vendor/local/include/pango-1.0/pango/pango-font.h +3 -1
- data/vendor/local/include/pango-1.0/pango/pango-item.h +11 -2
- data/vendor/local/include/unicode/alphaindex.h +752 -0
- data/vendor/local/include/unicode/appendable.h +232 -0
- data/vendor/local/include/unicode/basictz.h +214 -0
- data/vendor/local/include/unicode/brkiter.h +655 -0
- data/vendor/local/include/unicode/bytestream.h +257 -0
- data/vendor/local/include/unicode/bytestrie.h +519 -0
- data/vendor/local/include/unicode/bytestriebuilder.h +181 -0
- data/vendor/local/include/unicode/calendar.h +2519 -0
- data/vendor/local/include/unicode/caniter.h +208 -0
- data/vendor/local/include/unicode/chariter.h +722 -0
- data/vendor/local/include/unicode/choicfmt.h +594 -0
- data/vendor/local/include/unicode/coleitr.h +404 -0
- data/vendor/local/include/unicode/coll.h +1267 -0
- data/vendor/local/include/unicode/compactdecimalformat.h +330 -0
- data/vendor/local/include/unicode/curramt.h +130 -0
- data/vendor/local/include/unicode/currpinf.h +258 -0
- data/vendor/local/include/unicode/currunit.h +110 -0
- data/vendor/local/include/unicode/datefmt.h +883 -0
- data/vendor/local/include/unicode/dbbi.h +40 -0
- data/vendor/local/include/unicode/dcfmtsym.h +482 -0
- data/vendor/local/include/unicode/decimfmt.h +2479 -0
- data/vendor/local/include/unicode/docmain.h +215 -0
- data/vendor/local/include/unicode/dtfmtsym.h +912 -0
- data/vendor/local/include/unicode/dtintrv.h +158 -0
- data/vendor/local/include/unicode/dtitvfmt.h +985 -0
- data/vendor/local/include/unicode/dtitvinf.h +514 -0
- data/vendor/local/include/unicode/dtptngen.h +498 -0
- data/vendor/local/include/unicode/dtrule.h +250 -0
- data/vendor/local/include/unicode/enumset.h +64 -0
- data/vendor/local/include/unicode/errorcode.h +137 -0
- data/vendor/local/include/unicode/fieldpos.h +291 -0
- data/vendor/local/include/unicode/filteredbrk.h +131 -0
- data/vendor/local/include/unicode/fmtable.h +760 -0
- data/vendor/local/include/unicode/format.h +305 -0
- data/vendor/local/include/unicode/fpositer.h +117 -0
- data/vendor/local/include/unicode/gender.h +111 -0
- data/vendor/local/include/unicode/gregocal.h +777 -0
- data/vendor/local/include/unicode/icudataver.h +41 -0
- data/vendor/local/include/unicode/icuplug.h +371 -0
- data/vendor/local/include/unicode/idna.h +323 -0
- data/vendor/local/include/unicode/listformatter.h +167 -0
- data/vendor/local/include/unicode/localpointer.h +304 -0
- data/vendor/local/include/unicode/locdspnm.h +204 -0
- data/vendor/local/include/unicode/locid.h +815 -0
- data/vendor/local/include/unicode/measfmt.h +389 -0
- data/vendor/local/include/unicode/measunit.h +1443 -0
- data/vendor/local/include/unicode/measure.h +159 -0
- data/vendor/local/include/unicode/messagepattern.h +943 -0
- data/vendor/local/include/unicode/msgfmt.h +1093 -0
- data/vendor/local/include/unicode/normalizer2.h +658 -0
- data/vendor/local/include/unicode/normlzr.h +797 -0
- data/vendor/local/include/unicode/numfmt.h +1187 -0
- data/vendor/local/include/unicode/numsys.h +208 -0
- data/vendor/local/include/unicode/parseerr.h +92 -0
- data/vendor/local/include/unicode/parsepos.h +230 -0
- data/vendor/local/include/unicode/platform.h +751 -0
- data/vendor/local/include/unicode/plurfmt.h +615 -0
- data/vendor/local/include/unicode/plurrule.h +501 -0
- data/vendor/local/include/unicode/ptypes.h +126 -0
- data/vendor/local/include/unicode/putil.h +181 -0
- data/vendor/local/include/unicode/rbbi.h +782 -0
- data/vendor/local/include/unicode/rbnf.h +1032 -0
- data/vendor/local/include/unicode/rbtz.h +362 -0
- data/vendor/local/include/unicode/regex.h +1857 -0
- data/vendor/local/include/unicode/region.h +228 -0
- data/vendor/local/include/unicode/reldatefmt.h +498 -0
- data/vendor/local/include/unicode/rep.h +261 -0
- data/vendor/local/include/unicode/resbund.h +490 -0
- data/vendor/local/include/unicode/schriter.h +187 -0
- data/vendor/local/include/unicode/scientificformathelper.h +139 -0
- data/vendor/local/include/unicode/search.h +575 -0
- data/vendor/local/include/unicode/selfmt.h +367 -0
- data/vendor/local/include/unicode/simpletz.h +928 -0
- data/vendor/local/include/unicode/smpdtfmt.h +1592 -0
- data/vendor/local/include/unicode/sortkey.h +338 -0
- data/vendor/local/include/unicode/std_string.h +37 -0
- data/vendor/local/include/unicode/strenum.h +276 -0
- data/vendor/local/include/unicode/stringpiece.h +224 -0
- data/vendor/local/include/unicode/stringtriebuilder.h +402 -0
- data/vendor/local/include/unicode/stsearch.h +504 -0
- data/vendor/local/include/unicode/symtable.h +112 -0
- data/vendor/local/include/unicode/tblcoll.h +873 -0
- data/vendor/local/include/unicode/timezone.h +948 -0
- data/vendor/local/include/unicode/tmunit.h +129 -0
- data/vendor/local/include/unicode/tmutamt.h +168 -0
- data/vendor/local/include/unicode/tmutfmt.h +243 -0
- data/vendor/local/include/unicode/translit.h +1342 -0
- data/vendor/local/include/unicode/tzfmt.h +1098 -0
- data/vendor/local/include/unicode/tznames.h +404 -0
- data/vendor/local/include/unicode/tzrule.h +828 -0
- data/vendor/local/include/unicode/tztrans.h +195 -0
- data/vendor/local/include/unicode/ubidi.h +2186 -0
- data/vendor/local/include/unicode/ubrk.h +540 -0
- data/vendor/local/include/unicode/ucal.h +1560 -0
- data/vendor/local/include/unicode/ucasemap.h +423 -0
- data/vendor/local/include/unicode/ucat.h +158 -0
- data/vendor/local/include/unicode/uchar.h +3426 -0
- data/vendor/local/include/unicode/ucharstrie.h +576 -0
- data/vendor/local/include/unicode/ucharstriebuilder.h +185 -0
- data/vendor/local/include/unicode/uchriter.h +381 -0
- data/vendor/local/include/unicode/uclean.h +258 -0
- data/vendor/local/include/unicode/ucnv.h +2036 -0
- data/vendor/local/include/unicode/ucnv_cb.h +162 -0
- data/vendor/local/include/unicode/ucnv_err.h +463 -0
- data/vendor/local/include/unicode/ucnvsel.h +187 -0
- data/vendor/local/include/unicode/ucol.h +1474 -0
- data/vendor/local/include/unicode/ucoleitr.h +266 -0
- data/vendor/local/include/unicode/uconfig.h +430 -0
- data/vendor/local/include/unicode/ucsdet.h +413 -0
- data/vendor/local/include/unicode/ucurr.h +424 -0
- data/vendor/local/include/unicode/udat.h +1536 -0
- data/vendor/local/include/unicode/udata.h +430 -0
- data/vendor/local/include/unicode/udateintervalformat.h +181 -0
- data/vendor/local/include/unicode/udatpg.h +588 -0
- data/vendor/local/include/unicode/udisplaycontext.h +150 -0
- data/vendor/local/include/unicode/uenum.h +206 -0
- data/vendor/local/include/unicode/uformattable.h +280 -0
- data/vendor/local/include/unicode/ugender.h +82 -0
- data/vendor/local/include/unicode/uidna.h +762 -0
- data/vendor/local/include/unicode/uiter.h +707 -0
- data/vendor/local/include/unicode/uldnames.h +302 -0
- data/vendor/local/include/unicode/uloc.h +1256 -0
- data/vendor/local/include/unicode/ulocdata.h +277 -0
- data/vendor/local/include/unicode/umachine.h +356 -0
- data/vendor/local/include/unicode/umisc.h +60 -0
- data/vendor/local/include/unicode/umsg.h +623 -0
- data/vendor/local/include/unicode/unifilt.h +120 -0
- data/vendor/local/include/unicode/unifunct.h +125 -0
- data/vendor/local/include/unicode/unimatch.h +163 -0
- data/vendor/local/include/unicode/unirepl.h +97 -0
- data/vendor/local/include/unicode/uniset.h +1691 -0
- data/vendor/local/include/unicode/unistr.h +4470 -0
- data/vendor/local/include/unicode/unorm.h +561 -0
- data/vendor/local/include/unicode/unorm2.h +528 -0
- data/vendor/local/include/unicode/unum.h +1328 -0
- data/vendor/local/include/unicode/unumsys.h +170 -0
- data/vendor/local/include/unicode/uobject.h +320 -0
- data/vendor/local/include/unicode/upluralrules.h +145 -0
- data/vendor/local/include/unicode/uregex.h +1591 -0
- data/vendor/local/include/unicode/uregion.h +248 -0
- data/vendor/local/include/unicode/urename.h +1784 -0
- data/vendor/local/include/unicode/urep.h +155 -0
- data/vendor/local/include/unicode/ures.h +887 -0
- data/vendor/local/include/unicode/uscript.h +642 -0
- data/vendor/local/include/unicode/usearch.h +885 -0
- data/vendor/local/include/unicode/uset.h +1126 -0
- data/vendor/local/include/unicode/usetiter.h +318 -0
- data/vendor/local/include/unicode/ushape.h +474 -0
- data/vendor/local/include/unicode/uspoof.h +1064 -0
- data/vendor/local/include/unicode/usprep.h +269 -0
- data/vendor/local/include/unicode/ustdio.h +1018 -0
- data/vendor/local/include/unicode/ustream.h +68 -0
- data/vendor/local/include/unicode/ustring.h +1700 -0
- data/vendor/local/include/unicode/ustringtrie.h +95 -0
- data/vendor/local/include/unicode/utext.h +1600 -0
- data/vendor/local/include/unicode/utf.h +223 -0
- data/vendor/local/include/unicode/utf16.h +623 -0
- data/vendor/local/include/unicode/utf32.h +23 -0
- data/vendor/local/include/unicode/utf8.h +824 -0
- data/vendor/local/include/unicode/utf_old.h +1169 -0
- data/vendor/local/include/unicode/utmscale.h +481 -0
- data/vendor/local/include/unicode/utrace.h +359 -0
- data/vendor/local/include/unicode/utrans.h +658 -0
- data/vendor/local/include/unicode/utypes.h +723 -0
- data/vendor/local/include/unicode/uvernum.h +170 -0
- data/vendor/local/include/unicode/uversion.h +193 -0
- data/vendor/local/include/unicode/vtzone.h +455 -0
- data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
- data/vendor/local/lib/icu/54.1/Makefile.inc +293 -0
- data/vendor/local/lib/icu/54.1/pkgdata.inc +17 -0
- data/vendor/local/lib/icu/Makefile.inc +293 -0
- data/vendor/local/lib/icu/pkgdata.inc +17 -0
- data/vendor/local/lib/icudt.dll +0 -0
- data/vendor/local/lib/icudt54.dll +0 -0
- data/vendor/local/lib/icuin.dll +0 -0
- data/vendor/local/lib/icuin54.dll +0 -0
- data/vendor/local/lib/icuio.dll +0 -0
- data/vendor/local/lib/icuio54.dll +0 -0
- data/vendor/local/lib/icule.dll +0 -0
- data/vendor/local/lib/icule54.dll +0 -0
- data/vendor/local/lib/iculx.dll +0 -0
- data/vendor/local/lib/iculx54.dll +0 -0
- data/vendor/local/lib/icutest.dll +0 -0
- data/vendor/local/lib/icutest54.dll +0 -0
- data/vendor/local/lib/icutu.dll +0 -0
- data/vendor/local/lib/icutu54.dll +0 -0
- data/vendor/local/lib/icuuc.dll +0 -0
- data/vendor/local/lib/icuuc54.dll +0 -0
- data/vendor/local/lib/libharfbuzz-icu.a +0 -0
- data/vendor/local/lib/libharfbuzz-icu.la +41 -0
- data/vendor/local/lib/libharfbuzz.dll.a +0 -0
- data/vendor/local/lib/libharfbuzz.la +3 -3
- data/vendor/local/lib/libicudt.dll.a +0 -0
- data/vendor/local/lib/libicuin.dll.a +0 -0
- data/vendor/local/lib/libicuio.dll.a +0 -0
- data/vendor/local/lib/libicule.dll.a +0 -0
- data/vendor/local/lib/libiculx.dll.a +0 -0
- data/vendor/local/lib/libicutest.dll.a +0 -0
- data/vendor/local/lib/libicutu.dll.a +0 -0
- data/vendor/local/lib/libicuuc.dll.a +0 -0
- data/vendor/local/lib/libpango-1.0.dll.a +0 -0
- data/vendor/local/lib/libpango-1.0.la +2 -2
- data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangocairo-1.0.la +2 -2
- data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangoft2-1.0.la +2 -2
- data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangowin32-1.0.la +2 -2
- data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +1 -1
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +1 -1
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +1 -1
- data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +1 -1
- data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +13 -0
- data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
- data/vendor/local/lib/pkgconfig/icu-i18n.pc +38 -0
- data/vendor/local/lib/pkgconfig/icu-io.pc +38 -0
- data/vendor/local/lib/pkgconfig/icu-le.pc +38 -0
- data/vendor/local/lib/pkgconfig/icu-lx.pc +38 -0
- data/vendor/local/lib/pkgconfig/icu-uc.pc +38 -0
- data/vendor/local/lib/pkgconfig/pango.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
- data/vendor/local/share/gir-1.0/Pango-1.0.gir +3009 -462
- data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +64 -22
- data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +4 -2
- data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +30 -26
- data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +343 -313
- data/vendor/local/share/gtk-doc/html/harfbuzz/ch01.html +5 -5
- data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +6 -8
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +442 -247
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +1389 -654
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +954 -698
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +95 -18
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +36 -27
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +477 -191
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +1951 -1039
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +123 -65
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +66 -21
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +11 -13
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +67 -23
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +66 -21
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +574 -347
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +104 -37
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +10 -27
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +744 -318
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +294 -153
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +196 -104
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +1100 -757
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +51 -18
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +110 -84
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +11 -13
- data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +289 -503
- data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +3 -3
- data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +161 -316
- data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +31 -4
- data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +260 -105
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +143 -105
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +150 -108
- data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +163 -112
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +348 -229
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +746 -514
- data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +9 -9
- data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +853 -623
- data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +29 -13
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +31 -33
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +10 -12
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +12 -14
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +53 -55
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +28 -30
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +29 -31
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +17 -19
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +28 -30
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +17 -19
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +9 -11
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +6 -6
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +6 -6
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +11 -13
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +7 -9
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +5 -5
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +49 -51
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +36 -38
- data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +37 -39
- data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +68 -70
- data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +568 -570
- data/vendor/local/share/gtk-doc/html/pango/index.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index.sgml +229 -399
- data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +345 -259
- data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +979 -664
- data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +70 -43
- data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +349 -229
- data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +236 -153
- data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +3100 -2159
- data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +659 -472
- data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +1952 -1384
- data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +3050 -2135
- data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +676 -463
- data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +223 -146
- data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1589 -1199
- data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +1072 -842
- data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +406 -276
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +2541 -1792
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +1479 -1033
- data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +214 -154
- data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +374 -291
- data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +733 -498
- data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +893 -617
- data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +59 -59
- data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +5 -5
- data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +578 -782
- data/vendor/local/share/gtk-doc/html/pango/pango.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/rendering.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/style.css +260 -105
- data/vendor/local/share/gtk-doc/html/pango/tools.html +4 -4
- data/vendor/local/share/icu/54.1/config/mh-mingw +158 -0
- data/vendor/local/share/icu/54.1/install-sh +251 -0
- data/vendor/local/share/icu/54.1/license.html +385 -0
- data/vendor/local/share/icu/54.1/mkinstalldirs +43 -0
- data/vendor/local/share/license/harfbuzz/AUTHORS +1 -0
- data/vendor/local/share/man/man1/derb.1 +196 -0
- data/vendor/local/share/man/man1/genbrk.1 +112 -0
- data/vendor/local/share/man/man1/gencfu.1 +91 -0
- data/vendor/local/share/man/man1/gencnval.1 +91 -0
- data/vendor/local/share/man/man1/gendict.1 +131 -0
- data/vendor/local/share/man/man1/genrb.1 +146 -0
- data/vendor/local/share/man/man1/icu-config.1 +288 -0
- data/vendor/local/share/man/man1/makeconv.1 +112 -0
- data/vendor/local/share/man/man1/pango-querymodules.1 +2 -2
- data/vendor/local/share/man/man1/pango-view.1 +1 -118
- data/vendor/local/share/man/man1/pkgdata.1 +258 -0
- data/vendor/local/share/man/man1/uconv.1 +443 -0
- data/vendor/local/share/man/man8/genccode.8 +106 -0
- data/vendor/local/share/man/man8/gencmn.8 +129 -0
- data/vendor/local/share/man/man8/gensprep.8 +102 -0
- data/vendor/local/share/man/man8/icupkg.8 +204 -0
- metadata +266 -14
- data/lib/1.9/pango.so +0 -0
- data/lib/2.1/pango.so +0 -0
@@ -0,0 +1,167 @@
|
|
1
|
+
/*
|
2
|
+
*******************************************************************************
|
3
|
+
*
|
4
|
+
* Copyright (C) 2012-2014, International Business Machines
|
5
|
+
* Corporation and others. All Rights Reserved.
|
6
|
+
*
|
7
|
+
*******************************************************************************
|
8
|
+
* file name: listformatter.h
|
9
|
+
* encoding: US-ASCII
|
10
|
+
* tab size: 8 (not used)
|
11
|
+
* indentation:4
|
12
|
+
*
|
13
|
+
* created on: 20120426
|
14
|
+
* created by: Umesh P. Nair
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef __LISTFORMATTER_H__
|
18
|
+
#define __LISTFORMATTER_H__
|
19
|
+
|
20
|
+
#include "unicode/utypes.h"
|
21
|
+
|
22
|
+
#include "unicode/unistr.h"
|
23
|
+
#include "unicode/locid.h"
|
24
|
+
|
25
|
+
U_NAMESPACE_BEGIN
|
26
|
+
|
27
|
+
/** @internal */
|
28
|
+
class Hashtable;
|
29
|
+
|
30
|
+
/** @internal */
|
31
|
+
struct ListFormatInternal;
|
32
|
+
|
33
|
+
/* The following can't be #ifndef U_HIDE_INTERNAL_API, needed for other .h file declarations */
|
34
|
+
/** @internal */
|
35
|
+
struct ListFormatData : public UMemory {
|
36
|
+
UnicodeString twoPattern;
|
37
|
+
UnicodeString startPattern;
|
38
|
+
UnicodeString middlePattern;
|
39
|
+
UnicodeString endPattern;
|
40
|
+
|
41
|
+
ListFormatData(const UnicodeString& two, const UnicodeString& start, const UnicodeString& middle, const UnicodeString& end) :
|
42
|
+
twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end) {}
|
43
|
+
};
|
44
|
+
|
45
|
+
|
46
|
+
/**
|
47
|
+
* \file
|
48
|
+
* \brief C++ API: API for formatting a list.
|
49
|
+
*/
|
50
|
+
|
51
|
+
|
52
|
+
/**
|
53
|
+
* An immutable class for formatting a list, using data from CLDR (or supplied
|
54
|
+
* separately).
|
55
|
+
*
|
56
|
+
* Example: Input data ["Alice", "Bob", "Charlie", "Delta"] will be formatted
|
57
|
+
* as "Alice, Bob, Charlie and Delta" in English.
|
58
|
+
*
|
59
|
+
* The ListFormatter class is not intended for public subclassing.
|
60
|
+
* @stable ICU 50
|
61
|
+
*/
|
62
|
+
class U_COMMON_API ListFormatter : public UObject{
|
63
|
+
|
64
|
+
public:
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Copy constructor.
|
68
|
+
* @stable ICU 52
|
69
|
+
*/
|
70
|
+
ListFormatter(const ListFormatter&);
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Assignment operator.
|
74
|
+
* @stable ICU 52
|
75
|
+
*/
|
76
|
+
ListFormatter& operator=(const ListFormatter& other);
|
77
|
+
|
78
|
+
/**
|
79
|
+
* Creates a ListFormatter appropriate for the default locale.
|
80
|
+
*
|
81
|
+
* @param errorCode ICU error code, set if no data available for default locale.
|
82
|
+
* @return Pointer to a ListFormatter object for the default locale,
|
83
|
+
* created from internal data derived from CLDR data.
|
84
|
+
* @stable ICU 50
|
85
|
+
*/
|
86
|
+
static ListFormatter* createInstance(UErrorCode& errorCode);
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Creates a ListFormatter appropriate for a locale.
|
90
|
+
*
|
91
|
+
* @param locale The locale.
|
92
|
+
* @param errorCode ICU error code, set if no data available for the given locale.
|
93
|
+
* @return A ListFormatter object created from internal data derived from
|
94
|
+
* CLDR data.
|
95
|
+
* @stable ICU 50
|
96
|
+
*/
|
97
|
+
static ListFormatter* createInstance(const Locale& locale, UErrorCode& errorCode);
|
98
|
+
|
99
|
+
#ifndef U_HIDE_INTERNAL_API
|
100
|
+
/**
|
101
|
+
* Creates a ListFormatter appropriate for a locale and style.
|
102
|
+
*
|
103
|
+
* @param locale The locale.
|
104
|
+
* @param style the style, either "standard", "duration", or "duration-short"
|
105
|
+
* @param errorCode ICU error code, set if no data available for the given locale.
|
106
|
+
* @return A ListFormatter object created from internal data derived from
|
107
|
+
* CLDR data.
|
108
|
+
* @internal
|
109
|
+
*/
|
110
|
+
static ListFormatter* createInstance(const Locale& locale, const char* style, UErrorCode& errorCode);
|
111
|
+
#endif /* U_HIDE_INTERNAL_API */
|
112
|
+
|
113
|
+
/**
|
114
|
+
* Destructor.
|
115
|
+
*
|
116
|
+
* @stable ICU 50
|
117
|
+
*/
|
118
|
+
virtual ~ListFormatter();
|
119
|
+
|
120
|
+
|
121
|
+
/**
|
122
|
+
* Formats a list of strings.
|
123
|
+
*
|
124
|
+
* @param items An array of strings to be combined and formatted.
|
125
|
+
* @param n_items Length of the array items.
|
126
|
+
* @param appendTo The string to which the result should be appended to.
|
127
|
+
* @param errorCode ICU error code, set if there is an error.
|
128
|
+
* @return Formatted string combining the elements of items, appended to appendTo.
|
129
|
+
* @stable ICU 50
|
130
|
+
*/
|
131
|
+
UnicodeString& format(const UnicodeString items[], int32_t n_items,
|
132
|
+
UnicodeString& appendTo, UErrorCode& errorCode) const;
|
133
|
+
|
134
|
+
#ifndef U_HIDE_INTERNAL_API
|
135
|
+
/**
|
136
|
+
@internal for MeasureFormat
|
137
|
+
*/
|
138
|
+
UnicodeString& format(
|
139
|
+
const UnicodeString items[],
|
140
|
+
int32_t n_items,
|
141
|
+
UnicodeString& appendTo,
|
142
|
+
int32_t index,
|
143
|
+
int32_t &offset,
|
144
|
+
UErrorCode& errorCode) const;
|
145
|
+
/**
|
146
|
+
* @internal constructor made public for testing.
|
147
|
+
*/
|
148
|
+
ListFormatter(const ListFormatData &data);
|
149
|
+
/**
|
150
|
+
* @internal constructor made public for testing.
|
151
|
+
*/
|
152
|
+
ListFormatter(const ListFormatInternal* listFormatterInternal);
|
153
|
+
#endif /* U_HIDE_INTERNAL_API */
|
154
|
+
|
155
|
+
private:
|
156
|
+
static void initializeHash(UErrorCode& errorCode);
|
157
|
+
static const ListFormatInternal* getListFormatInternal(const Locale& locale, const char *style, UErrorCode& errorCode);
|
158
|
+
|
159
|
+
ListFormatter();
|
160
|
+
|
161
|
+
ListFormatInternal* owned;
|
162
|
+
const ListFormatInternal* data;
|
163
|
+
};
|
164
|
+
|
165
|
+
U_NAMESPACE_END
|
166
|
+
|
167
|
+
#endif
|
@@ -0,0 +1,304 @@
|
|
1
|
+
/*
|
2
|
+
*******************************************************************************
|
3
|
+
*
|
4
|
+
* Copyright (C) 2009-2012, International Business Machines
|
5
|
+
* Corporation and others. All Rights Reserved.
|
6
|
+
*
|
7
|
+
*******************************************************************************
|
8
|
+
* file name: localpointer.h
|
9
|
+
* encoding: US-ASCII
|
10
|
+
* tab size: 8 (not used)
|
11
|
+
* indentation:4
|
12
|
+
*
|
13
|
+
* created on: 2009nov13
|
14
|
+
* created by: Markus W. Scherer
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef __LOCALPOINTER_H__
|
18
|
+
#define __LOCALPOINTER_H__
|
19
|
+
|
20
|
+
/**
|
21
|
+
* \file
|
22
|
+
* \brief C++ API: "Smart pointers" for use with and in ICU4C C++ code.
|
23
|
+
*
|
24
|
+
* These classes are inspired by
|
25
|
+
* - std::auto_ptr
|
26
|
+
* - boost::scoped_ptr & boost::scoped_array
|
27
|
+
* - Taligent Safe Pointers (TOnlyPointerTo)
|
28
|
+
*
|
29
|
+
* but none of those provide for all of the goals for ICU smart pointers:
|
30
|
+
* - Smart pointer owns the object and releases it when it goes out of scope.
|
31
|
+
* - No transfer of ownership via copy/assignment to reduce misuse. Simpler & more robust.
|
32
|
+
* - ICU-compatible: No exceptions.
|
33
|
+
* - Need to be able to orphan/release the pointer and its ownership.
|
34
|
+
* - Need variants for normal C++ object pointers, C++ arrays, and ICU C service objects.
|
35
|
+
*
|
36
|
+
* For details see http://site.icu-project.org/design/cpp/scoped_ptr
|
37
|
+
*/
|
38
|
+
|
39
|
+
#include "unicode/utypes.h"
|
40
|
+
|
41
|
+
#if U_SHOW_CPLUSPLUS_API
|
42
|
+
|
43
|
+
U_NAMESPACE_BEGIN
|
44
|
+
|
45
|
+
/**
|
46
|
+
* "Smart pointer" base class; do not use directly: use LocalPointer etc.
|
47
|
+
*
|
48
|
+
* Base class for smart pointer classes that do not throw exceptions.
|
49
|
+
*
|
50
|
+
* Do not use this base class directly, since it does not delete its pointer.
|
51
|
+
* A subclass must implement methods that delete the pointer:
|
52
|
+
* Destructor and adoptInstead().
|
53
|
+
*
|
54
|
+
* There is no operator T *() provided because the programmer must decide
|
55
|
+
* whether to use getAlias() (without transfer of ownership) or orpan()
|
56
|
+
* (with transfer of ownership and NULLing of the pointer).
|
57
|
+
*
|
58
|
+
* @see LocalPointer
|
59
|
+
* @see LocalArray
|
60
|
+
* @see U_DEFINE_LOCAL_OPEN_POINTER
|
61
|
+
* @stable ICU 4.4
|
62
|
+
*/
|
63
|
+
template<typename T>
|
64
|
+
class LocalPointerBase {
|
65
|
+
public:
|
66
|
+
/**
|
67
|
+
* Constructor takes ownership.
|
68
|
+
* @param p simple pointer to an object that is adopted
|
69
|
+
* @stable ICU 4.4
|
70
|
+
*/
|
71
|
+
explicit LocalPointerBase(T *p=NULL) : ptr(p) {}
|
72
|
+
/**
|
73
|
+
* Destructor deletes the object it owns.
|
74
|
+
* Subclass must override: Base class does nothing.
|
75
|
+
* @stable ICU 4.4
|
76
|
+
*/
|
77
|
+
~LocalPointerBase() { /* delete ptr; */ }
|
78
|
+
/**
|
79
|
+
* NULL check.
|
80
|
+
* @return TRUE if ==NULL
|
81
|
+
* @stable ICU 4.4
|
82
|
+
*/
|
83
|
+
UBool isNull() const { return ptr==NULL; }
|
84
|
+
/**
|
85
|
+
* NULL check.
|
86
|
+
* @return TRUE if !=NULL
|
87
|
+
* @stable ICU 4.4
|
88
|
+
*/
|
89
|
+
UBool isValid() const { return ptr!=NULL; }
|
90
|
+
/**
|
91
|
+
* Comparison with a simple pointer, so that existing code
|
92
|
+
* with ==NULL need not be changed.
|
93
|
+
* @param other simple pointer for comparison
|
94
|
+
* @return true if this pointer value equals other
|
95
|
+
* @stable ICU 4.4
|
96
|
+
*/
|
97
|
+
bool operator==(const T *other) const { return ptr==other; }
|
98
|
+
/**
|
99
|
+
* Comparison with a simple pointer, so that existing code
|
100
|
+
* with !=NULL need not be changed.
|
101
|
+
* @param other simple pointer for comparison
|
102
|
+
* @return true if this pointer value differs from other
|
103
|
+
* @stable ICU 4.4
|
104
|
+
*/
|
105
|
+
bool operator!=(const T *other) const { return ptr!=other; }
|
106
|
+
/**
|
107
|
+
* Access without ownership change.
|
108
|
+
* @return the pointer value
|
109
|
+
* @stable ICU 4.4
|
110
|
+
*/
|
111
|
+
T *getAlias() const { return ptr; }
|
112
|
+
/**
|
113
|
+
* Access without ownership change.
|
114
|
+
* @return the pointer value as a reference
|
115
|
+
* @stable ICU 4.4
|
116
|
+
*/
|
117
|
+
T &operator*() const { return *ptr; }
|
118
|
+
/**
|
119
|
+
* Access without ownership change.
|
120
|
+
* @return the pointer value
|
121
|
+
* @stable ICU 4.4
|
122
|
+
*/
|
123
|
+
T *operator->() const { return ptr; }
|
124
|
+
/**
|
125
|
+
* Gives up ownership; the internal pointer becomes NULL.
|
126
|
+
* @return the pointer value;
|
127
|
+
* caller becomes responsible for deleting the object
|
128
|
+
* @stable ICU 4.4
|
129
|
+
*/
|
130
|
+
T *orphan() {
|
131
|
+
T *p=ptr;
|
132
|
+
ptr=NULL;
|
133
|
+
return p;
|
134
|
+
}
|
135
|
+
/**
|
136
|
+
* Deletes the object it owns,
|
137
|
+
* and adopts (takes ownership of) the one passed in.
|
138
|
+
* Subclass must override: Base class does not delete the object.
|
139
|
+
* @param p simple pointer to an object that is adopted
|
140
|
+
* @stable ICU 4.4
|
141
|
+
*/
|
142
|
+
void adoptInstead(T *p) {
|
143
|
+
// delete ptr;
|
144
|
+
ptr=p;
|
145
|
+
}
|
146
|
+
protected:
|
147
|
+
/**
|
148
|
+
* Actual pointer.
|
149
|
+
* @internal
|
150
|
+
*/
|
151
|
+
T *ptr;
|
152
|
+
private:
|
153
|
+
// No comparison operators with other LocalPointerBases.
|
154
|
+
bool operator==(const LocalPointerBase &other);
|
155
|
+
bool operator!=(const LocalPointerBase &other);
|
156
|
+
// No ownership transfer: No copy constructor, no assignment operator.
|
157
|
+
LocalPointerBase(const LocalPointerBase &other);
|
158
|
+
void operator=(const LocalPointerBase &other);
|
159
|
+
// No heap allocation. Use only on the stack.
|
160
|
+
static void * U_EXPORT2 operator new(size_t size);
|
161
|
+
static void * U_EXPORT2 operator new[](size_t size);
|
162
|
+
#if U_HAVE_PLACEMENT_NEW
|
163
|
+
static void * U_EXPORT2 operator new(size_t, void *ptr);
|
164
|
+
#endif
|
165
|
+
};
|
166
|
+
|
167
|
+
/**
|
168
|
+
* "Smart pointer" class, deletes objects via the standard C++ delete operator.
|
169
|
+
* For most methods see the LocalPointerBase base class.
|
170
|
+
*
|
171
|
+
* Usage example:
|
172
|
+
* \code
|
173
|
+
* LocalPointer<UnicodeString> s(new UnicodeString((UChar32)0x50005));
|
174
|
+
* int32_t length=s->length(); // 2
|
175
|
+
* UChar lead=s->charAt(0); // 0xd900
|
176
|
+
* if(some condition) { return; } // no need to explicitly delete the pointer
|
177
|
+
* s.adoptInstead(new UnicodeString((UChar)0xfffc));
|
178
|
+
* length=s->length(); // 1
|
179
|
+
* // no need to explicitly delete the pointer
|
180
|
+
* \endcode
|
181
|
+
*
|
182
|
+
* @see LocalPointerBase
|
183
|
+
* @stable ICU 4.4
|
184
|
+
*/
|
185
|
+
template<typename T>
|
186
|
+
class LocalPointer : public LocalPointerBase<T> {
|
187
|
+
public:
|
188
|
+
/**
|
189
|
+
* Constructor takes ownership.
|
190
|
+
* @param p simple pointer to an object that is adopted
|
191
|
+
* @stable ICU 4.4
|
192
|
+
*/
|
193
|
+
explicit LocalPointer(T *p=NULL) : LocalPointerBase<T>(p) {}
|
194
|
+
/**
|
195
|
+
* Destructor deletes the object it owns.
|
196
|
+
* @stable ICU 4.4
|
197
|
+
*/
|
198
|
+
~LocalPointer() {
|
199
|
+
delete LocalPointerBase<T>::ptr;
|
200
|
+
}
|
201
|
+
/**
|
202
|
+
* Deletes the object it owns,
|
203
|
+
* and adopts (takes ownership of) the one passed in.
|
204
|
+
* @param p simple pointer to an object that is adopted
|
205
|
+
* @stable ICU 4.4
|
206
|
+
*/
|
207
|
+
void adoptInstead(T *p) {
|
208
|
+
delete LocalPointerBase<T>::ptr;
|
209
|
+
LocalPointerBase<T>::ptr=p;
|
210
|
+
}
|
211
|
+
};
|
212
|
+
|
213
|
+
/**
|
214
|
+
* "Smart pointer" class, deletes objects via the C++ array delete[] operator.
|
215
|
+
* For most methods see the LocalPointerBase base class.
|
216
|
+
* Adds operator[] for array item access.
|
217
|
+
*
|
218
|
+
* Usage example:
|
219
|
+
* \code
|
220
|
+
* LocalArray<UnicodeString> a(new UnicodeString[2]);
|
221
|
+
* a[0].append((UChar)0x61);
|
222
|
+
* if(some condition) { return; } // no need to explicitly delete the array
|
223
|
+
* a.adoptInstead(new UnicodeString[4]);
|
224
|
+
* a[3].append((UChar)0x62).append((UChar)0x63).reverse();
|
225
|
+
* // no need to explicitly delete the array
|
226
|
+
* \endcode
|
227
|
+
*
|
228
|
+
* @see LocalPointerBase
|
229
|
+
* @stable ICU 4.4
|
230
|
+
*/
|
231
|
+
template<typename T>
|
232
|
+
class LocalArray : public LocalPointerBase<T> {
|
233
|
+
public:
|
234
|
+
/**
|
235
|
+
* Constructor takes ownership.
|
236
|
+
* @param p simple pointer to an array of T objects that is adopted
|
237
|
+
* @stable ICU 4.4
|
238
|
+
*/
|
239
|
+
explicit LocalArray(T *p=NULL) : LocalPointerBase<T>(p) {}
|
240
|
+
/**
|
241
|
+
* Destructor deletes the array it owns.
|
242
|
+
* @stable ICU 4.4
|
243
|
+
*/
|
244
|
+
~LocalArray() {
|
245
|
+
delete[] LocalPointerBase<T>::ptr;
|
246
|
+
}
|
247
|
+
/**
|
248
|
+
* Deletes the array it owns,
|
249
|
+
* and adopts (takes ownership of) the one passed in.
|
250
|
+
* @param p simple pointer to an array of T objects that is adopted
|
251
|
+
* @stable ICU 4.4
|
252
|
+
*/
|
253
|
+
void adoptInstead(T *p) {
|
254
|
+
delete[] LocalPointerBase<T>::ptr;
|
255
|
+
LocalPointerBase<T>::ptr=p;
|
256
|
+
}
|
257
|
+
/**
|
258
|
+
* Array item access (writable).
|
259
|
+
* No index bounds check.
|
260
|
+
* @param i array index
|
261
|
+
* @return reference to the array item
|
262
|
+
* @stable ICU 4.4
|
263
|
+
*/
|
264
|
+
T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
|
265
|
+
};
|
266
|
+
|
267
|
+
/**
|
268
|
+
* \def U_DEFINE_LOCAL_OPEN_POINTER
|
269
|
+
* "Smart pointer" definition macro, deletes objects via the closeFunction.
|
270
|
+
* Defines a subclass of LocalPointerBase which works just
|
271
|
+
* like LocalPointer<Type> except that this subclass will use the closeFunction
|
272
|
+
* rather than the C++ delete operator.
|
273
|
+
*
|
274
|
+
* Requirement: The closeFunction must tolerate a NULL pointer.
|
275
|
+
* (We could add a NULL check here but it is normally redundant.)
|
276
|
+
*
|
277
|
+
* Usage example:
|
278
|
+
* \code
|
279
|
+
* LocalUCaseMapPointer csm(ucasemap_open(localeID, options, &errorCode));
|
280
|
+
* utf8OutLength=ucasemap_utf8ToLower(csm.getAlias(),
|
281
|
+
* utf8Out, (int32_t)sizeof(utf8Out),
|
282
|
+
* utf8In, utf8InLength, &errorCode);
|
283
|
+
* if(U_FAILURE(errorCode)) { return; } // no need to explicitly delete the UCaseMap
|
284
|
+
* \endcode
|
285
|
+
*
|
286
|
+
* @see LocalPointerBase
|
287
|
+
* @see LocalPointer
|
288
|
+
* @stable ICU 4.4
|
289
|
+
*/
|
290
|
+
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \
|
291
|
+
class LocalPointerClassName : public LocalPointerBase<Type> { \
|
292
|
+
public: \
|
293
|
+
explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \
|
294
|
+
~LocalPointerClassName() { closeFunction(ptr); } \
|
295
|
+
void adoptInstead(Type *p) { \
|
296
|
+
closeFunction(ptr); \
|
297
|
+
ptr=p; \
|
298
|
+
} \
|
299
|
+
}
|
300
|
+
|
301
|
+
U_NAMESPACE_END
|
302
|
+
|
303
|
+
#endif /* U_SHOW_CPLUSPLUS_API */
|
304
|
+
#endif /* __LOCALPOINTER_H__ */
|