#ifndef __JLANG__JOBJECTWRITER__ #define __JLANG__JOBJECTWRITER__ #include "JLang/JObjectOutput.hh" #include "JLang/JAbstractObjectWriter.hh" #include "JLang/JSharedPointer.hh" /** * \author mdejong */ namespace JLANG {} namespace JPP { using namespace JLANG; } namespace JLANG { /** * Auxiliary class for object writing to a named device. * * This class implements the JAbstractObjectWriter interface. */ template struct JObjectWriter : public virtual JObjectOutput, public JAbstractObjectWriter, public JSharedPointer< JObjectOutput > { typedef JSharedPointer< JObjectOutput > helper_type; /** * Default constructor. */ JObjectWriter() {} /** * Get helper. * * \return helper */ virtual JObjectOutput* getHelper() const override { return this->get(); } }; /** * Auxiliary class for object writing with named access. * * This class implements the JAbstractAccessibleObjectWriter interface. */ template struct JAccessibleObjectWriter : public virtual JAccessibleObjectOutput, public JAbstractAccessibleObjectWriter, public JSharedPointer< JAccessibleObjectOutput > { typedef JSharedPointer< JAccessibleObjectOutput > helper_type; /** * Default constructor. */ JAccessibleObjectWriter() {} /** * Get helper. * * \return helper */ virtual JAccessibleObjectOutput* getHelper() const override { return this->get(); } }; } #endif