1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_SPELLCHECK_MARKER_H_ 6 #define CHROME_COMMON_SPELLCHECK_MARKER_H_ 7 8 class SpellCheckMarker { 9 public: 10 // A predicate to test spellcheck marker validity. 11 class IsValidPredicate { 12 public: 13 typedef SpellCheckMarker argument_type; 14 explicit IsValidPredicate(size_t text_length) : text_length_(text_length) {} 15 bool operator()(const SpellCheckMarker& marker) const { 16 return marker.offset < text_length_; 17 } 18 private: 19 size_t text_length_; 20 }; 21 22 // IPC requires a default constructor. 23 SpellCheckMarker() : hash(-1), offset(-1) {} 24 25 SpellCheckMarker(uint32 hash, size_t offset) : hash(hash), offset(offset) {} 26 27 uint32 hash; 28 size_t offset; 29 }; 30 31 #endif // CHROME_COMMON_SPELLCHECK_MARKER_H_ 32