MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 //---------------------------------------------------------------------------------- 00011 #ifndef __mlStringLineMultiField_H 00012 #define __mlStringLineMultiField_H 00013 00014 #ifndef __MLToolsSystem_H 00015 #include "MLToolsSystem.h" 00016 #endif 00017 00018 #ifndef __mlMultiFields_H 00019 #include <mlMultiFields.h> 00020 #endif 00021 00022 ML_START_NAMESPACE 00023 00024 //------------------------------------------------------------------------- 00029 //------------------------------------------------------------------------- 00030 class MLTOOLS_EXPORT StringLineMultiField : public MultiField<std::string> 00031 { 00032 public: 00037 static const std::string DefaultLineSeparator; 00038 00040 StringLineMultiField(const std::string &name=""); 00041 00045 void setStringValue(const std::string &value); 00046 00056 void setStringValue(const std::string &value, const std::string &sep); 00057 00059 void removeSubString(const std::string &str); 00060 00063 void removeElements(const std::string &str=std::string()); 00064 00066 std::string getStringValue() const; 00067 00075 std::string getStringValue(const std::string &sep) const; 00076 00079 ML_CLASS_HEADER(StringLineMultiField); 00080 }; 00081 00085 MLTOOLS_EXPORT std::ostream& operator<<(std::ostream& s, const StringLineMultiField& stringLineMulti); 00086 00090 MLTOOLS_EXPORT std::istream& operator>>(std::istream& s, StringLineMultiField& stringLineMulti); 00091 00092 ML_END_NAMESPACE 00093 00094 #endif //__mlStringLineMultiField_H