[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] gvars3/gvars3 serialize.h
From: |
Edward Rosten |
Subject: |
[libcvd-members] gvars3/gvars3 serialize.h |
Date: |
Thu, 28 May 2009 14:05:00 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: gvars3
Changes by: Edward Rosten <edrosten> 09/05/28 14:05:00
Modified files:
gvars3 : serialize.h
Log message:
Optional [] for serializing Vector or vector. Useful for vectors printed
using cout in the normal way.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gvars3/gvars3/serialize.h?cvsroot=libcvd&r1=1.15&r2=1.16
Patches:
Index: serialize.h
===================================================================
RCS file: /cvsroot/libcvd/gvars3/gvars3/serialize.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- serialize.h 28 May 2009 13:18:36 -0000 1.15
+++ serialize.h 28 May 2009 14:05:00 -0000 1.16
@@ -77,19 +77,24 @@
if((c = in.get()) == EOF)
return v;
+ bool bracket=1;
+
if(c != '[')
{
- in.setstate(ios::failbit);
- return v;
+ bracket = 0;
+ in.unget();
}
for(;;)
{
in >> ws;
+ if(in.eof())
+ return v;
+
c = in.get();
- if(c == EOF || c == ']')
+ if(c == EOF || (bracket && c == ']'))
return v;
in.unget();
@@ -207,6 +212,7 @@
if(i.fail() || i.bad() || (N != -1 &&
(int)v.size() != N) || v.size() == 0)
{
i.setstate(std::ios::failbit);
+ i.setstate(std::ios::badbit);
return
DefaultValue<TooN::Vector<N> >::val();
}
else