public SyllableMask(Vowels vowels, SyllableCoda codas, SyllableOnset onsets, SyllableDisposition disposition)
 {
     AllowedVowels = vowels;
     AllowedCodas  = codas;
     AllowedOnsets = onsets;
     Disposition   = disposition;
     StartsWith    = "";
     EndsWith      = "";
 }
        static object EnumParseFlags(Type enumType, string value)
        {
            if (value.IndexOf("|") < 0)
            {
                return(Enum.Parse(enumType, value));
            }
            switch (enumType.Name)
            {
            case "Vowels":
                Vowels result1 = (Vowels)0;
                foreach (string s in value.Split('|'))
                {
                    result1 |= (Vowels)Enum.Parse(enumType, s);
                }
                return(result1);

            case "SyllableCoda":
                SyllableCoda result2 = (SyllableCoda)0;
                foreach (string s in value.Split('|'))
                {
                    result2 |= (SyllableCoda)Enum.Parse(enumType, s);
                }
                return(result2);

            case "SyllableOnset":
                SyllableOnset result3 = (SyllableOnset)0;
                foreach (string s in value.Split('|'))
                {
                    result3 |= (SyllableOnset)Enum.Parse(enumType, s);
                }
                return(result3);

            case "SyllableDisposition":
                SyllableDisposition result4 = (SyllableDisposition)0;
                foreach (string s in value.Split('|'))
                {
                    result4 |= (SyllableDisposition)Enum.Parse(enumType, s);
                }
                return(result4);

            case "SyllablePatternAnchor":
                SyllablePatternAnchor result5 = (SyllablePatternAnchor)0;
                foreach (string s in value.Split('|'))
                {
                    result5 |= (SyllablePatternAnchor)Enum.Parse(enumType, s);
                }
                return(result5);
            }
            return(null);
        }
 public SyllableMask(Vowels vowels, SyllableOnset onsets) : this(vowels, SyllableCoda.Any, onsets)
 {
 }
 public SyllableMask(Vowels vowels, SyllableCoda codas, SyllableOnset onsets) : this(vowels, codas, onsets, SyllableDisposition.Required)
 {
 }