You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/14 23:42:13 UTC
svn commit: r584618 - /incubator/stdcxx/trunk/examples/manual/valarray.cpp
Author: sebor
Date: Sun Oct 14 14:42:12 2007
New Revision: 584618
URL: http://svn.apache.org/viewvc?rev=584618&view=rev
Log:
2007-10-14 Martin Sebor <se...@roguewave.com>
STDCXX-278
* valarray.cpp (<valarray.h>): Removed a confusing #include directive
and added the definition of a generic operator<<() for valarray copied
from the said header.
(main): Replaced endl with '\n' for efficiency.
Modified:
incubator/stdcxx/trunk/examples/manual/valarray.cpp
Modified: incubator/stdcxx/trunk/examples/manual/valarray.cpp
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/examples/manual/valarray.cpp?rev=584618&r1=584617&r2=584618&view=diff
==============================================================================
--- incubator/stdcxx/trunk/examples/manual/valarray.cpp (original)
+++ incubator/stdcxx/trunk/examples/manual/valarray.cpp Sun Oct 14 14:42:12 2007
@@ -1,6 +1,6 @@
/**************************************************************************
*
- * valarray.cpp -- Valarray examples
+ * valarray.cpp -- valarray example
*
* $Id$
*
@@ -22,12 +22,32 @@
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2007 Rogue Wave Software, Inc.
*
**************************************************************************/
-#include <valarray.h> // for valarray stream inserter
-#include <iostream> // for cout, endl
+#include <cstddef> // for size_t
+#include <iostream> // for cout
+#include <valarray> // for valarray
+
+#include <examples.h>
+
+
+template <class T>
+inline std::ostream&
+operator<< (std::ostream &out, const std::valarray<T> &v)
+{
+ out << '[';
+
+ for (std::size_t i = 0; i < v.size (); ++i) {
+ out << v [i];
+ if (i < v.size () - 1)
+ out << ',';
+ }
+
+ return out << ']';
+}
+
int main ()
{
@@ -39,7 +59,7 @@
std::valarray<int> vi2 (ibuf2, sizeof ibuf2 / sizeof *ibuf2);
// print them out
- std::cout << vi << std::endl << vi2 << std::endl;
+ std::cout << vi << '\n' << vi2 << '\n';
vi += vi2;
vi2 *= 2;
@@ -47,7 +67,7 @@
std::valarray<int> vi3 = vi2 % vi;
// print them out again
- std::cout << vi << std::endl << vi2 << std::endl << vi3 << std::endl;
+ std::cout << vi << '\n' << vi2 << '\n' << vi3 << '\n';
return 0;
}