本文整理汇总了C++中message::set_version方法的典型用法代码示例。如果您正苦于以下问题:C++ message::set_version方法的具体用法?C++ message::set_version怎么用?C++ message::set_version使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类message
的用法示例。
在下文中一共展示了message::set_version方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: consume
parse_result version_parser::consume(message& message, char c)
{
switch(state_)
{
case state_version_h:
if(c == 'H')
{
state_ = state_version_t_1;
return parse_result::more;
}
break;
case state_version_t_1:
if(c == 'T')
{
state_ = state_version_t_2;
return parse_result::more;
}
break;
case state_version_t_2:
if(c == 'T')
{
state_ = state_version_p;
return parse_result::more;
}
break;
case state_version_p:
if(c == 'P')
{
state_ = state_version_slash;
return parse_result::more;
}
break;
case state_version_slash:
if(c == '/')
{
state_ = state_version_major_start;
return parse_result::more;
}
break;
case state_version_major_start:
if(is_digit(c))
{
major_ = c - '0';
state_ = state_version_major;
return parse_result::more;
}
break;
case state_version_major:
if(c == '.')
{
state_ = state_version_minor_start;
return parse_result::more;
}
else if(is_digit(c))
{
major_ = major_ * 10 + c - '0';
return parse_result::more;
}
break;
case state_version_minor_start:
if(is_digit(c))
{
minor_ = c - '0';
state_ = state_version_minor;
return parse_result::more;
}
break;
case state_version_minor:
if(is_digit(c))
{
minor_ = minor_ * 10 + c - '0';
return parse_result::more;
}
else
{
message.set_version(major_, minor_);
return parse_result::ok;
}
break;
}
return parse_result::error;
}