48 unsigned begin = _begin;
49 unsigned end = _end < 0 ? _hexVector.size() + 1 + _end : _end;
50 bool odd = ((end - begin) % 2) != 0;
52 std::string ret(1, ((_leaf ? 2 : 0) | (odd ? 1 : 0)) * 16);
55 ret[0] |= _hexVector[begin];
58 for (
unsigned i = begin; i < end; i += 2)
59 ret += _hexVector[i] * 16 + _hexVector[i + 1];
65 unsigned begin = _beginNibble + _offset;
66 unsigned end = (_endNibble < 0 ? ((int)(_data.
size() * 2 - _offset) + 1) + _endNibble : _endNibble) + _offset;
67 bool odd = (end - begin) & 1;
69 std::string ret(1, ((_leaf ? 2 : 0) | (odd ? 1 : 0)) * 16);
70 ret.reserve((end - begin) / 2 + 1);
72 unsigned d = odd ? 1 : 2;
73 for (
auto i = begin; i < end; ++i, ++d)
79 ret.push_back(n << 4);
86 unsigned begin1 = _o1;
87 unsigned end1 = _d1.
size() * 2;
88 unsigned begin2 = _o2;
89 unsigned end2 = _d2.
size() * 2;
91 bool odd = (end1 - begin1 + end2 - begin2) & 1;
93 std::string ret(1, ((_leaf ? 2 : 0) | (odd ? 1 : 0)) * 16);
94 ret.reserve((end1 - begin1 + end2 - begin2) / 2 + 1);
96 unsigned d = odd ? 1 : 2;
97 for (
auto i = begin1; i < end1; ++i, ++d)
103 ret.push_back(n << 4);
105 for (
auto i = begin2; i < end2; ++i, ++d)
111 ret.push_back(n << 4);
119 for (
unsigned i = 0; i < 17; ++i)
120 if (i != except && !_orig[i].isEmpty())