Lines Matching refs:Specs
50 TransliteratorIDParser::Specs::Specs(const UnicodeString& s, const UnicodeString& t,
114 Specs* specsA = NULL;
115 Specs* specsB = NULL;
217 Specs* specs = parseFilterID(id, pos, TRUE);
218 if (specs == NULL) {
224 SingleID* single = specsToID(specs, FORWARD);
226 single->filter = specs->filter;
228 delete specs;
689 * at any location between specs or delimiters, and is returned
691 * @return a Specs object, or NULL if the parse failed. If
694 * pattern is returned in the Specs object, otherwise the returned
698 TransliteratorIDParser::Specs*
801 return new Specs(source, target, variant, sawSource, filter);
812 TransliteratorIDParser::specsToID(const Specs* specs, int32_t dir) {
816 if (specs != NULL) {
819 if (specs->sawSource) {
820 buf.append(specs->source).append(TARGET_SEP);
822 basicPrefix = specs->source;
825 buf.append(specs->target);
827 buf.append(specs->target).append(TARGET_SEP).append(specs->source);
829 if (specs->variant.length() != 0) {
830 buf.append(VARIANT_SEP).append(specs->variant);
834 if (specs->filter.length() != 0) {
835 buf.insert(0, specs->filter);
843 * Given a Specs object, return a SingleID representing the
850 TransliteratorIDParser::specsToSpecialInverse(const Specs& specs, UErrorCode &status) {
851 if (0!=specs.source.caseCompare(ANY, U_FOLD_CASE_DEFAULT)) {
859 inverseTarget = (UnicodeString*) SPECIAL_INVERSES->get(specs.target);
867 if (specs.filter.length() != 0) {
868 buf.append(specs.filter);
870 if (specs.sawSource) {
878 if (specs.variant.length() != 0) {
879 buf.append(VARIANT_SEP).append(specs.variant);
880 basicID.append(VARIANT_SEP).append(specs.variant);