Reference documentation for deal.II version GIT relicensing-43-g3fc2fae7c3 2024-03-03 21:10:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
No Matches
Public Member Functions | Public Attributes | List of all members
internal::FunctionParser::ParserData Struct Reference

#include <deal.II/base/mu_parser_internal.h>

Public Member Functions

 ParserData ()=default
 ParserData (const ParserData &)=delete

Public Attributes

std::vector< double > vars
std::vector< std::unique_ptr< muParserBase > > parsers

Detailed Description

Class containing the mutable state required by muParser.

For performance reasons it is best to put all mutable state in a single object so that, for each function call, we only need to get thread-local data exactly once.

Definition at line 126 of file mu_parser_internal.h.

Constructor & Destructor Documentation

◆ ParserData() [1/2]

internal::FunctionParser::ParserData::ParserData ( )

Default constructor. Threads::ThreadLocalStorage requires that objects be either default- or copy-constructible: make sure we satisfy the first case by declaring it here.

◆ ParserData() [2/2]

internal::FunctionParser::ParserData::ParserData ( const ParserData )

std::is_copy_constructible gives the wrong answer for containers with non-copy constructible types (e.g., std::vector<std::unique_ptr<int>>)

  • for more information, see the documentation of Threads::ThreadLocalStorage. Hence, to avoid compilation failures, just delete the copy constructor completely.

Member Data Documentation

◆ vars

std::vector<double> internal::FunctionParser::ParserData::vars

Scratch array used to set independent variables (i.e., x, y, and t) before each muParser call.

Definition at line 148 of file mu_parser_internal.h.

◆ parsers

std::vector<std::unique_ptr<muParserBase> > internal::FunctionParser::ParserData::parsers

The actual muParser parser objects (hidden with PIMPL).

Definition at line 153 of file mu_parser_internal.h.

The documentation for this struct was generated from the following file: