TPresultStruct

Represents the result of a Thrift method call, using a pointer to the return value to avoid copying.

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

Consider this example:

interface Foo {
  int bar(string a);

  alias .FooException FooException;

  enum methodMeta = [
    TMethodMeta("bar",
      [TParamMeta("a", 1)],
      [TExceptionMeta("fooe", 1, "FooException")]
    )
  ];
}
alias TPresultStruct!(Foo, "bar") FooBarPresult;

The definition of FooBarPresult is equivalent to (ignoring the necessary metadata to assign the field IDs):

struct FooBarPresult {
  int* success;
  Foo.FooException fooe;

  struct IsSetFlags {
    bool success;
  }
  IsSetFlags isSetFlags;

  bool isSet(string fieldName)() const @property;
  void read(Protocol)(Protocol proto) if (isTProtocol!Protocol);
}
template TPresultStruct (
Interface
string methodName
)

Meta