00001 #ifndef _LINGUISTICDEFINITION_LINGFEATURESFORMATTER_H_ 00002 #define _LINGUISTICDEFINITION_LINGFEATURESFORMATTER_H_ 00003 00004 #include <string> 00005 #include <iostream> 00006 00007 #include "LinguisticDefinition/LingDef.h" 00008 #include "LinguisticDefinition/LingFeatures.h" 00009 #include "LinguisticDefinition/Formatter.h" 00010 00011 namespace LinguisticDefinition { 00012 00016 class LingFeaturesFormatter : public Formatter { 00017 public: 00018 00022 LingFeaturesFormatter(const LingDef &); 00023 00027 const LingDef &getLingDef() const; 00028 00032 virtual std::string output(const LingFeatures &) const = 0; 00033 00037 virtual void output(const LingFeatures &, std::ostream &) const = 0; 00038 00039 private: 00040 const LingDef &d_lingDef; 00041 }; 00042 00043 } 00044 00045 #endif //_LINGUISTICDEFINITION_LINGFEATURESFORMATTER_H_