static void calculate_labels( label_map& out_labels, const std::uint32_t address, const label& lab, const Tail&... tail ) { if( !out_labels.insert( { lab.name, address } ).second ) { throw std::logic_error( "Duplicate label " + lab.name ); } calculate_labels( out_labels, address, tail... ); }