1 // Copyright 2014 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.
5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_CONTAINER_TEST_UTIL_H_
6 #define MOJO_PUBLIC_CPP_BINDINGS_TESTS_CONTAINER_TEST_UTIL_H_
8 #include "mojo/public/cpp/system/macros.h"
15 CopyableType(const CopyableType& other);
16 CopyableType& operator=(const CopyableType& other);
19 bool copied() const { return copied_; }
20 static size_t num_instances() { return num_instances_; }
21 CopyableType* ptr() const { return ptr_; }
22 void ResetCopied() { copied_ = false; }
26 static size_t num_instances_;
31 MOJO_MOVE_ONLY_TYPE_FOR_CPP_03(MoveOnlyType, RValue)
33 typedef MoveOnlyType Data_;
35 MoveOnlyType(RValue other);
36 MoveOnlyType& operator=(RValue other);
39 bool moved() const { return moved_; }
40 static size_t num_instances() { return num_instances_; }
41 MoveOnlyType* ptr() const { return ptr_; }
42 void ResetMoved() { moved_ = false; }
46 static size_t num_instances_;
52 #endif // MOJO_PUBLIC_CPP_BINDINGS_TESTS_CONTAINER_TEST_UTIL_H_