Home | History | Annotate | Download | only in common
      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(0xFFFFFFFF), offset(static_cast<size_t>(-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