Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef ENTRY_H
- #define ENTRY_H
- #include <iostream>
- #include <stdexcept>
- #include <limits>
- class entry
- {
- public:
- entry (const std::string& in_val) { val = in_val; cnt = 0; }
- std::string operator*() const { return val; }
- operator int() const { return cnt; }
- int operator++ (int) { return cnt++; }
- bool operator< (const entry& et) { return (val < et.val); }
- friend std::ostream& operator <<(std::ostream& os, const entry& et) { os << "[" << et.val << " " << et.cnt << "]"; return os; }
- friend std::istream& operator >>(std::istream& is, entry& et)
- {
- char //musi czytać nawias
- is >> //nawias
- if (/*nawias*/ != '[')
- throw std::invalid_argument();
- is >> et.val >> et.cnt;
- is >> parenthesis;
- if (/*nawias*/ != ']')
- throw std::invalid_argument();
- return is;
- }
- private:
- std::string val;
- int cnt;
- };
- #endif // ENTRY_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement