summaryrefslogtreecommitdiff
path: root/cpp/include/IceXML/Output.h
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2002-01-31 14:32:05 +0000
committerMatthew Newhook <matthew@zeroc.com>2002-01-31 14:32:05 +0000
commit68ec8c36af4f3abe5a10d4f24c924eeb5e8234e1 (patch)
tree542c8bc5a76b4ebdeaad6a05b6c5c1b1faaca64d /cpp/include/IceXML/Output.h
parentbug fix (diff)
downloadice-68ec8c36af4f3abe5a10d4f24c924eeb5e8234e1.tar.bz2
ice-68ec8c36af4f3abe5a10d4f24c924eeb5e8234e1.tar.xz
ice-68ec8c36af4f3abe5a10d4f24c924eeb5e8234e1.zip
Move Slice/OutputUtil to IceUtil. Integrate IceXML/Output.cpp with
OutputUtil. Various Makefile fixes.
Diffstat (limited to 'cpp/include/IceXML/Output.h')
-rw-r--r--cpp/include/IceXML/Output.h154
1 files changed, 0 insertions, 154 deletions
diff --git a/cpp/include/IceXML/Output.h b/cpp/include/IceXML/Output.h
deleted file mode 100644
index a0d37e4ce12..00000000000
--- a/cpp/include/IceXML/Output.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_XML_OUTPUT_H
-#define ICE_XML_OUTPUT_H
-
-#include <IceUtil/Config.h>
-#include <fstream>
-#include <stack>
-
-#ifdef WIN32
-# ifdef ICE_XML_API_EXPORTS
-# define ICE_XML_API __declspec(dllexport)
-# else
-# define ICE_XML_API __declspec(dllimport)
-# endif
-#else
-# define ICE_XML_API /**/
-#endif
-
-namespace IceXML
-{
-
-class ICE_XML_API StartElement
-{
-public:
-
- StartElement(const std::string& name)
- : _name(name)
- {
- }
-
- ~StartElement()
- {
- }
-
- const std::string& getName() const { return _name; }
-
-private:
-
- const std::string _name;
-};
-
-class ICE_XML_API NextLine { };
-class ICE_XML_API EndElement { };
-class ICE_XML_API Separator { };
-
-extern ICE_XML_API NextLine nl;
-typedef StartElement se;
-extern ICE_XML_API EndElement ee;
-extern ICE_XML_API Separator sp;
-
-// ----------------------------------------------------------------------
-// Indent
-// ----------------------------------------------------------------------
-
-class ICE_XML_API Output : public ::IceUtil::noncopyable
-{
-public:
-
- Output();
- Output(std::ostream&);
- Output(const char*);
-
- void setIndent(int); // what is the indent level?
- void setUseTab(bool); // should we output tabs?
-
- void open(const char*); // Open output stream
-
- void print(const char*); // Print a string
-
- void inc(); // Increment indentation level
- void dec(); // Decrement indentation level
-
- void useCurrentPosAsIndent(); // Save the current position as indentation
- void zeroIndent(); // Use zero identation
- void restoreIndent(); // Restore indentation
-
- void nl(); // Print newline
- void se(const std::string&); // Start an element
- void ee(); // End an element
- void sp(); // Print separator
-
- bool operator!() const; // Check whether the output state is ok
-
-private:
-
- std::ofstream _fout;
- std::ostream& _out;
- int _pos;
- int _indent;
- std::stack<int> _indentSave;
- std::stack<std::string> _elementStack;
- bool _separator;
- bool _printed;
-
- bool _useTab;
- int _indentSize;
-};
-
-template<typename T>
-Output&
-operator<<(Output& out, const T& val)
-{
- std::ostringstream s;
- s << val;
- out.print(s.str().c_str());
- return out;
-}
-
-template<>
-inline Output&
-operator<<(Output& o, const NextLine&)
-{
- o.nl();
- return o;
-}
-
-template<>
-inline Output&
-operator<<(Output& o, const StartElement& e)
-{
- o.se(e.getName());
- return o;
-}
-
-template<>
-inline Output&
-operator<<(Output& o, const EndElement&)
-{
- o.ee();
- return o;
-}
-
-template<>
-inline Output&
-operator<<(Output& o, const Separator&)
-{
- o.sp();
- return o;
-}
-
-ICE_XML_API Output& operator<<(Output&, std::ios_base& (*)(std::ios_base&));
-
-}
-
-#endif