52 bool parse(
const std::string &value) {
53 if (value[0] !=
':') {
58 if (value.size() == 2 && !
is_align(value[1])) {
64 bool has_align =
false;
65 auto pos = value.begin() + 1;
66 if (pos == value.end()) {
72 if (pos + 1 != value.end() &&
is_align(*(pos + 1))) {
84 if (pos == value.end()) {
88 wide =
static_cast<uint16_t
>(std::strtol(value.data() + (pos - value.begin()), &end, 10));
89 pos = value.begin() + (end - value.data());
101 pos = value.begin() + (end - value.data());
103 if (pos == value.end()) {
109 if (pos + 1 == value.end()) {