Simple Vector Library 1.5 http://www.cs.cmu.edu/~ajw/doc/svl.html

Committer:
BartJanssens
Date:
Tue Jan 05 13:37:50 2016 +0000
Revision:
1:e25ff4b06ed2
Parent:
0:785cff1e5a7c
fixed va_list bug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BartJanssens 0:785cff1e5a7c 1 /*
BartJanssens 0:785cff1e5a7c 2 File: Vec2.cpp
BartJanssens 0:785cff1e5a7c 3
BartJanssens 0:785cff1e5a7c 4 Function: Implements Vec2.h
BartJanssens 0:785cff1e5a7c 5
BartJanssens 0:785cff1e5a7c 6 Author(s): Andrew Willmott
BartJanssens 0:785cff1e5a7c 7
BartJanssens 0:785cff1e5a7c 8 Copyright: (c) 1995-2001, Andrew Willmott
BartJanssens 0:785cff1e5a7c 9
BartJanssens 0:785cff1e5a7c 10 */
BartJanssens 0:785cff1e5a7c 11
BartJanssens 0:785cff1e5a7c 12
BartJanssens 0:785cff1e5a7c 13 #include "Vec2.h"
BartJanssens 0:785cff1e5a7c 14 //#include <cctype>
BartJanssens 0:785cff1e5a7c 15 //#include <iomanip>
BartJanssens 0:785cff1e5a7c 16
BartJanssens 0:785cff1e5a7c 17
BartJanssens 0:785cff1e5a7c 18 /*
BartJanssens 0:785cff1e5a7c 19 ostream &operator << (ostream &s, const Vec2 &v)
BartJanssens 0:785cff1e5a7c 20 {
BartJanssens 0:785cff1e5a7c 21 uint16_t w = s.width();
BartJanssens 0:785cff1e5a7c 22
BartJanssens 0:785cff1e5a7c 23 return(s << '[' << v[0] << ' ' << setw(w) << v[1] << ']');
BartJanssens 0:785cff1e5a7c 24 }
BartJanssens 0:785cff1e5a7c 25
BartJanssens 0:785cff1e5a7c 26 istream &operator >> (istream &s, Vec2 &v)
BartJanssens 0:785cff1e5a7c 27 {
BartJanssens 0:785cff1e5a7c 28 Vec2 result;
BartJanssens 0:785cff1e5a7c 29 Char c;
BartJanssens 0:785cff1e5a7c 30
BartJanssens 0:785cff1e5a7c 31 // Expected format: [1 2]
BartJanssens 0:785cff1e5a7c 32
BartJanssens 0:785cff1e5a7c 33 while (s >> c && isspace(c))
BartJanssens 0:785cff1e5a7c 34 ;
BartJanssens 0:785cff1e5a7c 35
BartJanssens 0:785cff1e5a7c 36 if (c == '[')
BartJanssens 0:785cff1e5a7c 37 {
BartJanssens 0:785cff1e5a7c 38 s >> result[0] >> result[1];
BartJanssens 0:785cff1e5a7c 39
BartJanssens 0:785cff1e5a7c 40 if (!s)
BartJanssens 0:785cff1e5a7c 41 {
BartJanssens 0:785cff1e5a7c 42 cerr << "Error: Expected number while reading vector\n";
BartJanssens 0:785cff1e5a7c 43 return(s);
BartJanssens 0:785cff1e5a7c 44 }
BartJanssens 0:785cff1e5a7c 45
BartJanssens 0:785cff1e5a7c 46 while (s >> c && isspace(c))
BartJanssens 0:785cff1e5a7c 47 ;
BartJanssens 0:785cff1e5a7c 48
BartJanssens 0:785cff1e5a7c 49 if (c != ']')
BartJanssens 0:785cff1e5a7c 50 {
BartJanssens 0:785cff1e5a7c 51 s.clear(ios::failbit);
BartJanssens 0:785cff1e5a7c 52 cerr << "Error: Expected ']' while reading vector\n";
BartJanssens 0:785cff1e5a7c 53 return(s);
BartJanssens 0:785cff1e5a7c 54 }
BartJanssens 0:785cff1e5a7c 55 }
BartJanssens 0:785cff1e5a7c 56 else
BartJanssens 0:785cff1e5a7c 57 {
BartJanssens 0:785cff1e5a7c 58 s.clear(ios::failbit);
BartJanssens 0:785cff1e5a7c 59 cerr << "Error: Expected '[' while reading vector\n";
BartJanssens 0:785cff1e5a7c 60 return(s);
BartJanssens 0:785cff1e5a7c 61 }
BartJanssens 0:785cff1e5a7c 62
BartJanssens 0:785cff1e5a7c 63 v = result;
BartJanssens 0:785cff1e5a7c 64 return(s);
BartJanssens 0:785cff1e5a7c 65 }
BartJanssens 0:785cff1e5a7c 66 */