std::vector<segment> read(const MachOObjectFile& obj) { typedef MachOObjectFile::LoadCommandInfo command_info; std::vector<command_info> cmds = utils::load_commands(obj); std::vector<segment> segments; for (std::size_t i = 0; i < cmds.size(); ++i) { command_info info = cmds.at(i); if (info.C.cmd == MachO::LoadCommandType::LC_SEGMENT_64) segments.push_back(segment(obj.getSegment64LoadCommand(info))); if (info.C.cmd == MachO::LoadCommandType::LC_SEGMENT) segments.push_back(segment(obj.getSegmentLoadCommand(info))); } return segments; }