// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_TEST_SWIFT_INTEROP_POINTER_OBJECT_PASSING_H_
#define IOS_CHROME_TEST_SWIFT_INTEROP_POINTER_OBJECT_PASSING_H_
class Object {
public:
Object(int value) : value_(value) {}
~Object() {}
int GetValue() const { return value_; }
private:
int value_;
};
class ObjectPassing {
public:
ObjectPassing(){};
~ObjectPassing(){};
int AddReferences(const Object& one, const Object& two) const {
return one.GetValue() + two.GetValue();
}
int AddPointers(Object* one, Object* two) const {
return one->GetValue() + two->GetValue();
}
};
#endif // IOS_CHROME_TEST_SWIFT_INTEROP_POINTER_OBJECT_PASSING_H_