33 virtual const char*
getName()
const
46 friend inline bool operator==(
const __A__& first,
const __A__& second)
48 return first.i == second.i;
59 friend inline std::ostream&
operator<<(std::ostream& out,
const __A__&
object)
61 return out <<
object.getName() <<
object.i;
86 virtual const char*
getName()
const
100 int main(
int argc,
char **argv)
108 JParser<> zap(
"Example program to test object multiplexing and demultiplexing.");
114 catch(
const exception &error) {
115 FATAL(error.what() << endl);
124 for (
int i = 1; i != 4; ++i) {
130 cout <<
"a_in ";
copy(a_in.begin(), a_in.end(), ostream_iterator<__A__>(cout,
" ")); cout << endl;
131 cout <<
"b_in ";
copy(b_in.begin(), b_in.end(), ostream_iterator<__B__>(cout,
" ")); cout << endl;
137 JSTDObjectReader<typelist> in;
143 JSTDObjectWriter<typelist> out;
152 JObjectMultiplexer<typelist> multiplexer (in);
154 JObjectDemultiplexer<__A__, typelist> demultiplexer(out);
157 multiplexer >> demultiplexer;
160 cout <<
"a_out ";
copy(a_out.begin(), a_out.end(), ostream_iterator<__A__>(cout,
" ")); cout << endl;
161 cout <<
"b_out ";
copy(b_out.begin(), b_out.end(), ostream_iterator<__B__>(cout,
" ")); cout << endl;