Lines Matching refs:G
100 template<class U, class G _ENABLE_IF(
102 std::is_constructible_v<E, const G&> &&
103 !std::is_constructible_v<T, expected<U, G>&> &&
104 !std::is_constructible_v<T, expected<U, G>&&> &&
105 !std::is_constructible_v<T, const expected<U, G>&> &&
106 !std::is_constructible_v<T, const expected<U, G>&&> &&
107 !std::is_convertible_v<expected<U, G>&, T> &&
108 !std::is_convertible_v<expected<U, G>&&, T> &&
109 !std::is_convertible_v<const expected<U, G>&, T> &&
110 !std::is_convertible_v<const expected<U, G>&&, T> &&
112 !std::is_convertible_v<const G&, E>) /* non-explicit */
115 constexpr expected(const expected<U, G>& rhs) { in expected()
120 template<class U, class G _ENABLE_IF(
122 std::is_constructible_v<E, const G&> &&
123 !std::is_constructible_v<T, expected<U, G>&> &&
124 !std::is_constructible_v<T, expected<U, G>&&> &&
125 !std::is_constructible_v<T, const expected<U, G>&> &&
126 !std::is_constructible_v<T, const expected<U, G>&&> &&
127 !std::is_convertible_v<expected<U, G>&, T> &&
128 !std::is_convertible_v<expected<U, G>&&, T> &&
129 !std::is_convertible_v<const expected<U, G>&, T> &&
130 !std::is_convertible_v<const expected<U, G>&&, T> &&
132 !std::is_convertible_v<const G&, E>) /* explicit */
134 constexpr explicit expected(const expected<U, G>& rhs) { in expected()
139 template<class U, class G _ENABLE_IF(
141 std::is_constructible_v<E, const G&> &&
142 !std::is_constructible_v<T, expected<U, G>&> &&
143 !std::is_constructible_v<T, expected<U, G>&&> &&
144 !std::is_constructible_v<T, const expected<U, G>&> &&
145 !std::is_constructible_v<T, const expected<U, G>&&> &&
146 !std::is_convertible_v<expected<U, G>&, T> &&
147 !std::is_convertible_v<expected<U, G>&&, T> &&
148 !std::is_convertible_v<const expected<U, G>&, T> &&
149 !std::is_convertible_v<const expected<U, G>&&, T> &&
151 !std::is_convertible_v<const G&, E>) /* non-explicit */
154 constexpr expected(expected<U, G>&& rhs) { in expected()
159 template<class U, class G _ENABLE_IF(
161 std::is_constructible_v<E, const G&> &&
162 !std::is_constructible_v<T, expected<U, G>&> &&
163 !std::is_constructible_v<T, expected<U, G>&&> &&
164 !std::is_constructible_v<T, const expected<U, G>&> &&
165 !std::is_constructible_v<T, const expected<U, G>&&> &&
166 !std::is_convertible_v<expected<U, G>&, T> &&
167 !std::is_convertible_v<expected<U, G>&&, T> &&
168 !std::is_convertible_v<const expected<U, G>&, T> &&
169 !std::is_convertible_v<const expected<U, G>&&, T> &&
171 !std::is_convertible_v<const G&, E>) /* explicit */
173 constexpr explicit expected(expected<U, G>&& rhs) { in expected()
198 template<class G = E _ENABLE_IF(
199 std::is_constructible_v<E, const G&> &&
200 std::is_convertible_v<const G&, E> /* non-explicit */
203 constexpr expected(const unexpected<G>& e) in expected()
206 template<class G = E _ENABLE_IF(
207 std::is_constructible_v<E, const G&> &&
208 !std::is_convertible_v<const G&, E> /* explicit */
210 constexpr explicit expected(const unexpected<G>& e) in expected()
213 template<class G = E _ENABLE_IF(
214 std::is_constructible_v<E, G&&> &&
215 std::is_convertible_v<G&&, E> /* non-explicit */
218 constexpr expected(unexpected<G>&& e) in expected()
221 template<class G = E _ENABLE_IF(
222 std::is_constructible_v<E, G&&> &&
223 !std::is_convertible_v<G&&, E> /* explicit */
225 constexpr explicit expected(unexpected<G>&& e) in expected()
279 template<class G = E>
280 expected& operator=(const unexpected<G>& rhs) {
285 template<class G = E _ENABLE_IF(
286 std::is_nothrow_move_constructible_v<G> &&
287 std::is_move_assignable_v<G>
289 expected& operator=(unexpected<G>&& rhs) {
431 template<class U, class G _ENABLE_IF(
433 std::is_convertible_v<const G&, E> /* non-explicit */
436 constexpr expected(const expected<U, G>& rhs) { in expected()
440 template<class U, class G _ENABLE_IF(
442 !std::is_convertible_v<const G&, E> /* explicit */
444 constexpr explicit expected(const expected<U, G>& rhs) { in expected()
448 template<class U, class G _ENABLE_IF(
450 std::is_convertible_v<const G&&, E> /* non-explicit */
453 constexpr expected(expected<U, G>&& rhs) { in expected()
457 template<class U, class G _ENABLE_IF(
459 !std::is_convertible_v<const G&&, E> /* explicit */
461 constexpr explicit expected(expected<U, G>&& rhs) { in expected()
465 template<class G = E _ENABLE_IF(
466 std::is_constructible_v<E, const G&> &&
467 std::is_convertible_v<const G&, E> /* non-explicit */
470 constexpr expected(const unexpected<G>& e) in expected()
473 template<class G = E _ENABLE_IF(
474 std::is_constructible_v<E, const G&> &&
475 !std::is_convertible_v<const G&, E> /* explicit */
477 constexpr explicit expected(const unexpected<G>& e) in expected()
480 template<class G = E _ENABLE_IF(
481 std::is_constructible_v<E, G&&> &&
482 std::is_convertible_v<G&&, E> /* non-explicit */
485 constexpr expected(unexpected<G>&& e) in expected()
488 template<class G = E _ENABLE_IF(
489 std::is_constructible_v<E, G&&> &&
490 !std::is_convertible_v<G&&, E> /* explicit */
492 constexpr explicit expected(unexpected<G>&& e) in expected()
527 template<class G = E>
528 expected& operator=(const unexpected<G>& rhs) {
533 template<class G = E _ENABLE_IF(
534 std::is_nothrow_move_constructible_v<G> &&
535 std::is_move_assignable_v<G>
537 expected& operator=(unexpected<G>&& rhs) {