ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Iffy/Cleaner.hpp
Revision: 341
Committed: 2004-12-15T00:32:00-08:00 (20 years, 6 months ago) by douglas
File size: 687 byte(s)
Log Message:
Right!

File Contents

# Content
1 // Iffy
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #ifndef _Cleaner_hpp_
8 #define _Cleaner_hpp_
9
10 #include "Tag.hpp"
11
12 #ifdef MENES_PRAGMA_ONCE
13 #pragma once
14 #endif
15
16 enum SegmentType { TEXT, TAG };
17
18 struct Segment
19 {
20 SegmentType type;
21 ext::String text;
22 Tag tag;
23 Segment() : type(TEXT) {}
24 Segment(const ext::String& text) : type(TEXT), text(text) {}
25 Segment(const Tag& tag) : type(TAG), tag(tag) {}
26 };
27
28 class Cleaner
29 {
30 private:
31 ext::Vector<Segment> segments;
32 public:
33 template <typename Type>
34 void insert(const Type& type) { segments.InsertLast(type); }
35 void clean();
36 // friends:
37 friend ios::PrintWriter& operator<<(ios::PrintWriter& pout, const Cleaner& cleaner);
38 };
39
40 #endif // _Cleaner_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id