/**
 * Autogenerated by Thrift Compiler (0.13.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
#ifndef proc_TYPES_H
#define proc_TYPES_H

#include <iosfwd>

#include <thrift/Thrift.h>
#include <thrift/TApplicationException.h>
#include <thrift/TBase.h>
#include <thrift/protocol/TProtocol.h>
#include <thrift/transport/TTransport.h>

#include <functional>
#include <memory>


namespace apache { namespace thrift { namespace test {

class MyError;

typedef struct _MyError__isset {
  _MyError__isset() : message(false) {}
  bool message :1;
} _MyError__isset;

class MyError : public ::apache::thrift::TException {
 public:

  MyError(const MyError&);
  MyError& operator=(const MyError&);
  MyError() : message() {
  }

  virtual ~MyError() noexcept;
  std::string message;

  _MyError__isset __isset;

  void __set_message(const std::string& val);

  bool operator == (const MyError & rhs) const
  {
    if (!(message == rhs.message))
      return false;
    return true;
  }
  bool operator != (const MyError &rhs) const {
    return !(*this == rhs);
  }

  bool operator < (const MyError & ) const;

  template <class Protocol_>
  uint32_t read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t write(Protocol_* oprot) const;

  virtual void printTo(std::ostream& out) const;
  mutable std::string thriftTExceptionMessageHolder_;
  const char* what() const noexcept;
};

void swap(MyError &a, MyError &b);

std::ostream& operator<<(std::ostream& out, const MyError& obj);

}}} // namespace

#include "proc_types.tcc"

#endif
