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
8class 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