#ifndef VCZH_WORKFLOW_RUNTIME_WFRUNTIME
#define VCZH_WORKFLOW_RUNTIME_WFRUNTIME
#include "WfRuntimeAssembly.h"
#include "WfRuntimeConstructions.h"
#include "WfRuntimeDebugger.h"
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
namespace
{
namespace
{
namespace
{
class
:
public
,
public
reflection
::
<
>
{
typedef
collections
::
<
reflection
::
description
::
>
;
public
:
;
};
class
:
public
,
public
reflection
::
<
>
{
public
:
<
>
;
<
>
;
(
<
>
);
();
};
struct
{
<
>
;
= -
1
;
= -
1
;
=
0
;
=
0
;
=
0
;
};
struct
{
= -
1
;
= -
1
;
= -
1
;
};
class
:
public
,
public
virtual
reflection
::
description
::
{
using
=
reflection
::
description
::
;
protected
:
<
>
;
<
>
;
<
>
;
<
>
;
<
>
(
collections
::
<
>&
,
<
>
,
<
>&
);
public
:
();
(
*
,
const
&
);
();
<
>
;
<
>
;
<
>
;
<
>
;
<
>
;
= -
1
;
= -
1
;
<
>
()
override
;
<
>
()
override
;
<
>
()
override
;
<
>
()
override
;
()
override
;
GetSourceCodeBeforeCodegen
()
override
;
GetSourceCodeAfterCodegen
()
override
;
()
override
;
()
override
;
};
class
:
public
,
public
virtual
reflection
::
description
::
{
typedef
collections
::
<
<
>>
;
using
=
reflection
::
description
::
;
protected
:
<
>
;
public
:
;
bool
=
false
;
;
(
const
&
,
bool
);
();
#pragma push_macro("GetMessage")
#if defined GetMessage
#undef GetMessage
#endif
()
override
;
#pragma pop_macro("GetMessage")
bool
()
override
;
<
>
()
override
;
};
class
:
public
reflection
::
description
::
{
protected
:
<
>
;
bool
=
false
;
public
:
(
<
>
)
:
reflection
::
description
::
(
)
, info(
)
, fatal(
)
{
}
(
const
&
,
bool
)
:
reflection
::
description
::
(
)
, fatal(
)
{
}
<
>
()
const
{
return
;
}
bool
()
const
{
return
;
}
};
enum
class
{
,
,
,
,
,
};
enum
class
{
,
,
,
,
,
};
enum
class
WfRuntimeThreadContextError
{
,
,
,
,
,
WrongCapturedVariableCount
,
,
,
,
,
,
};
class
{
typedef
collections
::
<
reflection
::
description
::
>
;
typedef
collections
::
<
>
;
typedef
collections
::
<
>
;
public
:
<
>
;
<
>
;
;
;
;
=
::
;
(
<
>
);
(
<
>
);
&
();
WfRuntimeThreadContextError
(
,
,
<
>
=
0
);
WfRuntimeThreadContextError
();
&
();
WfRuntimeThreadContextError
(
);
WfRuntimeThreadContextError
(
);
WfRuntimeThreadContextError
(
const
&
);
WfRuntimeThreadContextError
(
const
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
const
&
,
bool
,
bool
=
false
);
WfRuntimeThreadContextError
(
<
>
,
bool
=
false
);
WfRuntimeThreadContextError
(
,
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
const
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
const
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
reflection
::
description
::
&
);
WfRuntimeThreadContextError
(
,
const
reflection
::
description
::
&
);
(
&
,
&
,
*
);
(
*
);
void
();
};
extern
<
reflection
::
description
::
>
(
<
>
,
const
&
);
template
<
typename
>
<
>
(
<
>
,
const
&
)
{
auto
=
(
,
);
<
>
;
reflection
::
description
::
<
<
>>(
reflection
::
description
::
::
(
proxy
),
function
);
return
function
;
}
}
}
}
#endif
#endif