Newer
Older
Import / research / reflection / sqlite / test.h
////////////////////////////////////////////////////////////////
// This file is a generated file - DO NOT EDIT
// Database name:              test
// Command used to generate:   ./db-code-gen.sh test.sqlite
// Date generated:             Fri 22 Nov 2019 04:11:31 AEST
////////////////////////////////////////////////////////////////
#include <vector>
#include <string>

// Mapping of DB types to C++ types
using FLOAT = float;
using REAL = double;
using INTEGER = int;
using BLOB = std::vector<uint8_t>;
using TEXT = std::string;
using VARCHAR = std::string;

// Declare visitor interface
template <typename VISITOR, typename T>
void visit(VISITOR& visitor, T& item);

////////////////////////////////////////////////////////////////
// ZDEVICECONFIGURATION table row
struct ZDEVICECONFIGURATION
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZISINPUT;
  INTEGER m_ZPORT;
  FLOAT m_ZSAMPLERATE;
  BLOB m_ZDATASOURCES;
};

// ZDEVICECONFIGURATION row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDEVICECONFIGURATION& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZISINPUT", item.m_ZISINPUT);
  visitor("ZPORT", item.m_ZPORT);
  visitor("ZSAMPLERATE", item.m_ZSAMPLERATE);
  visitor("ZDATASOURCES", item.m_ZDATASOURCES);
}

////////////////////////////////////////////////////////////////
// ZDSPCONFIGURATION table row
struct ZDSPCONFIGURATION
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZBUFFERFRAMESIZE;
  INTEGER m_ZHWFACINGCHANNELCOUNT;
  INTEGER m_ZISHWAGNOSTIC;
  INTEGER m_ZFLAVOR;
  INTEGER m_ZPOLARPATTERN;
  INTEGER m_ZVPINFO;
  INTEGER m_ZFLAVOR1;
  INTEGER m_ZPORT;
  FLOAT m_ZSAMPLERATE;
  VARCHAR m_ZGRAPHNAME;
  VARCHAR m_ZPROPERTYSTRIPNAME;
  VARCHAR m_ZTUNINGSTRIPNAME;
  VARCHAR m_ZPRESETBOXNAME;
  VARCHAR m_ZPRESETNAME;
  BLOB m_ZEXPECTEDDATASOURCES;
};

// ZDSPCONFIGURATION row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDSPCONFIGURATION& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZBUFFERFRAMESIZE", item.m_ZBUFFERFRAMESIZE);
  visitor("ZHWFACINGCHANNELCOUNT", item.m_ZHWFACINGCHANNELCOUNT);
  visitor("ZISHWAGNOSTIC", item.m_ZISHWAGNOSTIC);
  visitor("ZFLAVOR", item.m_ZFLAVOR);
  visitor("ZPOLARPATTERN", item.m_ZPOLARPATTERN);
  visitor("ZVPINFO", item.m_ZVPINFO);
  visitor("ZFLAVOR1", item.m_ZFLAVOR1);
  visitor("ZPORT", item.m_ZPORT);
  visitor("ZSAMPLERATE", item.m_ZSAMPLERATE);
  visitor("ZGRAPHNAME", item.m_ZGRAPHNAME);
  visitor("ZPROPERTYSTRIPNAME", item.m_ZPROPERTYSTRIPNAME);
  visitor("ZTUNINGSTRIPNAME", item.m_ZTUNINGSTRIPNAME);
  visitor("ZPRESETBOXNAME", item.m_ZPRESETBOXNAME);
  visitor("ZPRESETNAME", item.m_ZPRESETNAME);
  visitor("ZEXPECTEDDATASOURCES", item.m_ZEXPECTEDDATASOURCES);
}

////////////////////////////////////////////////////////////////
// Z_3SEMANTIC table row
struct Z_3SEMANTIC
{
  INTEGER m_Z_3CONTENTDSP;
  INTEGER m_Z_12SEMANTIC;
};

// Z_3SEMANTIC row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_3SEMANTIC& item)
{
  visitor("Z_3CONTENTDSP", item.m_Z_3CONTENTDSP);
  visitor("Z_12SEMANTIC", item.m_Z_12SEMANTIC);
}

////////////////////////////////////////////////////////////////
// Z_3PORT table row
struct Z_3PORT
{
  INTEGER m_Z_3CONTENTDSP1;
  INTEGER m_Z_16PORT;
};

// Z_3PORT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_3PORT& item)
{
  visitor("Z_3CONTENTDSP1", item.m_Z_3CONTENTDSP1);
  visitor("Z_16PORT", item.m_Z_16PORT);
}

////////////////////////////////////////////////////////////////
// Z_6SEMANTIC table row
struct Z_6SEMANTIC
{
  INTEGER m_Z_6HWDSP;
  INTEGER m_Z_12SEMANTIC3;
};

// Z_6SEMANTIC row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_6SEMANTIC& item)
{
  visitor("Z_6HWDSP", item.m_Z_6HWDSP);
  visitor("Z_12SEMANTIC3", item.m_Z_12SEMANTIC3);
}

////////////////////////////////////////////////////////////////
// ZDSPFLAVOR table row
struct ZDSPFLAVOR
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZISINPUT;
  VARCHAR m_ZDSPFLAVOR;
};

// ZDSPFLAVOR row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDSPFLAVOR& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZISINPUT", item.m_ZISINPUT);
  visitor("ZDSPFLAVOR", item.m_ZDSPFLAVOR);
}

////////////////////////////////////////////////////////////////
// Z_7SEMANTIC table row
struct Z_7SEMANTIC
{
  INTEGER m_Z_7DSPFLAVOR;
  INTEGER m_Z_12SEMANTIC1;
};

// Z_7SEMANTIC row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_7SEMANTIC& item)
{
  visitor("Z_7DSPFLAVOR", item.m_Z_7DSPFLAVOR);
  visitor("Z_12SEMANTIC1", item.m_Z_12SEMANTIC1);
}

////////////////////////////////////////////////////////////////
// ZDSPMODULE table row
struct ZDSPMODULE
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZHASAGGREGATEDCONTROL;
  INTEGER m_ZDSPFLAVOR;
  VARCHAR m_ZNAME;
};

// ZDSPMODULE row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDSPMODULE& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZHASAGGREGATEDCONTROL", item.m_ZHASAGGREGATEDCONTROL);
  visitor("ZDSPFLAVOR", item.m_ZDSPFLAVOR);
  visitor("ZNAME", item.m_ZNAME);
}

////////////////////////////////////////////////////////////////
// Z_8PORT table row
struct Z_8PORT
{
  INTEGER m_Z_8DSPMODULE1;
  INTEGER m_Z_16PORT1;
};

// Z_8PORT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_8PORT& item)
{
  visitor("Z_8DSPMODULE1", item.m_Z_8DSPMODULE1);
  visitor("Z_16PORT1", item.m_Z_16PORT1);
}

////////////////////////////////////////////////////////////////
// Z_8SEMANTIC table row
struct Z_8SEMANTIC
{
  INTEGER m_Z_8DSPMODULE;
  INTEGER m_Z_12SEMANTIC2;
};

// Z_8SEMANTIC row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_8SEMANTIC& item)
{
  visitor("Z_8DSPMODULE", item.m_Z_8DSPMODULE);
  visitor("Z_12SEMANTIC2", item.m_Z_12SEMANTIC2);
}

////////////////////////////////////////////////////////////////
// ZDSPMODULEAGGREGATEDCONTROL table row
struct ZDSPMODULEAGGREGATEDCONTROL
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZISDEFAULT;
  INTEGER m_ZVIRTUALCHANNELCOUNT;
  INTEGER m_ZMODULE;
  VARCHAR m_ZNAME;
};

// ZDSPMODULEAGGREGATEDCONTROL row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDSPMODULEAGGREGATEDCONTROL& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZISDEFAULT", item.m_ZISDEFAULT);
  visitor("ZVIRTUALCHANNELCOUNT", item.m_ZVIRTUALCHANNELCOUNT);
  visitor("ZMODULE", item.m_ZMODULE);
  visitor("ZNAME", item.m_ZNAME);
}

////////////////////////////////////////////////////////////////
// Z_9CONTROL table row
struct Z_9CONTROL
{
  INTEGER m_Z_9AGGREGATION;
  INTEGER m_Z_10CONTROL;
};

// Z_9CONTROL row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_9CONTROL& item)
{
  visitor("Z_9AGGREGATION", item.m_Z_9AGGREGATION);
  visitor("Z_10CONTROL", item.m_Z_10CONTROL);
}

////////////////////////////////////////////////////////////////
// ZDSPMODULECONTROL table row
struct ZDSPMODULECONTROL
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZISDEFAULT;
  INTEGER m_ZVIRTUALCHANNELCOUNT;
  INTEGER m_ZCONTENTDSP;
  INTEGER m_Z3_CONTENTDSP;
  INTEGER m_ZMODULE;
  VARCHAR m_ZTYPE;
  VARCHAR m_ZVALUE;
};

// ZDSPMODULECONTROL row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZDSPMODULECONTROL& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZISDEFAULT", item.m_ZISDEFAULT);
  visitor("ZVIRTUALCHANNELCOUNT", item.m_ZVIRTUALCHANNELCOUNT);
  visitor("ZCONTENTDSP", item.m_ZCONTENTDSP);
  visitor("Z3_CONTENTDSP", item.m_Z3_CONTENTDSP);
  visitor("ZMODULE", item.m_ZMODULE);
  visitor("ZTYPE", item.m_ZTYPE);
  visitor("ZVALUE", item.m_ZVALUE);
}

////////////////////////////////////////////////////////////////
// ZIOCONTROLLERCONFIGURATION table row
struct ZIOCONTROLLERCONFIGURATION
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZBUFFERFRAMESIZE;
  INTEGER m_ZSEMANTIC;
  FLOAT m_ZSAMPLERATE;
};

// ZIOCONTROLLERCONFIGURATION row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZIOCONTROLLERCONFIGURATION& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZBUFFERFRAMESIZE", item.m_ZBUFFERFRAMESIZE);
  visitor("ZSEMANTIC", item.m_ZSEMANTIC);
  visitor("ZSAMPLERATE", item.m_ZSAMPLERATE);
}

////////////////////////////////////////////////////////////////
// ZIOCONTROLLERSEMANTIC table row
struct ZIOCONTROLLERSEMANTIC
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZCONFIGURATION;
  VARCHAR m_ZCATEGORY;
  VARCHAR m_ZMODE;
};

// ZIOCONTROLLERSEMANTIC row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZIOCONTROLLERSEMANTIC& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZCONFIGURATION", item.m_ZCONFIGURATION);
  visitor("ZCATEGORY", item.m_ZCATEGORY);
  visitor("ZMODE", item.m_ZMODE);
}

////////////////////////////////////////////////////////////////
// Z_12FORMAT table row
struct Z_12FORMAT
{
  INTEGER m_Z_12SEMANTIC5;
  INTEGER m_Z_13FORMAT;
};

// Z_12FORMAT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_12FORMAT& item)
{
  visitor("Z_12SEMANTIC5", item.m_Z_12SEMANTIC5);
  visitor("Z_13FORMAT", item.m_Z_13FORMAT);
}

////////////////////////////////////////////////////////////////
// Z_12MICCONFIGURATION table row
struct Z_12MICCONFIGURATION
{
  INTEGER m_Z_12SEMANTIC4;
  INTEGER m_Z_14MICCONFIGURATION;
};

// Z_12MICCONFIGURATION row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_12MICCONFIGURATION& item)
{
  visitor("Z_12SEMANTIC4", item.m_Z_12SEMANTIC4);
  visitor("Z_14MICCONFIGURATION", item.m_Z_14MICCONFIGURATION);
}

////////////////////////////////////////////////////////////////
// ZIOSTREAMFORMAT table row
struct ZIOSTREAMFORMAT
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZCHANNELCOUNT;
  FLOAT m_ZSAMPLERATEMAX;
  FLOAT m_ZSAMPLERATEMIN;
};

// ZIOSTREAMFORMAT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZIOSTREAMFORMAT& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZCHANNELCOUNT", item.m_ZCHANNELCOUNT);
  visitor("ZSAMPLERATEMAX", item.m_ZSAMPLERATEMAX);
  visitor("ZSAMPLERATEMIN", item.m_ZSAMPLERATEMIN);
}

////////////////////////////////////////////////////////////////
// Z_13PORT table row
struct Z_13PORT
{
  INTEGER m_Z_13IOSTREAMFORMAT;
  INTEGER m_Z_16PORT2;
};

// Z_13PORT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_13PORT& item)
{
  visitor("Z_13IOSTREAMFORMAT", item.m_Z_13IOSTREAMFORMAT);
  visitor("Z_16PORT2", item.m_Z_16PORT2);
}

////////////////////////////////////////////////////////////////
// ZMICROPHONECONFIGURATION table row
struct ZMICROPHONECONFIGURATION
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZCONFIGURATIONID;
  INTEGER m_ZISPREFERRED;
  INTEGER m_ZSDKCLIENTVISIBLE;
  INTEGER m_ZPORT;
  INTEGER m_ZPREFERREDPOLARPATTERN;
  VARCHAR m_ZLOCATION;
  VARCHAR m_ZNAME;
  VARCHAR m_ZORIENTATION;
};

// ZMICROPHONECONFIGURATION row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZMICROPHONECONFIGURATION& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZCONFIGURATIONID", item.m_ZCONFIGURATIONID);
  visitor("ZISPREFERRED", item.m_ZISPREFERRED);
  visitor("ZSDKCLIENTVISIBLE", item.m_ZSDKCLIENTVISIBLE);
  visitor("ZPORT", item.m_ZPORT);
  visitor("ZPREFERREDPOLARPATTERN", item.m_ZPREFERREDPOLARPATTERN);
  visitor("ZLOCATION", item.m_ZLOCATION);
  visitor("ZNAME", item.m_ZNAME);
  visitor("ZORIENTATION", item.m_ZORIENTATION);
}

////////////////////////////////////////////////////////////////
// ZPOLARPATTERN table row
struct ZPOLARPATTERN
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZPREFERREDBY;
  INTEGER m_ZSUPPORTEDBY;
  VARCHAR m_ZPOLARPATTERN;
};

// ZPOLARPATTERN row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZPOLARPATTERN& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZPREFERREDBY", item.m_ZPREFERREDBY);
  visitor("ZSUPPORTEDBY", item.m_ZSUPPORTEDBY);
  visitor("ZPOLARPATTERN", item.m_ZPOLARPATTERN);
}

////////////////////////////////////////////////////////////////
// ZPORT table row
struct ZPORT
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZVIRTUALCHANNELCOUNT;
  INTEGER m_ZCONFIGURATION;
  INTEGER m_ZVOLUMEPOLICY;
  VARCHAR m_ZPORTTYPE;
};

// ZPORT row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZPORT& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZVIRTUALCHANNELCOUNT", item.m_ZVIRTUALCHANNELCOUNT);
  visitor("ZCONFIGURATION", item.m_ZCONFIGURATION);
  visitor("ZVOLUMEPOLICY", item.m_ZVOLUMEPOLICY);
  visitor("ZPORTTYPE", item.m_ZPORTTYPE);
}

////////////////////////////////////////////////////////////////
// ZVOICEPROCESSORINFO table row
struct ZVOICEPROCESSORINFO
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZHWHASVP;
  FLOAT m_ZVOCODERSAMPLERATE;
  VARCHAR m_ZVPOPERATIONMODE;
};

// ZVOICEPROCESSORINFO row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZVOICEPROCESSORINFO& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZHWHASVP", item.m_ZHWHASVP);
  visitor("ZVOCODERSAMPLERATE", item.m_ZVOCODERSAMPLERATE);
  visitor("ZVPOPERATIONMODE", item.m_ZVPOPERATIONMODE);
}

////////////////////////////////////////////////////////////////
// ZVOLUMEPOLICY table row
struct ZVOLUMEPOLICY
{
  INTEGER m_Z_PK;
  INTEGER m_Z_ENT;
  INTEGER m_Z_OPT;
  INTEGER m_ZPORT;
  FLOAT m_ZINITIALDB;
  FLOAT m_ZMAXDB;
  FLOAT m_ZMAXHYBRIDHWDB;
  FLOAT m_ZMINDB;
  FLOAT m_ZMINHYBRIDHWDB;
  FLOAT m_ZNOMINALHWDB;
  VARCHAR m_ZCURVETYPE;
  VARCHAR m_ZMODE;
  VARCHAR m_ZSOFTWAREVOLUMECAPABILITIES;
  BLOB m_ZCURVEDATA;
};

// ZVOLUMEPOLICY row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, ZVOLUMEPOLICY& item)
{
  visitor("Z_PK", item.m_Z_PK);
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_OPT", item.m_Z_OPT);
  visitor("ZPORT", item.m_ZPORT);
  visitor("ZINITIALDB", item.m_ZINITIALDB);
  visitor("ZMAXDB", item.m_ZMAXDB);
  visitor("ZMAXHYBRIDHWDB", item.m_ZMAXHYBRIDHWDB);
  visitor("ZMINDB", item.m_ZMINDB);
  visitor("ZMINHYBRIDHWDB", item.m_ZMINHYBRIDHWDB);
  visitor("ZNOMINALHWDB", item.m_ZNOMINALHWDB);
  visitor("ZCURVETYPE", item.m_ZCURVETYPE);
  visitor("ZMODE", item.m_ZMODE);
  visitor("ZSOFTWAREVOLUMECAPABILITIES", item.m_ZSOFTWAREVOLUMECAPABILITIES);
  visitor("ZCURVEDATA", item.m_ZCURVEDATA);
}

////////////////////////////////////////////////////////////////
// Z_PRIMARYKEY table row
struct Z_PRIMARYKEY
{
  INTEGER m_Z_ENT;
  VARCHAR m_Z_NAME;
  INTEGER m_Z_SUPER;
  INTEGER m_Z_MAX;
};

// Z_PRIMARYKEY row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_PRIMARYKEY& item)
{
  visitor("Z_ENT", item.m_Z_ENT);
  visitor("Z_NAME", item.m_Z_NAME);
  visitor("Z_SUPER", item.m_Z_SUPER);
  visitor("Z_MAX", item.m_Z_MAX);
}

////////////////////////////////////////////////////////////////
// Z_METADATA table row
struct Z_METADATA
{
  INTEGER m_Z_VERSION;
  VARCHAR m_Z_UUID;
  BLOB m_Z_PLIST;
};

// Z_METADATA row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_METADATA& item)
{
  visitor("Z_VERSION", item.m_Z_VERSION);
  visitor("Z_UUID", item.m_Z_UUID);
  visitor("Z_PLIST", item.m_Z_PLIST);
}

////////////////////////////////////////////////////////////////
// Z_MODELCACHE table row
struct Z_MODELCACHE
{
  BLOB m_Z_CONTENT;
};

// Z_MODELCACHE row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, Z_MODELCACHE& item)
{
  visitor("Z_CONTENT", item.m_Z_CONTENT);
}

////////////////////////////////////////////////////////////////
// Database test
struct test
{
  std::vector<ZDEVICECONFIGURATION> m_ZDEVICECONFIGURATION;
  std::vector<ZDSPCONFIGURATION> m_ZDSPCONFIGURATION;
  std::vector<Z_3SEMANTIC> m_Z_3SEMANTIC;
  std::vector<Z_3PORT> m_Z_3PORT;
  std::vector<Z_6SEMANTIC> m_Z_6SEMANTIC;
  std::vector<ZDSPFLAVOR> m_ZDSPFLAVOR;
  std::vector<Z_7SEMANTIC> m_Z_7SEMANTIC;
  std::vector<ZDSPMODULE> m_ZDSPMODULE;
  std::vector<Z_8PORT> m_Z_8PORT;
  std::vector<Z_8SEMANTIC> m_Z_8SEMANTIC;
  std::vector<ZDSPMODULEAGGREGATEDCONTROL> m_ZDSPMODULEAGGREGATEDCONTROL;
  std::vector<Z_9CONTROL> m_Z_9CONTROL;
  std::vector<ZDSPMODULECONTROL> m_ZDSPMODULECONTROL;
  std::vector<ZIOCONTROLLERCONFIGURATION> m_ZIOCONTROLLERCONFIGURATION;
  std::vector<ZIOCONTROLLERSEMANTIC> m_ZIOCONTROLLERSEMANTIC;
  std::vector<Z_12FORMAT> m_Z_12FORMAT;
  std::vector<Z_12MICCONFIGURATION> m_Z_12MICCONFIGURATION;
  std::vector<ZIOSTREAMFORMAT> m_ZIOSTREAMFORMAT;
  std::vector<Z_13PORT> m_Z_13PORT;
  std::vector<ZMICROPHONECONFIGURATION> m_ZMICROPHONECONFIGURATION;
  std::vector<ZPOLARPATTERN> m_ZPOLARPATTERN;
  std::vector<ZPORT> m_ZPORT;
  std::vector<ZVOICEPROCESSORINFO> m_ZVOICEPROCESSORINFO;
  std::vector<ZVOLUMEPOLICY> m_ZVOLUMEPOLICY;
  std::vector<Z_PRIMARYKEY> m_Z_PRIMARYKEY;
  std::vector<Z_METADATA> m_Z_METADATA;
  std::vector<Z_MODELCACHE> m_Z_MODELCACHE;
};

// test Visitor
template <typename VISITOR>
void visit(VISITOR& visitor, test& item)
{
  visitor("ZDEVICECONFIGURATION", item.m_ZDEVICECONFIGURATION);
  visitor("ZDSPCONFIGURATION", item.m_ZDSPCONFIGURATION);
  visitor("Z_3SEMANTIC", item.m_Z_3SEMANTIC);
  visitor("Z_3PORT", item.m_Z_3PORT);
  visitor("Z_6SEMANTIC", item.m_Z_6SEMANTIC);
  visitor("ZDSPFLAVOR", item.m_ZDSPFLAVOR);
  visitor("Z_7SEMANTIC", item.m_Z_7SEMANTIC);
  visitor("ZDSPMODULE", item.m_ZDSPMODULE);
  visitor("Z_8PORT", item.m_Z_8PORT);
  visitor("Z_8SEMANTIC", item.m_Z_8SEMANTIC);
  visitor("ZDSPMODULEAGGREGATEDCONTROL", item.m_ZDSPMODULEAGGREGATEDCONTROL);
  visitor("Z_9CONTROL", item.m_Z_9CONTROL);
  visitor("ZDSPMODULECONTROL", item.m_ZDSPMODULECONTROL);
  visitor("ZIOCONTROLLERCONFIGURATION", item.m_ZIOCONTROLLERCONFIGURATION);
  visitor("ZIOCONTROLLERSEMANTIC", item.m_ZIOCONTROLLERSEMANTIC);
  visitor("Z_12FORMAT", item.m_Z_12FORMAT);
  visitor("Z_12MICCONFIGURATION", item.m_Z_12MICCONFIGURATION);
  visitor("ZIOSTREAMFORMAT", item.m_ZIOSTREAMFORMAT);
  visitor("Z_13PORT", item.m_Z_13PORT);
  visitor("ZMICROPHONECONFIGURATION", item.m_ZMICROPHONECONFIGURATION);
  visitor("ZPOLARPATTERN", item.m_ZPOLARPATTERN);
  visitor("ZPORT", item.m_ZPORT);
  visitor("ZVOICEPROCESSORINFO", item.m_ZVOICEPROCESSORINFO);
  visitor("ZVOLUMEPOLICY", item.m_ZVOLUMEPOLICY);
  visitor("Z_PRIMARYKEY", item.m_Z_PRIMARYKEY);
  visitor("Z_METADATA", item.m_Z_METADATA);
  visitor("Z_MODELCACHE", item.m_Z_MODELCACHE);
}