43 using namespace innards;
45 parameter_list_base::parameter_list_base(
size_t n)
46 : _params(n ? new vector<string>(n) : nullptr),
47 _defect(
none),_variadic(false)
50 for (
unsigned i = 0; i <
size(); ++i) {
51 (*_params)[i] = string(
"$") + to_string(i + 1);
63 for ( ; start <
end - 1; ++start) {
81 return where ==
_params->end() ? string::npos : where -
_params->begin();
std::string str() const
Cast the parameter list to its canonical string representation.
size_t size() const
Get the number of parameters in the parameter_list_base
std::vector< std::string >::iterator end()
Get a [const] iterator to the end of the parameter list.
std::shared_ptr< std::vector< std::string > > _params
The list of parameters.
defect _defect
Is the parameter_list_base well-formed?
size_t which(std::string const &str) const
Get the index of the parameter that matches a string, if any, else -1.