Atlas-C++
EncoderBase.h
00001 // This file may be redistributed and modified only under the terms of
00002 // the GNU Lesser General Public License (See COPYING for details).
00003 // Copyright (C) 2000 Stefanus Du Toit
00004 
00005 // $Id$
00006 
00007 #ifndef ATLAS_ENCODERBASE_H
00008 #define ATLAS_ENCODERBASE_H
00009 
00010 #include <Atlas/Bridge.h>
00011 
00012 namespace Atlas {
00013 
00030 class EncoderBase { // : public Atlas::Bridge {
00031 public:
00032 
00034     EncoderBase(Atlas::Bridge & b) : m_b(b) { }
00035 
00036     ~EncoderBase() { }
00037     
00038     void streamBegin() { m_b.streamBegin(); }
00039     void streamMessage() { m_b.streamMessage(); }
00040     void streamEnd() { m_b.streamEnd(); }
00041     
00042     void mapMapItem(const std::string& name)
00043     { m_b.mapMapItem(name); }
00044     void mapListItem(const std::string& name)
00045     { m_b.mapListItem(name); }
00046     void mapIntItem(const std::string& name, long i)
00047     { m_b.mapIntItem(name, i); }
00048     void mapFloatItem(const std::string& name, double d)
00049     { m_b.mapFloatItem(name, d); }
00050     void mapStringItem(const std::string& name, const std::string& s)
00051     { m_b.mapStringItem(name, s); }
00052     void mapEnd()
00053     { m_b.mapEnd(); }
00054     
00055     void listMapItem() { m_b.listMapItem(); }
00056     void listListItem() { m_b.listListItem(); }
00057     void listIntItem(long i) { m_b.listIntItem(i); }
00058     void listFloatItem(double d) { m_b.listFloatItem(d); }
00059     void listStringItem(const std::string& s) { m_b.listStringItem(s); }
00060     void listEnd() { m_b.listEnd(); }
00061 
00062 protected:
00064     Atlas::Bridge & m_b;
00065 };
00066 
00067 } // namespace Atlas 
00068 
00069 #endif // ATLAS_ENCODERBASE_H

Copyright 2000-2004 the respective authors.

This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.