PrintReflectedVariable.h
// PrintReflectedVariable.h
//
// Author David Barrett-Lennard
// (C)opyright Cedanet Pty Ltd 2007
@import "cxObject.h"
@import "PrintReflectedType.h"
namespace ceda
{
// Callback for printing a pref/cref member
class prefbase;
@api extern void (*g_PrintPref)(xostream& os, const prefbase* p);
///////////////////////////////////////////////////////////////////////////////////////////////////
// Printing of variables
@api void PrintReflectedVariable(xostream& os, ReflectionByteCode rbc, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
// Print the current value of a xvector<T> variable at address 'data'.
// rbc describes the element type T.
@api void PrintReflectedVector(xostream& os, ReflectionByteCode rbc, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
// Print the current value of an array variable with 'size' elements located at address 'data'.
// 'rbc' describes the element type T.
@api void PrintReflectedArray(xostream& os, ReflectionByteCode rbc, ssize_t size, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
@api void PrintReflectedMap(xostream& os, ReflectionByteCode rbc, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
@api void PrintReflectedSet(xostream& os, ReflectionByteCode rbc, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
@api void PrintReflectedClassVariable(xostream& os, const ReflectedClass& rc, const void* data, bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
@api void PrintReflectedVariantVariable(
xostream& os, const ReflectedVariant& rv, const void* data,
bool allowMultiLine = true, const PrintTypeSettings& pts = PrintTypeSettings());
@api void PrintInstance(xostream& os, ptr<const IObject> x, const PrintTypeSettings& pts = PrintTypeSettings());
} // namespace ceda