ULAPI  8.0
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
oCULJSONDictionaryIterator::JSONNodeInfo
oCULConfigurationEach object of type ULFactory (or one of its descendants) uses a ULConfiguration object to maintain configuration state needed to make decisions about instantiation of workers, locks, data sources, etc. The ULConfiguration object may draw its values from defaults, from a config file, or from the factory's own initialization routines
oCULDerivationA ULDerivation object stores a complete morphological derivation of a word. For example, the derivation of the word "bakers" would consist of the word "bake [verb]" plus two inflection rules, one that transforms a verb into a noun by adding an "-er" suffix, and the other that transforms a singular noun into a plural noun
oCULDictionaryDataSourceIterator
oCULDictionaryDescriptorA ULDictionaryDescriptor describes a particular type of dictionary data source without uniquely specifying the file or database from which it comes. For example, if there are two English-French Ultralingua dictionary data source modules, either or both of them could be identified by specifying the same ULDictionaryDescriptor
oCULDictionaryNodeA ULDictionaryNode represents a unit of data from a ULDictionary
oCULEnumThe base class for all of ULAPI's enhanced enumerated types
oCULExampleAn object of type ULExample represents a single example
oCULFeatureThe class for storing the ULFeatureType and value (integer, enumerated type, or string) associated with the type in some context. ULAPI objects like ULPartOfSpeech and ULDictionaryNode contain lists of ULFeature objects (among other things)
oCULHashTable< K, V >A simple implementation of a hash table
oCULHashTable< ULString, ULList< ULDictionaryIterator > >
oCULHashTable< ULString, uluint32 >
oCULHashTableIterator< K, V >A class used to iterate over the keys in a ULHashTable. Iteration is not in a readily predictable or sorted order, but it does visit each key exactly once
oCULInflectionRuleA ULInflectionRule object stores one of the rules stored in a ULLanguageDataSource and used by ULDissector and ULInflector to perform morphological analyses and syntheses
oCULList< T >A doubly-linked list
oCULList< JSONNodeInfo >
oCULList< ULCollator * >
oCULList< ULDerivation >
oCULList< ULDictionaryDataSource * >
oCULList< ULDictionaryIterator >
oCULList< ULFeature >
oCULList< ULInflectionRule >
oCULList< ULInflectionRuleTransform >
oCULList< ULLanguageDataSource * >
oCULList< ULPair< K, V > >
oCULList< ULPair< ULString, ULList< ULDictionaryIterator > > >
oCULList< ULPair< ULString, uluint32 > >
oCULList< uluint32 >
oCULList< ULWorker * >
oCULListConstIterator< T >A class for iterating over lists of type const ULList&
oCULListConstIterator< ULPair< K, V > >
oCULListIterator< T >A class for iterating over ULList objects
oCULListNode< T >A struct used internally by ULList
oCULListNode< JSONNodeInfo >
oCULListNode< ULCollator * >
oCULListNode< ULDerivation >
oCULListNode< ULDictionaryDataSource * >
oCULListNode< ULDictionaryIterator >
oCULListNode< ULFeature >
oCULListNode< ULInflectionRule >
oCULListNode< ULInflectionRuleTransform >
oCULListNode< ULLanguageDataSource * >
oCULListNode< ULPair< K, V > >
oCULListNode< ULPair< ULString, ULList< ULDictionaryIterator > > >
oCULListNode< ULPair< ULString, uluint32 > >
oCULListNode< uluint32 >
oCULListNode< ULWorker * >
oCULLockULLock is an abstract class describing a simple mutual exclusion primitive. Each operating system or environment will require a different implementation
oCULLockableULLockable can be used as a parent class for any class whose operations need to be made atomic in a threaded context
oCULPair< T, U >A ULPair<T, U> object is an ordered pair of objects of the specified types
oCULPair< K, V >
oCULPair< ULString, ULList< ULDictionaryIterator > >
oCULPair< ULString, uluint32 >
oCULPartOfSpeechAn object of type ULPartOfSpeech represents a single part of speech, including the base category (e.g. noun) and additional features (e.g. gender, case, number, etc.)
oCULPrimitiveNumberA utility struct used by the number translation routines
oCULRendererULRenderer is the abstract parent for classes that render dictionary data into string form
oCULScopeLockerULScopeLocker objects are used to make operations atomic. Just declare a ULScopeLocker object (with a suitable ULLock * parameter) at the top of the function or other block you want made atomic, and the constructor ULScopeLocker object will claim the lock, and its destructor will release the lock whenever control exits the block. See (http://www.cs.wustl.edu/~schmidt/PDF/ScopedLocking.pdf) for details on the Scoped Locking idiom and related concepts.
oCULServiceDescriptorAn object of type ULServiceDescriptor describes a service required by the invoker of the service, along with information about the data source from which the service will be supplied
oCULStringA string wrapper class for use in the Ultralingua API
oCULStringIteratorAn iterator that moves forward (via operator++) through a ULString object
oCULStringReverseIteratorAn iterator that moves backwards (via operator++) through a ULString object
oCULTaggedWordEach ULTaggedWord object represents the list of possible interpretations of a word from a sentence, ordered by decreasing likelihood. For example, in the sentence "Alice drinks coffee", the most likely interpretation of the word "drinks" would be as the third-person singular form of the verb "to drink". The word "drinks" also has a less likely (in this sentence) interpretation as the plural of the noun "drink". Thus, the list of tags corresponding to "drinks" in the context of the sentence "Alice drinks coffee" would have two elements, first the verb and second the noun
oCULVector< T >A resizable array, with constant-time access by index. Slots in the vector are pointers of type T* rather than objects of type T, so unused slots take up only the memory required to store a pointer
oCULVector< const ULAspect * >
oCULVector< const ULCase * >
oCULVector< const ULError * >
oCULVector< const ULFeatureType * >
oCULVector< const ULFormality * >
oCULVector< const ULGender * >
oCULVector< const ULLanguage * >
oCULVector< const ULMood * >
oCULVector< const ULNumber * >
oCULVector< const ULPartOfSpeechCategory * >
oCULVector< const ULPartOfSpeechSubcategory * >
oCULVector< const ULPerson * >
oCULVector< const ULTense * >
\CULWorkerULWorker is the abstract parent for the classes that provide core ULAPI services like number translation, conjugation, word look-up, etc