예제 #1
0
        /// <summary>
        /// Adds the feature value.
        /// </summary>
        /// <param name="value">The feature value.</param>
        /// <exception cref="System.InvalidOperationException">Thrown when the current number of feature values is equal to the maximum
        /// and this feature system does not contain the specified value.</exception>
        public void AddValue(FeatureValue value)
        {
            if (!m_values.Contains(value) && m_values.Count == FeatureBundle.MAX_NUM_VALUES)
            {
                throw new InvalidOperationException(HCStrings.kstidTooManyFeatValues);
            }

            value.FeatureBundleIndex = m_values.Count;
            m_values.Add(value);
        }
예제 #2
0
        public HCObjectSet <T> Intersection(IEnumerable <T> items)
        {
            HCObjectSet <T> result = new HCObjectSet <T>();

            foreach (T item in items)
            {
                if (Contains(item))
                {
                    result.Add(item);
                }
            }
            return(result);
        }
예제 #3
0
        public HCObjectSet <T> Difference(IEnumerable <T> items)
        {
            HCObjectSet <T> result = new HCObjectSet <T>();

            foreach (T item in items)
            {
                if (!Contains(item))
                {
                    result.Add(item);
                }
            }
            return(result);
        }
예제 #4
0
 /// <summary>
 /// Adds the stratum.
 /// </summary>
 /// <param name="stratum">The stratum.</param>
 public void AddStratum(Stratum stratum)
 {
     m_strata.Add(stratum);
 }
예제 #5
0
 /// <summary>
 /// Adds the character definition table.
 /// </summary>
 /// <param name="charDefTable">The character definition table.</param>
 public void AddCharacterDefinitionTable(CharacterDefinitionTable charDefTable)
 {
     m_charDefTables.Add(charDefTable);
 }
예제 #6
0
 /// <summary>
 /// Adds the part of speech.
 /// </summary>
 /// <param name="pos">The part of speech.</param>
 internal void AddPOS(PartOfSpeech pos)
 {
     m_pos.Add(pos);
 }
예제 #7
0
 /// <summary>
 /// Adds the morphological rule.
 /// </summary>
 /// <param name="mrule">The morphological rule.</param>
 public void AddMorphologicalRule(MorphologicalRule mrule)
 {
     mrule.Stratum = this;
     m_mrules.Add(mrule);
 }
예제 #8
0
 /// <summary>
 /// Adds the part of speech.
 /// </summary>
 /// <param name="pos">The part of speech.</param>
 public void AddPOS(PartOfSpeech pos)
 {
     m_pos.Add(pos);
 }
예제 #9
0
 /// <summary>
 /// Adds the MPR feature.
 /// </summary>
 /// <param name="mprFeature">The MPR feature.</param>
 public void Add(MPRFeature mprFeature)
 {
     mprFeature.Group = this;
     m_mprFeatures.Add(mprFeature);
 }
예제 #10
0
 /// <summary>
 /// Adds the morphological rule.
 /// </summary>
 /// <param name="mrule">The morphological rule.</param>
 public void AddMorphologicalRule(MorphologicalRule mrule)
 {
     m_mrules.Add(mrule);
 }
예제 #11
0
 /// <summary>
 /// Adds the MPR feature group.
 /// </summary>
 /// <param name="group">The group.</param>
 public void AddMPRFeatureGroup(MPRFeatureGroup group)
 {
     m_mprFeatGroups.Add(group);
 }
예제 #12
0
 public ClosedValueInstance(FeatureValue value)
 {
     m_values = new HCObjectSet <FeatureValue>();
     m_values.Add(value);
 }
예제 #13
0
 /// <summary>
 /// Adds the natural class.
 /// </summary>
 /// <param name="nc">The natural class.</param>
 public void AddNaturalClass(NaturalClass nc)
 {
     m_natClasses.Add(nc);
 }
예제 #14
0
 /// <summary>
 /// Adds the subfeature.
 /// </summary>
 /// <param name="feature">The feature.</param>
 public void AddSubFeature(Feature feature)
 {
     feature.m_parent = this;
     m_subFeatures.Add(feature);
 }
예제 #15
0
 /// <summary>
 /// Adds the value.
 /// </summary>
 /// <param name="value">The value.</param>
 /// <param name="isDefault">if <c>true</c> this value is a default value.</param>
 public void AddPossibleValue(FeatureValue value)
 {
     value.Feature = this;
     m_possibleValues.Add(value);
 }
예제 #16
0
 /// <summary>
 /// Adds the slot.
 /// </summary>
 /// <param name="slot">The slot.</param>
 public void AddSlot(Slot slot)
 {
     m_slots.Add(slot);
 }
예제 #17
0
 /// <summary>
 /// Adds the feature.
 /// </summary>
 /// <param name="feature">The feature.</param>
 public void AddFeature(Feature feature)
 {
     m_features.Add(feature);
 }
예제 #18
0
 /// <summary>
 /// Adds the morphological rule.
 /// </summary>
 /// <param name="rule">The morphological rule.</param>
 public void AddRule(MorphologicalRule rule)
 {
     m_rules.Add(rule);
 }
예제 #19
0
 /// <summary>
 /// Adds the phonological rule.
 /// </summary>
 /// <param name="prule">The phonological rule.</param>
 public void AddPhonologicalRule(PhonologicalRule prule)
 {
     m_prules.Add(prule);
 }
예제 #20
0
 public void AddEntry(LexEntry entry)
 {
     entry.Family = this;
     m_entries.Add(entry);
 }
예제 #21
0
 /// <summary>
 /// Adds the affix template.
 /// </summary>
 /// <param name="template">The affix template.</param>
 public void AddAffixTemplate(AffixTemplate template)
 {
     m_templates.Add(template);
 }
예제 #22
0
 /// <summary>
 /// Adds the lexical family.
 /// </summary>
 /// <param name="family">The lexical family.</param>
 public void AddFamily(LexFamily family)
 {
     m_families.Add(family);
 }
예제 #23
0
 /// <summary>
 /// Adds the MPR feature.
 /// </summary>
 /// <param name="mprFeature">The MPR feature.</param>
 public void AddMPRFeature(MPRFeature mprFeature)
 {
     m_mprFeatures.Add(mprFeature);
 }
예제 #24
0
 /// <summary>
 /// Adds the lexical entry.
 /// </summary>
 /// <param name="entry">The lexical entry.</param>
 public void AddEntry(LexEntry entry)
 {
     m_entries.Add(entry);
 }
예제 #25
0
 /// <summary>
 /// Adds the allomorph.
 /// </summary>
 /// <param name="allomorph">The allomorph.</param>
 public void AddAllomorph(Allomorph allomorph)
 {
     m_allomorphs.Add(allomorph);
 }
예제 #26
0
 /// <summary>
 /// Adds the obligatory head feature.
 /// </summary>
 /// <param name="feature">The feature.</param>
 internal void AddObligatoryHeadFeature(Feature feature)
 {
     m_obligHeadFeatures.Add(feature);
 }