// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_ #define CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_ #include "base/strings/string16.h" // Trims |text| to contain only the range from |start| to |end| and |keep| words // on either side of the range. The |start| and |end| parameters are character // indexes into |text|. The |keep| parameter is the number of words to keep on // either side of the |start|-|end| range. The function updates |start| in // accordance with the trimming. // // Example: // // size_t start = 14; // size_t end = 23; // base::string16 text = // base::ASCIIToUTF16("one two three four five six seven eight"); // int keep = 2; // base::string16 trimmed = TrimWords(&start, end, text, keep); // DCHECK(trimmed == base::ASCIIToUTF16("two three four five six seven")); // DCHECK(start == 10); // base::string16 TrimWords(size_t* start, size_t end, const base::string16& text, size_t keep); #endif // CHROME_BROWSER_SPELLCHECKER_WORD_TRIMMER_H_