foobar2000 SDK  2015-01-14
Public Member Functions | Private Attributes
pfc::_splitStringSimple_check< const char * >

#include <string_base.h>

Public Member Functions

 _splitStringSimple_check (const char *p_chars)
 
t_size operator() (const char *p_string, t_size p_stringLen) const
 

Private Attributes

array_t< t_uint32m_chars
 

Detailed Description

template<>
class pfc::_splitStringSimple_check< const char * >

Definition at line 898 of file string_base.h.

Constructor & Destructor Documentation

pfc::_splitStringSimple_check< const char * >::_splitStringSimple_check ( const char *  p_chars)
inline

Definition at line 900 of file string_base.h.

900  {
901  m_chars.set_size(strlen_utf8(p_chars));
902  for(t_size walk = 0, ptr = 0; walk < m_chars.get_size(); ++walk) {
903  ptr += utf8_decode_char(p_chars + ptr,m_chars[walk]);
904  }
905  }
t_size strlen_utf8(const char *s, t_size num=~0)
Definition: utf8.cpp:316
size_t t_size
Definition: int_types.h:48
void set_size(t_size p_size)
Definition: array.h:104
t_size utf8_decode_char(const char *src, unsigned &out, t_size src_bytes)
Definition: utf8.cpp:64
t_size get_size() const
Definition: array.h:130

Member Function Documentation

t_size pfc::_splitStringSimple_check< const char * >::operator() ( const char *  p_string,
t_size  p_stringLen 
) const
inline

Definition at line 906 of file string_base.h.

906  {
907  t_uint32 c;
908  t_size delta = utf8_decode_char(p_string, c, p_stringLen);
909  if (delta > 0) {
910  for(t_size walk = 0; walk < m_chars.get_size(); ++walk) {
911  if (m_chars[walk] == c) return delta;
912  }
913  }
914  return 0;
915  }
size_t t_size
Definition: int_types.h:48
t_size utf8_decode_char(const char *src, unsigned &out, t_size src_bytes)
Definition: utf8.cpp:64
t_size get_size() const
Definition: array.h:130
uint32_t t_uint32
Definition: int_types.h:5

Field Documentation

array_t<t_uint32> pfc::_splitStringSimple_check< const char * >::m_chars
private

Definition at line 917 of file string_base.h.


The documentation for this class was generated from the following file: