1#ifndef ROL_SACADO_TRAITS_HPP
2#define ROL_SACADO_TRAITS_HPP
19constexpr bool is_DFad( ... ) {
return false; }
20constexpr bool is_SFad( ... ) {
return false; }
23constexpr bool is_DFad(
const Sacado::Fad::DFad<T>& ) {
return true; }
25template<
typename T,
int Num>
26constexpr bool is_SFad(
const Sacado::Fad::SFad<T,Num>& ) {
return true; }
33constexpr T
Fad_value(
const Sacado::Fad::DFad<T>& );
35template<
typename T,
int Num>
36constexpr T
Fad_value(
const Sacado::Fad::SFad<T,Num>& );
41template<
typename VectorType>
44template<
typename Real>
47 using value_type =
typename std::vector<Real>::value_type;
48 using size_type =
typename std::vector<Real>::size_type;
58template <
typename T,
typename =
void>
62template <
typename VectorType>
73 typename std::enable_if_t<has_accessor_v<T>,
int> = 0>
78 if constexpr (has_accessor_v<T>) {
84template<
typename Real>
86 template<
typename ScalarT>
constexpr bool is_DFad(...)
constexpr bool InvalidType Fad_value(...)
void process_if_accessor(const T &acc_specialization)
constexpr bool is_Constraint(...)
constexpr bool is_SFad(...)
constexpr bool has_accessor_v
constexpr bool is_Objective(...)
decltype(Fad_value(std::declval< T >())) Fad_value_t
Defines the general constraint operator interface.
Provides the interface to evaluate objective functions.
void value(ROL::Vector< Real > &c, const ROL::Vector< Real > &sol, const Real &mu)
typename std::vector< Real >::size_type size_type
typename std::vector< Real >::value_type value_type
std::vector< Real > container_type
value_type get_value(const container_type &x, size_type i) const
void set_value(container_type &x, size_type i, value_type xi) const