Apache Mesos
registry.hpp
Go to the documentation of this file.
1 // Licensed to the Apache Software Foundation (ASF) under one
2 // or more contributor license agreements. See the NOTICE file
3 // distributed with this work for additional information
4 // regarding copyright ownership. The ASF licenses this file
5 // to you under the Apache License, Version 2.0 (the
6 // "License"); you may not use this file except in compliance
7 // with the License. You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 
17 
18 #ifndef __RESOURCE_PROVIDER_REGISTRY_HPP__
19 #define __RESOURCE_PROVIDER_REGISTRY_HPP__
20 
21 #include <mesos/type_utils.hpp>
22 
23 // ONLY USEFUL AFTER RUNNING PROTOC.
24 #include "resource_provider/registry.pb.h"
25 
26 namespace mesos {
27 namespace resource_provider {
28 namespace registry {
29 
30 inline bool operator==(
31  const ResourceProvider& left,
32  const ResourceProvider& right)
33 {
34  // To support additions to the persisted types we consider two resource
35  // providers to be equal if all their set fields are equal.
36  if (left.id() != right.id()) {
37  return false;
38  }
39 
40  if (left.has_name() && right.has_name() && left.name() != right.name()) {
41  return false;
42  }
43 
44  if (left.has_type() && right.has_type() && left.type() != right.type()) {
45  return false;
46  }
47 
48  return true;
49 }
50 
51 
52 inline bool operator!=(
53  const ResourceProvider& left,
54  const ResourceProvider& right)
55 {
56  return !(left == right);
57 }
58 
59 
60 inline std::ostream& operator<<(
61  std::ostream& stream,
62  const ResourceProvider& resourceProvider)
63 {
64  return stream << resourceProvider.DebugString();
65 }
66 
67 } // namespace registry {
68 } // namespace resource_provider {
69 } // namespace mesos {
70 
71 #endif // __RESOURCE_PROVIDER_REGISTRY_HPP__
std::ostream & operator<<(std::ostream &stream, const ResourceProvider &resourceProvider)
Definition: registry.hpp:60
bool operator!=(const ResourceProvider &left, const ResourceProvider &right)
Definition: registry.hpp:52
Definition: agent.hpp:25
bool operator==(const ResourceProvider &left, const ResourceProvider &right)
Definition: registry.hpp:30