- RESETABLE<std::string> password;
- RESETABLE<int> passive;
- RESETABLE<int> disabled;
- RESETABLE<int> disabledDetailStat;
- RESETABLE<int> alwaysOnline;
- RESETABLE<std::string> tariffName;
- RESETABLE<std::string> address;
- RESETABLE<std::string> phone;
- RESETABLE<std::string> email;
- RESETABLE<std::string> note;
- RESETABLE<std::string> realName;
- RESETABLE<std::string> corp;
- RESETABLE<std::string> group;
- RESETABLE<double> credit;
- RESETABLE<std::string> nextTariff;
- std::vector<RESETABLE<std::string> > userdata;
- RESETABLE<std::vector<std::string> > services;
- RESETABLE<time_t> creditExpire;
- RESETABLE<USER_IPS> ips;
+ UserConfOpt(const UserConfOpt&) = default;
+ UserConfOpt& operator=(const UserConfOpt&) = default;
+ UserConfOpt(UserConfOpt&&) = default;
+ UserConfOpt& operator=(UserConfOpt&&) = default;
+
+ std::optional<std::string> password;
+ std::optional<int> passive;
+ std::optional<int> disabled;
+ std::optional<int> disabledDetailStat;
+ std::optional<int> alwaysOnline;
+ std::optional<std::string> tariffName;
+ std::optional<std::string> address;
+ std::optional<std::string> phone;
+ std::optional<std::string> email;
+ std::optional<std::string> note;
+ std::optional<std::string> realName;
+ std::optional<std::string> corp;
+ std::optional<std::string> group;
+ std::optional<double> credit;
+ std::optional<std::string> nextTariff;
+ std::vector<std::optional<std::string> > userdata;
+ std::optional<std::vector<std::string> > services;
+ std::optional<time_t> creditExpire;
+ std::optional<UserIPs> ips;