summaryrefslogtreecommitdiff
path: root/src/tag.hpp
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-01-31 17:36:15 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-01-31 17:36:15 +0300
commiteac37c6a45837f7ea717c9fed8cb21e2d5665618 (patch)
treed09a2c645baf2ab043762856aacc9111be221f99 /src/tag.hpp
parent0be032c6998e712dc2c9f2ed97c3491d89eb05af (diff)
downloadxift-eac37c6a45837f7ea717c9fed8cb21e2d5665618.tar
xift-eac37c6a45837f7ea717c9fed8cb21e2d5665618.tar.xz
xift-eac37c6a45837f7ea717c9fed8cb21e2d5665618.zip
[xift] Working.
Diffstat (limited to 'src/tag.hpp')
-rw-r--r--src/tag.hpp41
1 files changed, 19 insertions, 22 deletions
diff --git a/src/tag.hpp b/src/tag.hpp
index 469c4fd..75e5f59 100644
--- a/src/tag.hpp
+++ b/src/tag.hpp
@@ -4,39 +4,36 @@
#include "attribute.hpp"
-class XiftTags {
-public:
- class Item: public XiftAttributes {
- friend class XiftTags;
-
- Item();
- ~Item();
+struct XiftTag: public XiftAttributes {
+ XiftTag();
+ ~XiftTag();
- bool MatchesForm(const Item & form) const;
+ bool MatchesForm(const XiftTag & form) const;
- char *name;
- int len;
- int size;
- };
+ char *name;
+ int len;
+ int size;
+};
+class XiftTags {
+public:
XiftTags();
~XiftTags();
- Item &Tag(const char *name);
- void Remove(const char *name);
+ XiftTag &Tag(const char *name);
+ void Remove(const char *name);
-protected:
- Item *Top();
- void Pop();
- Item *PopToBeDeleted();
- Item &New();
+ XiftTag *Top();
+ void Pop();
+ XiftTag *PopToBeDeleted();
+ XiftTag &New();
- bool ContainsMatchedForm(const Item &tag) const;
+ bool ContainsMatchedForm(const XiftTag &tag) const;
private:
struct Stack {
- Stack *next;
- Item *item;
+ Stack *next;
+ XiftTag *item;
} *stack;
};