- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
//pugiXML.cpp:
template <bool _1, bool _2, bool _3, bool _4> struct opt4_to_type
{
static const bool o1;
static const bool o2;
static const bool o3;
static const bool o4;
};
template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o1 = _1;
template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o2 = _2;
template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o3 = _3;
template <bool _1, bool _2, bool _3, bool _4> const bool opt4_to_type<_1, _2, _3, _4>::o4 = _4;
//...
case 0: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 0>());
case 1: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 0, 1>());
case 2: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 0>());
case 3: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 0, 1, 1>());
case 4: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 0>());
case 5: return strconv_attribute_t(s, end_quote, opt4_to_type<0, 1, 0, 1>());
//...
case 14: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 0>());
case 15: return strconv_attribute_t(s, end_quote, opt4_to_type<1, 1, 1, 1>());
//...
inline xml_parse_result make_parse_result(xml_parse_status status, unsigned int offset, unsigned int line)
{
xml_parse_result result = {status, offset, line};
return result;
}
//pugixpath.cpp:
block = static_cast<memory_block*>(operator new(size + sizeof(memory_block) - xpath_memory_block_size));