Lines Matching refs:constexpr
49 static constexpr bool is_right_v = true;
52 static constexpr bool is_right_v = false;
65 constexpr expected_data(U&& either, expected_tag_right)
69 constexpr expected_data(U&& either, expected_tag_error)
72 constexpr bool has_value() const {
76 constexpr const T& value() const {
80 constexpr T& value() {
84 constexpr const E& error() const {
88 constexpr E& error() {
212 constexpr expected_data(U&& either, expected_tag_right)
216 constexpr expected_data(U&& either, expected_tag_error)
219 constexpr bool has_value() const {
223 constexpr const T& value() const {
227 constexpr T& value() {
231 constexpr const E& error() const {
235 constexpr E& error() {
266 constexpr expected() noexcept(noexcept(T{})) : expected(T{}) {}
268 constexpr expected(const T& value) : data_{value, detail::expected_tag_right{}} {}
269 constexpr expected(T&& value) : data_{std::move(value), detail::expected_tag_right{}} {}
270 constexpr expected(const E& error) : data_{error, detail::expected_tag_error{}} {}
271 constexpr expected(E&& error) : data_{std::move(error), detail::expected_tag_error{}} {}
274 constexpr expected(unexpected<G> const& u) : expected{u.value()} {}
277 constexpr expected(unexpected<G>&& u) : expected{std::move(u.value())} {}
279 explicit constexpr operator bool() const {
283 constexpr bool has_value() const {
287 constexpr const T& operator*() const {
291 constexpr T& operator*() {
297 constexpr T& value() & {
302 constexpr const T& value() const & {
307 constexpr T&& value() && {
312 constexpr const T& value() const && {
317 constexpr E& error() {
322 constexpr const E& error() const {
347 static constexpr auto t1 = expected<int, double>{};
354 constexpr explicit unexpected(const E& error) : error_{error} {}
355 constexpr explicit unexpected(E&& error) : error_{std::move(error)} {}
356 constexpr const E& value() const& { return error_; }
357 constexpr E& value() & { return error_; }
358 constexpr E&& value() && { return std::move(error_); }
359 constexpr E const&& value() const&& { return std::move(error_); }
365 constexpr bool operator==(const unexpected<E>& x, const unexpected<E>& y) {
370 constexpr bool operator!=(const unexpected<E>& x, const unexpected<E>& y) {
379 constexpr auto operator()(U&& v) const noexcept {