1 /*
2  * Copyright (c) 2005
3  * Francois Dumont
4  *
5  * This material is provided "as is", with absolutely no warranty expressed
6  * or implied. Any use is at your own risk.
7  *
8  * Permission to use or copy this software for any purpose is hereby granted
9  * without fee, provided the above notices are retained on all copies.
10  * Permission to modify the code and to distribute modified code is granted,
11  * provided the above notices are retained, and a notice that the code was
12  * modified is included with the above copyright notice.
13  */
14 
15 /* This header contains npos definition used in basic_string and rope
16  * implementation. It do not have to be guarded as files including it
17  * are already guarded and it has sometimes to be included several times.
18  */
19 
20 #if defined (_STLP_STATIC_CONST_INIT_BUG)
21   enum { npos = -1 };
22 #elif defined (__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 96)
23   // inline initializer conflicts with 'extern template'
24   static const size_t npos;
25 #else
26   static const size_t npos = ~(size_t)0;
27 #endif
28