]> git.llucax.com Git - software/bife/bife++.git/blob - main.cpp
Added an initial experimental implementation of BIFE in C++.
[software/bife/bife++.git] / main.cpp
1 // vim: set expandtab tabstop=4 shiftwidth=4:
2
3 #include <string>
4 #include <iostream>
5 #include <sstream>
6 #include "hit.h"
7 #include "ghit.h"
8 #include "chit.h"
9
10 int main(void) {
11     const string indent = "    ";
12     Hash vars;
13     vars["NOMBRE"] = "Luca man";
14     vars["EDAD"]   = "21";
15
16     cout << "HIT example:" << endl;
17     cout << "============" << endl;
18     HIT h;
19     cout << indent << h.parse("test", vars) << endl << endl << endl;
20
21     cout << "GHIT example:" << endl;
22     cout << "=============" << endl;
23     vars["NOMBRE"] = "Pedro";
24     vars["EDAD"]   = "26";
25     GHIT g;
26     cout << "We are using the default group: '" << g.getGroup() << "'." << endl;
27     cout << indent << g.parse("test", vars) << endl;
28     g.pushGroup("tpldir");
29     cout << "We start using the '" << g.getGroup() << "' group." << endl;
30     cout << indent << g.parse("test2", vars) << endl;
31     cout << "We stop using '";
32     cout << g.popGroup() << "' group, and go back to default one ('";
33     cout << g.getGroup() << "')." << endl;
34     cout << indent << g.parse("test", vars) << endl << endl << endl;
35
36     cout << "CHIT example:" << endl;
37     cout << "=============" << endl;
38     CHIT c;
39     const int n = 65;
40     for (int i = n; i < (n+10); i++) {
41         stringstream ssi, ssc;
42         ssi << i;
43         ssc << char(i);
44         vars["NOMBRE"] = "Chit gay " + ssc.str();
45         vars["EDAD"]   = ssi.str();
46         cout << indent << c.parse("test", vars) << endl;
47     }
48 }