26 #ifndef SHORE_IO_MAPLIST_HPP__
27 #define SHORE_IO_MAPLIST_HPP__
39 #include <boost/function.hpp>
59 typedef boost::function<void ()> tagfun_t;
63 std::string::const_iterator m_tagbeg;
64 std::string::const_iterator m_tagend;
66 template<
typename Iterator>
67 static size_t th(Iterator s)
69 return (uint32_t(s[0])&127u)|((uint32_t(s[1])&127u)<<7);
74 static const size_t MAXTAGS=128*128;
81 void parse_tags(std::string::const_iterator b,std::string::const_iterator e);
83 void tagfun_invalid();
101 std::string m_linebuf;
104 std::string m_indexfile;
106 std::string m_readgroup_default;
117 void guess_default_tags(
const std::string &fn);
128 const std::string& get_name()
const;
130 const std::string& current_line()
const;
153 std::string m_indexfile;
155 std::string m_readgroup_default;
165 void guess_default_tags(
const std::string &fn);
175 bool has_data()
const;
179 const std::string& filename()
const;
181 const std::string& current_line()
const;
206 void append(
const shore::segment &f);
215 #endif // SHORE_IO_MAPLIST_HPP__