Joakim Hove
084fc24174
Changed parserItem::scan to return modifyable DeckItem - this is required to push dimension later.
2013-12-14 10:11:59 +01:00
Joakim Hove
7f213e4e9f
Added check that dimensions are equal in ParserDoubleItem::equal()
2013-12-11 13:25:42 +01:00
Joakim Hove
dd53619e0f
Added functions to query the dimensions on a ParserItem.
2013-12-10 17:34:52 +01:00
Joakim Hove
bb8b3ab240
Added ability to push_back() dimension strings to ParserItems; and then to query the
...
ParserItem -> ParserRecord -> ParserKeyword() structure whether it has dimension.
2013-12-09 21:12:27 +01:00
Joakim Hove
2a6fc5973c
Removed commented out code + moved micro function from header to cpp file.
2013-12-09 20:33:38 +01:00
Roland Kaufmann
f8c6bfbaf2
Change unintended compile-time polymorphism to dynamic
...
equals(ParserIntItem&) has a different signature than equals(ParserItem&),
thus the former method does *not* overload the latter. Virtual just means
then only means that you have created a *new* entry in the v-table. If
you call equals through a pointer/reference to the base class ParserItem,
the defined method in the derived class is not called, and we miss out the
test for the equal default value.
Instead, we should take an argument of the base type and use a dynamic
cast to the derived type. If this downcast fails, then they are not equal;
otherwise we have gotten ourselves a pointer to get the properly typed
default value.
We must use pointers instead of references; if we cast to a reference,
a bad_cast exception is thrown if the expression is not in the proper
type hierarchy.
2013-10-23 20:54:56 +02:00
Kristian Flikka
13f30cb3ef
Removed template for ParserItem for decoding default/repetetive tokens for String and Double
2013-10-16 14:57:01 +02:00
Joakim Hove
0afbcfc6e4
sizeType is default set to SINGLE - and optional in Json config
2013-09-18 07:16:09 +02:00
Joakim Hove
3992a32efc
Made sizeType : SINGLE default
2013-09-17 22:27:53 +02:00
Joakim Hove
79a59fc629
Added indent parameter to ParserKeyword::inlineNew() to beautify generated cpp source
2013-09-14 22:14:58 +02:00
Joakim Hove
9bc8090c08
Added parserItem method inlineNew() which will create a cpp source representation of self
2013-09-12 23:50:16 +02:00
Joakim Hove
6d0ed41b29
Added property m_defaultSet to track if the default value has been explicitly set
2013-09-12 12:13:32 +02:00
Joakim Hove
5284b4ff89
Added equal() method for the ParserItem classes
2013-09-12 10:58:44 +02:00
Kristian Flikka
0e5593dc9e
Removed removed extra layer of scan / scan__
2013-08-23 15:45:20 +02:00
Kristian Flikka
cdf16c747a
Removed the expectedItems concept from the scan functions
2013-08-23 15:39:08 +02:00
Kristian Flikka
64fb9a6cee
Removed expectedItems param from readFromRawRecord method in ParserItem
2013-08-23 14:43:17 +02:00
Kristian Flikka
771167c02e
Removed ParserXItem's scan with expected elements. Only SINGLE and ALL is now allowed
2013-08-23 14:35:47 +02:00
Joakim Hove
fe070640ad
Added test for ParserDoubleItem
2013-08-09 09:12:55 +02:00
Joakim Hove
b190d74df6
Changed typo defaultInt() -> defaultDouble()
2013-08-09 08:49:14 +02:00
Joakim Hove
15c4874ee0
Added parsing support for float (i.e. double) items
2013-08-01 09:31:27 +02:00
Kristian Flikka
2d6e6842d6
Changed ParserItem from template based to a base-inheritance based system. Corresponds to and creates DeckItem objects
2013-05-07 21:55:49 +02:00