public info merge functions

This commit is contained in:
BlackMATov
2021-07-02 05:18:57 +07:00
parent 9495c2a69d
commit e738782c69
14 changed files with 59 additions and 88 deletions

View File

@@ -165,17 +165,16 @@ namespace meta_hpp
std::optional<data_info> get_data(std::string_view id) const {
return detail::find_opt(datas_, id);
}
private:
friend class class_info;
template < typename Class > friend class class_;
template < auto Method > friend class method_;
private:
void merge_with_(const method_info& other) {
void merge(const method_info& other) {
if ( fid() != other.fid() ) {
throw std::logic_error("method_info::merge failed");
}
detail::merge_with(datas_, other.datas_, &data_info::merge_with_);
detail::merge_with(datas_, other.datas_, &data_info::merge);
}
private:
template < auto Method >
friend class method_;
private:
family_id fid_;
std::string id_;