// smtc_BuiltIn.h
//

#ifndef LZZ_smtc_BuiltIn_h
#define LZZ_smtc_BuiltIn_h
// semantic
#include "smtc_TypeKind.h"
#define LZZ_INLINE inline
namespace smtc
{
  struct Bool
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct Char
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct SignedChar
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct UnsignedChar
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct WideChar
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct ShortInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct UnsignedShortInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct Int
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct UnsignedInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct LongInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct UnsignedLongInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct LongLongInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct UnsignedLongLongInt
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct Float
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct Double
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct LongDouble
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
namespace smtc
{
  struct Void
  {
    static char const * NAME;
    static TypeKind const KIND;
  };
}
#undef LZZ_INLINE
#endif
