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; IsValidPredicate(size_t text_length)14 explicit IsValidPredicate(size_t text_length) : text_length_(text_length) {} operator()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. SpellCheckMarker()23 SpellCheckMarker() : hash(0xFFFFFFFF), offset(static_cast<size_t>(-1)) {} 24 SpellCheckMarker(uint32 hash,size_t offset)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