TArgsStruct

A struct representing the arguments of a Thrift method call.

There should usually be no reason to use this directly without the help of TServiceProcessor, but it is documented publicly to help debugging in case of CTFE errors.

Consider this example:

interface Foo {
  int bar(string a, bool b);

  enum methodMeta = [
    TMethodMeta("bar", [TParamMeta("a", 1), TParamMeta("b", 2)])
  ];
}

alias TArgsStruct!(Foo, "bar") FooBarArgs;

The definition of FooBarArgs is equivalent to:

struct FooBarArgs {
  string a;
  bool b;

  mixin TStructHelpers!([TFieldMeta("a", 1, TReq.OPT_IN_REQ_OUT),
    TFieldMeta("b", 2, TReq.OPT_IN_REQ_OUT)]);
}

If the TVerboseCodegen version is defined, a warning message is issued at compilation if no TMethodMeta for Interface.methodName is found.

template TArgsStruct (
Interface
string methodName
)

Meta