Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #include "cow_wrapper_clients.hxx"
21 :
22 : namespace o3tltests {
23 :
24 : class cow_wrapper_client2_impl
25 : {
26 : public:
27 6 : cow_wrapper_client2_impl() : mnValue(0) {}
28 2 : explicit cow_wrapper_client2_impl( int nVal ) : mnValue(nVal) {}
29 4 : void setValue( int nVal ) { mnValue = nVal; }
30 6 : int getValue() const { return mnValue; }
31 :
32 4 : bool operator==( const cow_wrapper_client2_impl& rRHS ) const { return mnValue == rRHS.mnValue; }
33 6 : bool operator!=( const cow_wrapper_client2_impl& rRHS ) const { return mnValue != rRHS.mnValue; }
34 4 : bool operator<( const cow_wrapper_client2_impl& rRHS ) const { return mnValue < rRHS.mnValue; }
35 :
36 : private:
37 : int mnValue;
38 : };
39 :
40 3 : cow_wrapper_client2::cow_wrapper_client2() : maImpl()
41 : {
42 3 : }
43 :
44 1 : cow_wrapper_client2::cow_wrapper_client2( int nVal ) :
45 1 : maImpl( cow_wrapper_client2_impl(nVal) )
46 : {
47 1 : }
48 :
49 4 : cow_wrapper_client2::~cow_wrapper_client2()
50 : {
51 4 : }
52 :
53 0 : cow_wrapper_client2::cow_wrapper_client2( const cow_wrapper_client2& rSrc ) :
54 0 : maImpl(rSrc.maImpl)
55 : {
56 0 : }
57 :
58 3 : cow_wrapper_client2& cow_wrapper_client2::operator=( const cow_wrapper_client2& rSrc )
59 : {
60 3 : maImpl = rSrc.maImpl;
61 :
62 3 : return *this;
63 : }
64 :
65 2 : void cow_wrapper_client2::modify( int nVal )
66 : {
67 2 : maImpl->setValue( nVal );
68 2 : }
69 :
70 3 : int cow_wrapper_client2::queryUnmodified() const
71 : {
72 3 : return maImpl->getValue();
73 : }
74 :
75 1 : void cow_wrapper_client2::makeUnique()
76 : {
77 1 : maImpl.make_unique();
78 1 : }
79 5 : bool cow_wrapper_client2::is_unique() const
80 : {
81 5 : return maImpl.is_unique();
82 : }
83 9 : oslInterlockedCount cow_wrapper_client2::use_count() const
84 : {
85 9 : return maImpl.use_count();
86 : }
87 1 : void cow_wrapper_client2::swap( cow_wrapper_client2& r )
88 : {
89 1 : o3tl::swap(maImpl, r.maImpl);
90 1 : }
91 :
92 6 : bool cow_wrapper_client2::operator==( const cow_wrapper_client2& rRHS ) const
93 : {
94 6 : return maImpl == rRHS.maImpl;
95 : }
96 3 : bool cow_wrapper_client2::operator!=( const cow_wrapper_client2& rRHS ) const
97 : {
98 3 : return maImpl != rRHS.maImpl;
99 : }
100 2 : bool cow_wrapper_client2::operator<( const cow_wrapper_client2& rRHS ) const
101 : {
102 2 : return maImpl < rRHS.maImpl;
103 : }
104 :
105 : // ---------------------------------------------------------------------------
106 :
107 3 : cow_wrapper_client3::cow_wrapper_client3() : maImpl()
108 : {
109 3 : }
110 :
111 1 : cow_wrapper_client3::cow_wrapper_client3( int nVal ) :
112 1 : maImpl( cow_wrapper_client2_impl(nVal) )
113 : {
114 1 : }
115 :
116 4 : cow_wrapper_client3::~cow_wrapper_client3()
117 : {
118 4 : }
119 :
120 0 : cow_wrapper_client3::cow_wrapper_client3( const cow_wrapper_client3& rSrc ) :
121 0 : maImpl(rSrc.maImpl)
122 : {
123 0 : }
124 :
125 3 : cow_wrapper_client3& cow_wrapper_client3::operator=( const cow_wrapper_client3& rSrc )
126 : {
127 3 : maImpl = rSrc.maImpl;
128 :
129 3 : return *this;
130 : }
131 :
132 2 : void cow_wrapper_client3::modify( int nVal )
133 : {
134 2 : maImpl->setValue( nVal );
135 2 : }
136 :
137 3 : int cow_wrapper_client3::queryUnmodified() const
138 : {
139 3 : return maImpl->getValue();
140 : }
141 :
142 1 : void cow_wrapper_client3::makeUnique()
143 : {
144 1 : maImpl.make_unique();
145 1 : }
146 5 : bool cow_wrapper_client3::is_unique() const
147 : {
148 5 : return maImpl.is_unique();
149 : }
150 9 : oslInterlockedCount cow_wrapper_client3::use_count() const
151 : {
152 9 : return maImpl.use_count();
153 : }
154 1 : void cow_wrapper_client3::swap( cow_wrapper_client3& r )
155 : {
156 1 : o3tl::swap(maImpl, r.maImpl);
157 1 : }
158 :
159 6 : bool cow_wrapper_client3::operator==( const cow_wrapper_client3& rRHS ) const
160 : {
161 6 : return maImpl == rRHS.maImpl;
162 : }
163 3 : bool cow_wrapper_client3::operator!=( const cow_wrapper_client3& rRHS ) const
164 : {
165 3 : return maImpl != rRHS.maImpl;
166 : }
167 2 : bool cow_wrapper_client3::operator<( const cow_wrapper_client3& rRHS ) const
168 : {
169 2 : return maImpl < rRHS.maImpl;
170 : }
171 :
172 : } // namespace o3tltests
173 :
174 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|