1// Copyright (c) 2011 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 PRINTING_PAGE_RANGE_H_
6#define PRINTING_PAGE_RANGE_H_
7
8#include <vector>
9
10#include "printing_export.h"
11
12namespace printing {
13
14struct PageRange;
15
16typedef std::vector<PageRange> PageRanges;
17
18// Print range is inclusive. To select one page, set from == to.
19struct PRINTING_EXPORT PageRange {
20  int from;
21  int to;
22
23  bool operator==(const PageRange& rhs) const {
24    return from == rhs.from && to == rhs.to;
25  }
26
27  // Retrieves the sorted list of unique pages in the page ranges.
28  static std::vector<int> GetPages(const PageRanges& ranges);
29};
30
31}  // namespace printing
32
33#endif  // PRINTING_PAGE_RANGE_H_
34