ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Represent/Represent.hpp
Revision: 387
Committed: 2004-12-24T03:17:21-08:00 (20 years, 5 months ago) by douglas
File size: 1373 byte(s)
Log Message:
Getting somewhere, but I've hit some weird stuff.

File Contents

# Content
1 // Represent
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #ifndef _Represent_hpp_
8 #define _Represent_hpp_
9
10 #include <menes/platform.hpp>
11
12 #ifdef MENES_PRAGMA_ONCE
13 #pragma once
14 #endif
15
16 #include <menes-api/console.hpp>
17 #include <menes-api/environment.hpp>
18 #include <menes-ios/string.hpp>
19 #include <menes-xml/textwriter.hpp>
20
21 #include <map>
22 #include <set>
23
24 #define _sforeach(type, item, set) \
25 for (bool _stop(true); _stop; ) \
26 for (const type& _set = set; _stop; _stop = false) \
27 _for (type::const_iterator, item, _set.begin(), _set.end())
28
29 class Represent
30 {
31 private:
32 struct Environment
33 {
34 ext::String get(const ext::String& name) { try { return api::TheEnvironment.Get(name); } catch (ext::Exception) { return ext::String(); } }
35 } env;
36 struct Item;
37 std::multimap<std::string, std::string> cgi;
38 void parse();
39 void headings(xml::TextWriter& xhtml);
40 void form(xml::TextWriter& xhtml);
41 void output(xml::TextWriter& xhtml);
42 template <typename Type> void output(xml::TextWriter& xhtml, const Item& item, size_t index);
43 template <typename Type> Type input(const Item& item);
44 template <typename Type> void normal(xml::TextWriter& xhtml, const Type& type);
45 template <typename Type> void binary(xml::TextWriter& xhtml, const Type& type);
46 template <typename Type> void hexadecimal(xml::TextWriter& xhtml, const Type& type);
47 public:
48 Represent();
49 };
50
51 #endif // _Represent_hpp_

Properties

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