50 #ifndef __BASEREADER_HH__
51 #define __BASEREADER_HH__
63 #include <OpenMesh/Core/System/config.h>
64 #include <OpenMesh/Core/IO/Options.hh>
65 #include <OpenMesh/Core/IO/importer/BaseImporter.hh>
66 #include <OpenMesh/Core/Utils/SingletonT.hh>
93 virtual std::string get_description()
const = 0;
98 virtual std::string get_extensions()
const = 0;
101 virtual std::string
get_magic()
const {
return std::string(
""); }
111 virtual bool read(
const std::string& _filename,
121 virtual bool read(std::istream& _is,
127 virtual bool can_u_read(
const std::string& _filename)
const;
133 bool check_extension(
const std::string& _fname,
134 const std::string& _ext)
const;
145 static inline std::string &left_trim(std::string &_string) {
146 _string.erase(_string.begin(), std::find_if(_string.begin(), _string.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
157 static inline std::string &right_trim(std::string &_string) {
158 _string.erase(std::find_if(_string.rbegin(), _string.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), _string.end());
169 static inline std::string &trim(std::string &_string) {
170 return left_trim(right_trim(_string));