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 12 namespace printing { 13 14 struct PageRange; 15 16 typedef std::vector<PageRange> PageRanges; 17 18 // Print range is inclusive. To select one page, set from == to. 19 struct 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