AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
Function.hpp File Reference

This file contains the class definition of Inlet's Function class. More...

#include <memory>
#include <functional>
#include <tuple>
#include <type_traits>
#include <typeinfo>
#include "axom/fmt.hpp"
#include "axom/sidre.hpp"
#include "axom/inlet/Field.hpp"
#include "axom/inlet/InletVector.hpp"
#include "axom/inlet/Verifiable.hpp"
#include "axom/inlet/inlet_utils.hpp"

Classes

struct  axom::inlet::FunctionType
 The types used to describe function signatures in the input file. More...
 
class  axom::inlet::detail::inlet_function_arg_type< Arg >
 A type trait for modifying function argument types to enforce const correctness and to avoid copies. More...
 
struct  axom::inlet::detail::cleanup_function_signature< Ret(Args...)>
 
struct  axom::inlet::detail::FunctionBuffer
 
class  axom::inlet::FunctionWrapper
 A sum type for callables with arbitrary signature. More...
 
class  axom::inlet::Function
 

Namespaces

 axom
 
 axom::inlet
 
 axom::inlet::detail
 

Typedefs

using axom::inlet::FunctionVariant = FunctionWrapper
 

Enumerations

enum class  axom::inlet::FunctionTag { axom::inlet::Vector , axom::inlet::Double , axom::inlet::Void , axom::inlet::String }
 The tags used to describe function signatures in the input file. More...
 

Functions

template<typename Func >
void axom::inlet::detail::destroy_func_inst (FunctionBuffer *function_storage)
 
template<>
void axom::inlet::detail::destroy_func_inst< void > (FunctionBuffer *)
 

Variables

static constexpr std::size_t axom::inlet::detail::MAX_NUM_ARGS = 2u
 

Detailed Description

This file contains the class definition of Inlet's Function class.