45 #define MUP_BASETYPE double
51 #define MUP_BYTECODE_TYPE long
55 #define MUP_STRING_TYPE std::wstring
59 #endif // not defined _T
66 #define MUP_STRING_TYPE std::string
72 #define MUP_FAIL(MSG) \
82 #define MUP_ASSERT(COND) \
85 stringstream_type ss; \
86 ss << "Assertion \""#COND"\" failed: " \
87 << __FILE__ << " line " \
89 throw ParserError( ss.str() ); \
92 #define MUP_ASSERT(COND)
96 #define MUP_ASSERT(COND)
112 #if defined(_UNICODE)
116 inline std::wostream&
console()
243 typedef std::basic_stringstream<
char_type,
244 std::char_traits<char_type>,
291 typedef int (*
identfun_type)(
const char_type *sExpr,
int *nPos, value_type *fVal);
294 typedef value_type* (*facfun_type)(
const char_type*,
void*);
Operator item: closing bracket.
Definition: muParserDef.h:175
code for infix operators
Definition: muParserDef.h:184
user defined binary operator
Definition: muParserDef.h:182
Operator item: logical or.
Definition: muParserDef.h:171
multiplication/division
Definition: muParserDef.h:207
std::ostream & console()
Encapsulate cout.
Definition: muParserDef.h:133
EPrec
Parser operator precedence values.
Definition: muParserDef.h:201
#define MUP_STRING_TYPE
Definition of the basic parser string type.
Definition: muParserDef.h:66
std::map< string_type, std::size_t > strmap_type
Type for assigning a string name to an index in the internal string table.
Definition: muParserDef.h:256
std::map< string_type, value_type * > varmap_type
Type used for storing variables.
Definition: muParserDef.h:250
function argument separator
Definition: muParserDef.h:176
Operator item: y to the power of ...
Definition: muParserDef.h:169
value_type(* strfun_type3)(const char_type *, value_type, value_type)
Callback type used for functions taking a string and two values as arguments.
Definition: muParserDef.h:288
code for postfix operators
Definition: muParserDef.h:183
value_type(* fun_type3)(value_type, value_type, value_type)
Callback type used for functions with three arguments.
Definition: muParserDef.h:270
This file contains compatibility fixes for some platforms.
Operator item: not equal.
Definition: muParserDef.h:161
#define MUP_BASETYPE
Define the base datatype for values.
Definition: muParserDef.h:45
logic operators
Definition: muParserDef.h:204
Signs have a higher priority than ADD_SUB, but lower than power operator.
Definition: muParserDef.h:211
end of formula
Definition: muParserDef.h:185
std::basic_stringstream< char_type, std::char_traits< char_type >, std::allocator< char_type > > stringstream_type
Typedef for easily using stringstream that respect the parser stringtype.
Definition: muParserDef.h:245
Code for a function item.
Definition: muParserDef.h:179
comparsion operators
Definition: muParserDef.h:205
value_type(* strfun_type1)(const char_type *)
Callback type used for functions taking a string as an argument.
Definition: muParserDef.h:282
MUP_BYTECODE_TYPE bytecode_type
The bytecode type used by the parser.
Definition: muParserDef.h:234
std::map< string_type, value_type > valmap_type
Type used for storing constants.
Definition: muParserDef.h:253
value_type(* strfun_type2)(const char_type *, value_type)
Callback type used for functions taking a string and a value as arguments.
Definition: muParserDef.h:285
ETypeCode
Types internally used by the parser.
Definition: muParserDef.h:192
Operator item: subtract.
Definition: muParserDef.h:166
ECmdCode
Bytecode values.
Definition: muParserDef.h:154
Operator item: multiply.
Definition: muParserDef.h:167
MUP_BASETYPE value_type
The numeric datatype used by the parser.
Definition: muParserDef.h:222
String type (Function arguments and constants only, no string variables)
Definition: muParserDef.h:194
Operator item: division.
Definition: muParserDef.h:168
Operator item: add.
Definition: muParserDef.h:165
Namespace for mathematical applications.
Definition: muParser.cpp:47
Operator item: less than.
Definition: muParserDef.h:163
value item
Definition: muParserDef.h:178
Operator item: greater than.
Definition: muParserDef.h:164
Undefined type.
Definition: muParserDef.h:196
#define MUP_BYTECODE_TYPE
Definition of the basic bytecode datatype.
Definition: muParserDef.h:51
Operator item: logical and.
Definition: muParserDef.h:170
string_type::value_type char_type
The character type used by the parser.
Definition: muParserDef.h:240
value_type(* fun_type0)()
Callback type used for functions without arguments.
Definition: muParserDef.h:261
Code for a function with a string parameter.
Definition: muParserDef.h:180
Static type checks.
Definition: muParserDef.h:304
value_type(* fun_type4)(value_type, value_type, value_type, value_type)
Callback type used for functions with four arguments.
Definition: muParserDef.h:273
Operator item: equals.
Definition: muParserDef.h:162
uninitialized item
Definition: muParserDef.h:186
Operator item: Assignment operator.
Definition: muParserDef.h:173
MUP_STRING_TYPE string_type
The stringtype used by the parser.
Definition: muParserDef.h:228
power operator priority (highest)
Definition: muParserDef.h:208
value_type(* fun_type1)(value_type)
Callback type used for functions with a single arguments.
Definition: muParserDef.h:264
int(* identfun_type)(const char_type *sExpr, int *nPos, value_type *fVal)
Callback used for functions that identify values in a string.
Definition: muParserDef.h:291
Code for a string token.
Definition: muParserDef.h:181
Operator item: less or equal.
Definition: muParserDef.h:159
char MAP_TYPE_CANT_BE_UNSIGNED[sizeof(STATIC_ASSERTION_FAILURE< bytecode_type(-1)< 0 >)]
This is a static typecheck.
Definition: muParserDef.h:311
Postfix operator priority (currently unused)
Definition: muParserDef.h:212
variable item
Definition: muParserDef.h:177
Operator item: logical xor.
Definition: muParserDef.h:172
Operator item: greater or equal.
Definition: muParserDef.h:160
value_type(* fun_type5)(value_type, value_type, value_type, value_type, value_type)
Callback type used for functions with five arguments.
Definition: muParserDef.h:276
std::istream & console_in()
Encapsulate cin.
Definition: muParserDef.h:142
Floating point variables.
Definition: muParserDef.h:195
value_type(* fun_type2)(value_type, value_type)
Callback type used for functions with two arguments.
Definition: muParserDef.h:267
addition
Definition: muParserDef.h:206
Operator item: opening bracket.
Definition: muParserDef.h:174
value_type(* multfun_type)(const value_type *, int)
Callback type used for functions with a variable argument list.
Definition: muParserDef.h:279