12#ifndef ARCANE_CORE_CASETABLE_H
13#define ARCANE_CORE_CASETABLE_H
17#include "arcane/core/datatype/SmallVariant.h"
19#include "arcane/core/CaseFunction.h"
82 virtual Integer nbElement()
const;
116 virtual eError appendElement(
const String& param,
const String& value);
129 virtual void insertElement(
Integer id);
137 virtual void removeElement(
Integer id);
145 virtual void setParamType(eParamType type);
147 virtual bool checkIfValid()
const;
149 virtual void value(
Real param,
Real& v)
const;
151 virtual void value(
Real param,
bool& v)
const;
152 virtual void value(
Real param,
String& v)
const;
153 virtual void value(
Real param,
Real3& v)
const;
156 virtual void value(
Integer param,
bool& v)
const;
165 eCurveType m_curve_type;
166 bool m_use_fast_search =
true;
170 template <
typename U,
typename V>
void _findValue(U param, V& value)
const;
171 template <
typename U,
typename V>
void _findValueAndApplyTransform(U param, V& value)
const;
173 bool _isValidIndex(
Integer index)
const;
Information to build an instance of CaseFunction.
CaseFunction(const CaseFunctionBuildInfo &info)
Constructs a dataset function.
virtual eCurveType curveType() const
Returns the curve type of the function.
eCurveType
Type of the table curve.
@ CurveUnknown
Unknown curve type.
@ CurveLinear
Piecewise linear curve.
@ CurveConstant
Piecewise constant curve.
CaseTable(const CaseFunctionBuildInfo &info, eCurveType curve_type)
Constructs a lookup table from the data set.
eError
Types of errors returned by the class.
@ ErrCanNotConvertParamToRightType
Indicates that converting the parameter to the desired type is impossible.
@ ErrBadRange
Indicates that an element index is not valid.
@ ErrNotGreaterThanPrevious
Indicates that the parameter is not greater than the previous one.
@ ErrNotLesserThanNext
Indicates that the parameter is not less than the next one.
@ ErrCanNotConvertValueToRightType
Indicates that converting the value to the desired type is impossible.
Class managing a 3-dimensional real vector.
Unicode character string.
1D data vector with value semantics (STL style).
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
double Real
Type representing a real number.