Skip to content

Commit a3075dd

Browse files
committed
Merge branch 'develop'
2 parents 34aa2ad + 956d3c4 commit a3075dd

16 files changed

+48
-115
lines changed

include/boost/regex/config.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
*
225225
****************************************************************************/
226226

227-
#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1200) && defined(_MSC_EXTENSIONS)
227+
#if defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)
228228
#if defined(_DEBUG) || defined(__MSVC_RUNTIME_CHECKS) || defined(_MANAGED) || defined(BOOST_REGEX_NO_FASTCALL)
229229
# define BOOST_REGEX_CALL __cdecl
230230
#else

include/boost/regex/icu.hpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -887,9 +887,6 @@ inline OutputIterator u32regex_replace(OutputIterator out,
887887
match_flag_type flags = match_default)
888888
{
889889
return re_detail::extract_output_base
890-
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
891-
<OutputIterator>
892-
#endif
893890
(
894891
re_detail::do_regex_replace(
895892
re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
@@ -909,9 +906,6 @@ inline OutputIterator u32regex_replace(OutputIterator out,
909906
match_flag_type flags = match_default)
910907
{
911908
return re_detail::extract_output_base
912-
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
913-
<OutputIterator>
914-
#endif
915909
(
916910
re_detail::do_regex_replace(
917911
re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
@@ -931,9 +925,6 @@ inline OutputIterator u32regex_replace(OutputIterator out,
931925
match_flag_type flags = match_default)
932926
{
933927
return re_detail::extract_output_base
934-
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
935-
<OutputIterator>
936-
#endif
937928
(
938929
re_detail::do_regex_replace(
939930
re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),

include/boost/regex/mfc.hpp

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -31,29 +31,25 @@ typedef match_results<TCHAR const*> tmatch;
3131
typedef regex_iterator<TCHAR const*> tregex_iterator;
3232
typedef regex_token_iterator<TCHAR const*> tregex_token_iterator;
3333

34-
#if _MSC_VER >= 1310
34+
// Obsolete. Remove
3535
#define SIMPLE_STRING_PARAM class B, bool b
3636
#define SIMPLE_STRING_ARG_LIST B, b
37-
#else
38-
#define SIMPLE_STRING_PARAM class B
39-
#define SIMPLE_STRING_ARG_LIST B
40-
#endif
4137

4238
//
4339
// define regex creation functions:
4440
//
45-
template <SIMPLE_STRING_PARAM>
41+
template <class B, bool b>
4642
inline basic_regex<B>
47-
make_regex(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s, ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal)
43+
make_regex(const ATL::CSimpleStringT<B, b>& s, ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal)
4844
{
4945
basic_regex<B> result(s.GetString(), s.GetString() + s.GetLength(), f);
5046
return result;
5147
}
5248
//
5349
// regex_match overloads:
5450
//
55-
template <SIMPLE_STRING_PARAM, class A, class T>
56-
inline bool regex_match(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
51+
template <class B, bool b, class A, class T>
52+
inline bool regex_match(const ATL::CSimpleStringT<B, b>& s,
5753
match_results<const B*, A>& what,
5854
const basic_regex<B, T>& e,
5955
boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
@@ -65,8 +61,8 @@ inline bool regex_match(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
6561
f);
6662
}
6763

68-
template <SIMPLE_STRING_PARAM, class T>
69-
inline bool regex_match(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
64+
template <class B, bool b, class T>
65+
inline bool regex_match(const ATL::CSimpleStringT<B, b>& s,
7066
const basic_regex<B, T>& e,
7167
boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
7268
{
@@ -78,8 +74,8 @@ inline bool regex_match(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
7874
//
7975
// regex_search overloads:
8076
//
81-
template <SIMPLE_STRING_PARAM, class A, class T>
82-
inline bool regex_search(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
77+
template <class B, bool b, class A, class T>
78+
inline bool regex_search(const ATL::CSimpleStringT<B, b>& s,
8379
match_results<const B*, A>& what,
8480
const basic_regex<B, T>& e,
8581
boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
@@ -91,8 +87,8 @@ inline bool regex_search(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
9187
f);
9288
}
9389

94-
template <SIMPLE_STRING_PARAM, class T>
95-
inline bool regex_search(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
90+
template <class B, bool b, class T>
91+
inline bool regex_search(const ATL::CSimpleStringT<B, b>& s,
9692
const basic_regex<B, T>& e,
9793
boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
9894
{
@@ -104,58 +100,58 @@ inline bool regex_search(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
104100
//
105101
// regex_iterator creation:
106102
//
107-
template <SIMPLE_STRING_PARAM>
103+
template <class B, bool b>
108104
inline regex_iterator<B const*>
109-
make_regex_iterator(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s, const basic_regex<B>& e, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
105+
make_regex_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
110106
{
111107
regex_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, f);
112108
return result;
113109
}
114110

115-
template <SIMPLE_STRING_PARAM>
111+
template <class B, bool b>
116112
inline regex_token_iterator<B const*>
117-
make_regex_token_iterator(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s, const basic_regex<B>& e, int sub = 0, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
113+
make_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, int sub = 0, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
118114
{
119115
regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, sub, f);
120116
return result;
121117
}
122118

123-
template <SIMPLE_STRING_PARAM>
119+
template <class B, bool b>
124120
inline regex_token_iterator<B const*>
125-
make_regex_token_iterator(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s, const basic_regex<B>& e, const std::vector<int>& subs, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
121+
make_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, const std::vector<int>& subs, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
126122
{
127123
regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f);
128124
return result;
129125
}
130126

131-
template <SIMPLE_STRING_PARAM, std::size_t N>
127+
template <class B, bool b, std::size_t N>
132128
inline regex_token_iterator<B const*>
133-
make_regex_token_iterator(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s, const basic_regex<B>& e, const int (& subs)[N], ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
129+
make_regex_token_iterator(const ATL::CSimpleStringT<B, b>& s, const basic_regex<B>& e, const int (& subs)[N], ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default)
134130
{
135131
regex_token_iterator<B const*> result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f);
136132
return result;
137133
}
138134

139135
template <class OutputIterator, class BidirectionalIterator, class traits,
140-
SIMPLE_STRING_PARAM>
136+
class B, bool b>
141137
OutputIterator regex_replace(OutputIterator out,
142138
BidirectionalIterator first,
143139
BidirectionalIterator last,
144140
const basic_regex<B, traits>& e,
145-
const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& fmt,
141+
const ATL::CSimpleStringT<B, b>& fmt,
146142
match_flag_type flags = match_default)
147143
{
148144
return ::boost::regex_replace(out, first, last, e, fmt.GetString(), flags);
149145
}
150146

151147
namespace re_detail{
152148

153-
template <SIMPLE_STRING_PARAM>
149+
template <class B, bool b>
154150
class mfc_string_out_iterator
155151
{
156-
ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>* out;
152+
ATL::CSimpleStringT<B, b>* out;
157153
public:
158-
mfc_string_out_iterator(ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s) : out(&s) {}
154+
mfc_string_out_iterator(ATL::CSimpleStringT<B, b>& s) : out(&s) {}
159155
mfc_string_out_iterator& operator++() { return *this; }
160156
mfc_string_out_iterator& operator++(int) { return *this; }
161157
mfc_string_out_iterator& operator*() { return *this; }
@@ -173,14 +169,14 @@ class mfc_string_out_iterator
173169

174170
}
175171

176-
template <class traits, SIMPLE_STRING_PARAM>
177-
ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST> regex_replace(const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& s,
172+
template <class traits, class B, bool b>
173+
ATL::CSimpleStringT<B, b> regex_replace(const ATL::CSimpleStringT<B, b>& s,
178174
const basic_regex<B, traits>& e,
179-
const ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST>& fmt,
175+
const ATL::CSimpleStringT<B, b>& fmt,
180176
match_flag_type flags = match_default)
181177
{
182-
ATL::CSimpleStringT<SIMPLE_STRING_ARG_LIST> result(s.GetManager());
183-
re_detail::mfc_string_out_iterator<SIMPLE_STRING_ARG_LIST> i(result);
178+
ATL::CSimpleStringT<B, b> result(s.GetManager());
179+
re_detail::mfc_string_out_iterator<B, b> i(result);
184180
regex_replace(i, s.GetString(), s.GetString() + s.GetLength(), e, fmt.GetString(), flags);
185181
return result;
186182
}

include/boost/regex/pending/unicode_iterator.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ class u32_to_u16_iterator
141141
{
142142
typedef boost::iterator_facade<u32_to_u16_iterator<BaseIterator, U16Type>, U16Type, std::bidirectional_iterator_tag, const U16Type> base_type;
143143

144-
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
144+
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
145145
typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
146146

147147
BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32);
@@ -256,7 +256,7 @@ class u16_to_u32_iterator
256256
// special values for pending iterator reads:
257257
BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
258258

259-
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
259+
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
260260
typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
261261

262262
BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 16);
@@ -371,7 +371,7 @@ class u32_to_u8_iterator
371371
{
372372
typedef boost::iterator_facade<u32_to_u8_iterator<BaseIterator, U8Type>, U8Type, std::bidirectional_iterator_tag, const U8Type> base_type;
373373

374-
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
374+
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
375375
typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
376376

377377
BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32);
@@ -499,7 +499,7 @@ class u8_to_u32_iterator
499499
// special values for pending iterator reads:
500500
BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
501501

502-
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
502+
#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
503503
typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
504504

505505
BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 8);

include/boost/regex/v4/basic_regex_creator.hpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ struct digraph : public std::pair<charT, charT>
4747
digraph(charT c1) : std::pair<charT, charT>(c1, 0){}
4848
digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2)
4949
{}
50-
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
5150
digraph(const digraph<charT>& d) : std::pair<charT, charT>(d.first, d.second){}
52-
#endif
5351
template <class Seq>
5452
digraph(const Seq& s) : std::pair<charT, charT>()
5553
{
@@ -433,20 +431,10 @@ re_syntax_base* basic_regex_creator<charT, traits>::append_set(
433431
if(flags() & regex_constants::collate)
434432
{
435433
// we need to transform our range into sort keys:
436-
#if BOOST_WORKAROUND(__GNUC__, < 3)
437-
string_type in(3, charT(0));
438-
in[0] = c1.first;
439-
in[1] = c1.second;
440-
s1 = this->m_traits.transform(in.c_str(), (in[1] ? in.c_str()+2 : in.c_str()+1));
441-
in[0] = c2.first;
442-
in[1] = c2.second;
443-
s2 = this->m_traits.transform(in.c_str(), (in[1] ? in.c_str()+2 : in.c_str()+1));
444-
#else
445434
charT a1[3] = { c1.first, c1.second, charT(0), };
446435
charT a2[3] = { c2.first, c2.second, charT(0), };
447436
s1 = this->m_traits.transform(a1, (a1[1] ? a1+2 : a1+1));
448437
s2 = this->m_traits.transform(a2, (a2[1] ? a2+2 : a2+1));
449-
#endif
450438
if(s1.size() == 0)
451439
s1 = string_type(1, charT(0));
452440
if(s2.size() == 0)
@@ -491,15 +479,8 @@ re_syntax_base* basic_regex_creator<charT, traits>::append_set(
491479
string_type s;
492480
if(first->second)
493481
{
494-
#if BOOST_WORKAROUND(__GNUC__, < 3)
495-
string_type in(3, charT(0));
496-
in[0] = first->first;
497-
in[1] = first->second;
498-
s = m_traits.transform_primary(in.c_str(), in.c_str()+2);
499-
#else
500482
charT cs[3] = { first->first, first->second, charT(0), };
501483
s = m_traits.transform_primary(cs, cs+2);
502-
#endif
503484
}
504485
else
505486
s = m_traits.transform_primary(&first->first, &first->first+1);

include/boost/regex/v4/cpp_regex_traits.hpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,6 @@ typename cpp_regex_traits_implementation<charT>::string_type
624624
return pos->second;
625625
}
626626
#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
627-
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
628627
&& !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
629628
std::string name(p1, p2);
630629
#else
@@ -635,7 +634,6 @@ typename cpp_regex_traits_implementation<charT>::string_type
635634
#endif
636635
name = lookup_default_collate_name(name);
637636
#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
638-
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
639637
&& !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
640638
if(name.size())
641639
return string_type(name.begin(), name.end());
@@ -857,7 +855,7 @@ bool cpp_regex_traits_implementation<charT>::isctype(const charT c, char_class_t
857855

858856

859857
template <class charT>
860-
inline boost::shared_ptr<const cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
858+
inline boost::shared_ptr<const cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l)
861859
{
862860
cpp_regex_traits_base<charT> key(l);
863861
return ::boost::object_cache<cpp_regex_traits_base<charT>, cpp_regex_traits_implementation<charT> >::get(key, 5);

include/boost/regex/v4/instances.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,19 +92,15 @@ template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHA
9292

9393
template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
9494

95-
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
9695
template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >;
97-
#endif
9896
#ifndef BOOST_NO_STD_ALLOCATOR
9997
template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
10098
#endif
10199
#if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\
102100
&& !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\
103101
&& !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\
104102
&& !defined(BOOST_REGEX_ICU_INSTANCES)
105-
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
106103
template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >;
107-
#endif
108104
#ifndef BOOST_NO_STD_ALLOCATOR
109105
template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >;
110106
#endif

include/boost/regex/v4/iterator_traits.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
namespace boost{
3434
namespace re_detail{
3535

36-
#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
36+
#if defined(BOOST_NO_STD_ITERATOR_TRAITS)
3737

3838
template <class T>
3939
struct regex_iterator_traits

include/boost/regex/v4/match_flags.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ typedef enum _match_flags
7171

7272
} match_flags;
7373

74-
#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BORLANDC__)
74+
#if defined(__BORLANDC__)
7575
typedef unsigned long match_flag_type;
7676
#else
7777
typedef match_flags match_flag_type;

include/boost/regex/v4/perl_matcher.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ inline bool can_start(unsigned int c, const unsigned char* map, unsigned char ma
8686
// which succeeds when it should not.
8787
//
8888
#ifndef _RWSTD_VER
89-
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
9089
template <class C, class T, class A>
9190
inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
9291
{
@@ -97,9 +96,7 @@ inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
9796
}
9897
return s.compare(p);
9998
}
100-
#endif
10199
#else
102-
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
103100
template <class C, class T, class A>
104101
inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
105102
{
@@ -110,7 +107,6 @@ inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
110107
}
111108
return s.compare(p);
112109
}
113-
#endif
114110
inline int string_compare(const std::string& s, const char* p)
115111
{ return std::strcmp(s.c_str(), p); }
116112
# ifndef BOOST_NO_WREGEX

include/boost/regex/v4/perl_matcher_common.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -458,11 +458,7 @@ bool perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary()
458458
if(position != last)
459459
{
460460
// prev and this character must be opposites:
461-
#if defined(BOOST_REGEX_USE_C_LOCALE) && defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
462-
b = traits::isctype(*position, m_word_mask);
463-
#else
464461
b = traits_inst.isctype(*position, m_word_mask);
465-
#endif
466462
}
467463
else
468464
{

0 commit comments

Comments
 (0)