5#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_TRAITS_HAS_OVERLOADED_ADDRESS_OPERATOR_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_TYPE_TRAITS_HAS_OVERLOADED_ADDRESS_OPERATOR_HPP_
11#include "arene/base/constraints/substitution_succeeds.hpp"
12#include "arene/base/stdlib_choice/declval.hpp"
13#include "arene/base/stdlib_choice/enable_if.hpp"
14#include "arene/base/stdlib_choice/integral_constant.hpp"
15#include "arene/base/stdlib_choice/is_class.hpp"
16#include "arene/base/stdlib_choice/is_same.hpp"
21namespace has_overloaded_address_operator_detail {
28 typename = std::enable_if_t<
29 std::is_same<
decltype(&std::declval<T&>()), T*>::value &&
30 std::is_same<
decltype(&std::declval<T
const&>()), T
const*>::value>>
31struct has_normal_address_operator_types {};
38template <
typename T,
typename =
decltype(
static_cast<T* (T::*)()>(&T::operator&))>
39struct has_overloaded_address_operator_for_lvalue {};
46template <
typename T,
typename =
decltype(
static_cast<T
const* (T::*)()
const>(&T::operator&))>
47struct has_overloaded_address_operator_for_const_lvalue {};
Type trait to check if a type has an overloaded address operator; the class derives from true_type if...
Definition has_overloaded_address_operator.hpp:69
Definition array_exceptions_disabled.cpp:11
constexpr bool has_overloaded_address_operator_v
Type trait to check if a type has an overloaded address operator; the value is true if the type has a...
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10