jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Public Member Functions | List of all members
jubatus::core::fv_converter::space_splitter Class Reference

#include <space_splitter.hpp>

Inheritance diagram for jubatus::core::fv_converter::space_splitter:
Inheritance graph
Collaboration diagram for jubatus::core::fv_converter::space_splitter:
Collaboration graph

Public Member Functions

void split (const std::string &string, std::vector< std::pair< size_t, size_t > > &ret_boundaries) const
 
- Public Member Functions inherited from jubatus::core::fv_converter::word_splitter
void extract (const std::string &text, std::vector< string_feature_element > &result) const
 
 word_splitter ()
 
virtual ~word_splitter ()
 
- Public Member Functions inherited from jubatus::core::fv_converter::string_feature
virtual ~string_feature ()
 

Detailed Description

Definition at line 29 of file space_splitter.hpp.

Member Function Documentation

void jubatus::core::fv_converter::space_splitter::split ( const std::string &  string,
std::vector< std::pair< size_t, size_t > > &  ret_boundaries 
) const
virtual

Implements jubatus::core::fv_converter::word_splitter.

Definition at line 33 of file space_splitter.cpp.

35  {
36  std::vector<std::pair<size_t, size_t> > bounds;
37 
38  size_t last = 0;
39  while (true) {
40  size_t begin = string.find_first_not_of(SPACES, last);
41  if (begin == std::string::npos) {
42  break;
43  }
44 
45  size_t end = string.find_first_of(SPACES, begin);
46  if (end == std::string::npos) {
47  size_t len = string.size() - begin;
48  bounds.push_back(std::make_pair(begin, len));
49  break;
50  } else {
51  size_t len = end - begin;
52  bounds.push_back(std::make_pair(begin, len));
53  last = end;
54  }
55  }
56 
57  bounds.swap(ret_boundaries);
58 }

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