В Thrift есть ли способ избежать создания сеттеров C ++? - PullRequest
0 голосов
/ 26 января 2019

Когда я использую этот файл .thrift

struct Character {
  1: required string firstname;
  2: required string lastname;
  3: required string nickname;
}

и компилирую его с --gen cpp:no_default_operators,no_skeleton, я получаю:

class Character : public virtual ::apache::thrift::TBase {
 public:

  Character(const Character&);
  Character& operator=(const Character&);
  Character() : firstname(), lastname(), nickname() {
  }

  virtual ~Character() throw();
  std::string firstname;
  std::string lastname;
  std::string nickname;

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

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

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

  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;

  virtual void printTo(std::ostream& out) const;
};

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

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

Ради компактности, есть ли способ, которым я мог быизбежать генерации сеттеров?

Использование Thrift версии 0.11.0

...