MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLTools/include/mlStringLineMultiField.h
Go to the documentation of this file.
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