34template <
typename elemT>
44 str <<
'}' << std::endl;
48template <
int num_dimensions,
typename coordT>
53 for (
int i = 1; i < num_dimensions; i++)
56 if (num_dimensions > 0)
57 str << v[num_dimensions];
62template <
typename elemT>
64operator<<(std::ostream& str,
const std::vector<elemT>& v)
71 for (
unsigned int i = 0; i < v.size() - 1; i++)
73 str << v[v.size() - 1];
75 str <<
'}' << std::endl;
79template <
typename elemT>
81operator>>(std::istream& str, std::vector<elemT>& v)
100 }
while (str && c ==
',');
109 warning(
"\nreading a vector, expected closing }, but found EOF or worse. Length of vector returned is %ud\n", v.size());
114 warning(
"\nreading a vector, expected closing }, found %c instead. Length of vector returned is %u\n", c, v.size());
118template <
typename elemT>
122 std::vector<elemT> vv;
125 std::copy(vv.begin(), vv.end(), v.
begin());
129template <
int num_dimensions,
typename coordT>
135 if (!str || c !=
'{')
137 warning(
"reading a coordinate of dimension %d, expected opening {, found %c instead.\n"
138 "Elements will be undefined",
143 for (
int i = 1; i <= num_dimensions; i++)
148 if (i < num_dimensions && (!str || c !=
','))
150 warning(
"reading a coordinate of dimension %d, expected comma, found %c instead.\n"
151 "Remaining elements will be undefined",
156 if (i == num_dimensions && (!str || c !=
'}'))
158 warning(
"reading a coordinate of dimension %d, expected closing }, found %c instead.", num_dimensions, c);
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
A templated class for vectors, but with indices starting not from 0.
Definition VectorWithOffset.h:65
iterator begin()
use to initialise an iterator to the first element of the vector
Definition VectorWithOffset.inl:190
int get_max_index() const
get value of last valid index
Definition VectorWithOffset.inl:131
int get_min_index() const
get value of first valid index
Definition VectorWithOffset.inl:124
int get_length() const
return number of elements in this vector
Definition VectorWithOffset.inl:538
void warning(const char *const s,...)
Print warning with format string a la printf.
Definition warning.cxx:41
Declaration of stir::warning()