Commit 9361eff8 authored by Alvarez, Gonzalo's avatar Alvarez, Gonzalo
Browse files

Ainur: ruleRows ruleElipsis for int, convertInternal for vector<int>

parent 7e4fc787
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -31,6 +31,15 @@ ruleRows<SizeType>()
	return "[" >> -(boost::spirit::int_ % ",") >> "]";
}

template<>
boost::spirit::qi::rule<std::string::iterator,
std::vector<int>(),
boost::spirit::qi::space_type>
ruleRows<int>()
{
	return "[" >> -(boost::spirit::int_ % ",") >> "]";
}

//---------
template<typename T>
boost::spirit::qi::rule<std::string::iterator,
@@ -56,6 +65,17 @@ ruleElipsis<SizeType>()
	return "[" >> boost::spirit::int_ >> "," >> "..." >> "]";
}

template<>
boost::spirit::qi::rule<std::string::iterator,
int(),
boost::spirit::qi::space_type>
ruleElipsis<int>()
{
	return "[" >> boost::spirit::int_ >> "," >> "..." >> "]";
}

//---------

void AinurState::assign(String k, String v)
{
	int x = storageIndexByName(k);
@@ -265,6 +285,8 @@ template void AinurState::convertInternal(std::vector<DoubleOrFloatType>&, Strin

template void AinurState::convertInternal(std::vector<SizeType>&, String, int) const;

template void AinurState::convertInternal(std::vector<int>&, String, int) const;

template void AinurState::convertInternal(std::vector<std::complex<DoubleOrFloatType> >&,
String, int) const;
} // namespace PsimagLite