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