MGIS
Loading...
Searching...
No Matches
UnaryOperation.hxx File Reference

This file declares the UnaryOperation class and the transform function. More...

#include <span>
#include <algorithm>
#include <type_traits>
#include "MGIS/Function/EvaluatorModifierBase.hxx"
#include "MGIS/Function/UnaryOperation.ixx"

Classes

struct  mgis::function::internals::UnaryOperationBase< CallableType, EvaluatorType >
 
struct  mgis::function::UnaryOperation< CallableType, EvaluatorType >
 a base class for evaluators modifying a stress tensor More...
 
struct  mgis::function::UnaryOperation2< CallableType, EvaluatorType >
 a base class for evaluators modifying a stress tensor More...
 
struct  mgis::function::internals::unary_operation_modifier< CallableType >
 
struct  mgis::function::internals::unary_operation_modifier2_impl< CallableType >
 
struct  mgis::function::customization_points::AbsoluteValue< real >
 
struct  mgis::function::customization_points::AbsoluteValue< std::span< const real, N > >
 
struct  mgis::function::customization_points::AbsoluteValue< std::array< const real, N > >
 
struct  mgis::function::customization_points::MaximumComponent< real >
 
struct  mgis::function::customization_points::MaximumComponent< std::span< const real, N > >
 
struct  mgis::function::customization_points::MaximumComponent< std::array< real, N > >
 
struct  mgis::function::customization_points::MinimumComponent< real >
 
struct  mgis::function::customization_points::MinimumComponent< std::span< const real, N > >
 
struct  mgis::function::customization_points::MinimumComponent< std::array< real, N > >
 

Namespaces

namespace  mgis
 the namespace mgis encloses all the MGIS project.
 

Functions

template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr mgis::size_type mgis::function::getNumberOfComponents (const UnaryOperation< CallableType, EvaluatorType > &) noexcept
 
template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr mgis::size_type mgis::function::getNumberOfComponents (const UnaryOperation2< CallableType, EvaluatorType > &) noexcept
 
template<typename CallableType >
constexpr auto mgis::function::internals::unary_operation_modifier2 (CallableType)
 
template<typename CallableType >
constexpr auto mgis::function::unary_operation (CallableType &&)
 
template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr auto mgis::function::unary_operation (CallableType &&, const EvaluatorType &)
 
template<typename CallableType >
constexpr auto mgis::function::transform (CallableType &&)
 
template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr auto mgis::function::transform (CallableType &&, const EvaluatorType &)
 

Variables

constexpr auto mgis::function::customization_points::absolute_value
 
constexpr auto mgis::function::customization_points::maximum_component
 
constexpr auto mgis::function::customization_points::minimum_component
 
constexpr auto mgis::function::absolute_value
 
constexpr auto mgis::function::maximum_component
 
constexpr auto mgis::function::minimum_component
 

Detailed Description

This file declares the UnaryOperation class and the transform function.

Author
Thomas Helfer
Date
09/05/2025

Function Documentation

◆ getNumberOfComponents() [1/2]

template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr mgis::size_type mgis::function::getNumberOfComponents ( const UnaryOperation2< CallableType, EvaluatorType > &  e)
constexprnoexcept
Returns
the number of components

◆ getNumberOfComponents() [2/2]

template<typename CallableType , EvaluatorConcept EvaluatorType>
constexpr mgis::size_type mgis::function::getNumberOfComponents ( const UnaryOperation< CallableType, EvaluatorType > &  e)
constexprnoexcept
Returns
the number of components

Variable Documentation

◆ absolute_value [1/2]

constexpr auto mgis::function::customization_points::absolute_value
inlineconstexpr
Initial value:
= []<typename T>(const T& v) {
return AbsoluteValue<T>::exe(v);
}

◆ absolute_value [2/2]

constexpr auto mgis::function::absolute_value
inlineconstexpr
Initial value:
= internals::unary_operation_modifier2(
[]<typename ValueType>(const ValueType& v) constexpr {
return customization_points::absolute_value(v);
})

◆ maximum_component [1/2]

constexpr auto mgis::function::customization_points::maximum_component
inlineconstexpr
Initial value:
= []<typename T>(const T& v) {
return MaximumComponent<T>::exe(v);
}

◆ maximum_component [2/2]

constexpr auto mgis::function::maximum_component
inlineconstexpr
Initial value:
=
internals::unary_operation_modifier2(
[]<typename ValueType>(const ValueType& v) constexpr {
return customization_points::maximum_component(v);
})

◆ minimum_component [1/2]

constexpr auto mgis::function::customization_points::minimum_component
inlineconstexpr
Initial value:
= []<typename T>(const T& v) {
return MinimumComponent<T>::exe(v);
}

◆ minimum_component [2/2]

constexpr auto mgis::function::minimum_component
inlineconstexpr
Initial value:
=
internals::unary_operation_modifier2(
[]<typename ValueType>(const ValueType& v) constexpr {
return customization_points::minimum_component(v);
})