7 using namespace std::placeholders;
13 : m_data(std::accumulate(idict.
begin(), idict.
end(), 0, [](int
a, std::
string b) {
return a +
b.size(); })),
18 std::sort(
m_index.begin(),
m_index.end(), [&idict](
unsigned int a,
unsigned int b) {
19 return std::less<std::string>()(idict[a], idict[
b]);
23 std::vector<char>::iterator
p = m_data.begin();
33 return std::lexicographical_compare(rh.
b, rh.
b + rh.
l, lh.
b, lh.
b + lh.
l);
42 Frame sp(&s[0], s.size(), 0);
47 Frame sp(s, ::strlen(s), 0);
size_t index(std::string const &s) const
const_iterator end() const
std::vector< unsigned int > m_index
const_iterator begin() const
const_iterator find(std::string const &s) const
bool operator()(SmallWORMDict::Frame const &rh, SmallWORMDict::Frame const &lh) const
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})