1 #ifndef __JLANG__JTEMPLATEWRITER__ 
    2 #define __JLANG__JTEMPLATEWRITER__ 
   16 namespace JPP { 
using namespace JLANG; }
 
   26   template<
class JWriter_t,
 
   35   template<
class JWriter_t>
 
   47     template<
class JClass_t>
 
   48     static inline JWriter_t& 
write(JWriter_t&      out,
 
   49                                    const JClass_t& 
object,
 
   64     template<
class JClass_t, 
class JHead_t, 
class JTail_t>
 
   65     static inline JWriter_t& 
write(JWriter_t&      out,
 
   66                                    const JClass_t& 
object,
 
   69       out << static_cast<const JHead_t&>(object);
 
   87     template<
class JClass_t, 
class JHead_t>
 
   88     static inline JWriter_t& 
write(JWriter_t&      out,
 
   89                                    const JClass_t& 
object,
 
   92       return out << static_cast<const JHead_t&>(object);
 
  103   template<
class JWriter_t>
 
  119   template<
class JWriter_t, 
class JClass_t, 
class JHead_t, 
class JTail_t>
 
  130     friend JWriter_t& 
operator<<(JWriter_t& out, 
const JClass_t& 
object)
 
static JWriter_t & write(JWriter_t &out, const JClass_t &object, const JType< JNullType > &type)
Write method for single data types. 
 
Auxiliary class for a type holder. 
 
friend JWriter_t & operator<<(JWriter_t &out, const JClass_t &object)
Write operator. 
 
Auxiliary class for no type definition. 
 
static const char * WHITE_SPACE
White space between consecutive items in a type list. 
 
Template definition of auxiliary base class for composite data types which derive from one or more ba...
 
static JWriter_t & write(JWriter_t &out, const JClass_t &object, const JType< JTypeList< JHead_t, JTail_t > > &type)
Write method for composite data types. 
 
static JWriter_t & write(JWriter_t &out, const JClass_t &object, const JType< JTypeList< JHead_t, JNullType > > &type)
Write method for composite data types.