OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/ntp_snippets/category.h" | 5 #include "components/ntp_snippets/category.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 | 8 |
9 namespace ntp_snippets { | 9 namespace ntp_snippets { |
10 | 10 |
11 Category::Category(int id) : id_(id) {} | 11 Category::Category(int id) : id_(id) {} |
12 | 12 |
13 bool Category::IsKnownCategory(KnownCategories known_category) const { | 13 bool Category::IsKnownCategory(KnownCategories known_category) const { |
14 DCHECK_NE(known_category, KnownCategories::LOCAL_CATEGORIES_COUNT); | 14 DCHECK_NE(known_category, KnownCategories::LOCAL_CATEGORIES_COUNT); |
15 DCHECK_NE(known_category, KnownCategories::REMOTE_CATEGORIES_OFFSET); | 15 DCHECK_NE(known_category, KnownCategories::REMOTE_CATEGORIES_OFFSET); |
16 return id_ == static_cast<int>(known_category); | 16 return id_ == static_cast<int>(known_category); |
17 } | 17 } |
18 | 18 |
19 // static | |
20 Category Category::FromKnownCategory(KnownCategories known_category) { | |
21 const int id = static_cast<int>(known_category); | |
Marc Treib
2016/12/13 12:22:42
nit: just inline into the return
vitaliii
2016/12/14 08:59:38
Done.
| |
22 return FromIDValue(id); | |
23 } | |
24 | |
25 // static | |
26 Category Category::FromRemoteCategory(int remote_category) { | |
27 DCHECK_GT(remote_category, 0); | |
28 return Category(static_cast<int>(KnownCategories::REMOTE_CATEGORIES_OFFSET) + | |
29 remote_category); | |
30 } | |
31 | |
32 // static | |
33 Category Category::FromIDValue(int id) { | |
34 DCHECK_GE(id, 0); | |
35 DCHECK(id < static_cast<int>(KnownCategories::LOCAL_CATEGORIES_COUNT) || | |
36 id > static_cast<int>(KnownCategories::REMOTE_CATEGORIES_OFFSET)); | |
37 return Category(id); | |
38 } | |
39 | |
19 bool operator==(const Category& left, const Category& right) { | 40 bool operator==(const Category& left, const Category& right) { |
20 return left.id() == right.id(); | 41 return left.id() == right.id(); |
21 } | 42 } |
22 | 43 |
23 bool operator!=(const Category& left, const Category& right) { | 44 bool operator!=(const Category& left, const Category& right) { |
24 return !(left == right); | 45 return !(left == right); |
25 } | 46 } |
26 | 47 |
27 bool Category::CompareByID::operator()(const Category& left, | 48 bool Category::CompareByID::operator()(const Category& left, |
28 const Category& right) const { | 49 const Category& right) const { |
29 return left.id() < right.id(); | 50 return left.id() < right.id(); |
30 } | 51 } |
31 | 52 |
32 std::ostream& operator<<(std::ostream& os, const Category& obj) { | 53 std::ostream& operator<<(std::ostream& os, const Category& obj) { |
33 os << obj.id(); | 54 os << obj.id(); |
34 return os; | 55 return os; |
35 } | 56 } |
36 | 57 |
37 } // namespace ntp_snippets | 58 } // namespace ntp_snippets |
OLD | NEW |