ADMB Documentation  11.1.2192
 All Classes Files Functions Variables Typedefs Friends Defines
ad_cif.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: ad_cif.cpp 1919 2014-04-22 22:02:01Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00007 #include <fvar.hpp>
00008 #include "cifstrem.h"
00013 //VECTOR_OPERATOR_DEFINE(dvector)
00014 //VECTOR_OPERATOR_DEFINE(ivector)
00015 //VECTOR_OPERATOR_DEFINE(lvector)
00016 
00017 //MATRIX_OPERATOR_DEFINE(dmatrix)
00018 //MATRIX_OPERATOR_DEFINE(imatrix)
00019 //MATRIX_OPERATOR_DEFINE(lmatrix)
00020 
00021 cifstream& cifstream::operator>>(const ivector& z)
00022 {
00023   if (allocated(z))
00024   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00025   {
00026     *this >> z[i];
00027   }
00028   return *this;
00029 }
00030 
00031 cifstream& operator>>(cifstream& istr, const prevariable& z)
00032 {
00033   istr >> value(z);
00034   return istr;
00035 }
00036 
00037 cifstream& cifstream::operator>>(const lvector& z)
00038 {
00039   if (allocated(z))
00040   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00041   {
00042     *this >> z[i];
00043   }
00044   return *this;
00045 }
00046 
00047 cifstream& operator>>(cifstream& istr, const imatrix& z)
00048 {
00049   if (allocated(z))
00050   for (int i= z.rowmin(); i <= z.rowmax(); i++)
00051   {
00052     istr >> z[i];
00053   }
00054   return istr;
00055 }
00056 
00057 cifstream& cifstream::operator>>(const dvector& z)
00058 {
00059   if (allocated(z))
00060   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00061   {
00062     *this >> z[i];
00063   }
00064   return *this;
00065 }
00066 
00067 cifstream& operator>>(cifstream& istr, const dmatrix& z)
00068 {
00069   if (allocated(z))
00070   for (int i= z.rowmin(); i <= z.rowmax(); i++)
00071   {
00072     istr >> z[i];
00073   }
00074   return istr;
00075 }
00076 
00077 cifstream& operator>>(cifstream& istr, const d3_array& z)
00078 {
00079   if (allocated(z))
00080   for (int i= z.slicemin(); i <= z.slicemax(); i++)
00081   {
00082     istr >> z[i];
00083   }
00084   return istr;
00085 }
00086 
00087 cifstream& operator>>(cifstream& istr, const d5_array& z)
00088 {
00089   if (allocated(z))
00090   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00091   {
00092     istr >> z[i];
00093   }
00094   return istr;
00095 }
00096 
00097 cifstream& operator>>(cifstream& istr, const i4_array& z)
00098 {
00099   if (allocated(z))
00100   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00101   {
00102     istr >> z[i];
00103   }
00104   return istr;
00105 }
00106 
00107 cifstream& operator>>(cifstream& istr, const i3_array& z)
00108 {
00109   if (allocated(z))
00110   for (int i= z.indexmin(); i <= z.indexmax(); i++)
00111   {
00112     istr >> z[i];
00113   }
00114   return istr;
00115 }
00116 
00117 cifstream& operator>>(cifstream& istr, const d4_array& z)
00118 {
00119   if (allocated(z))
00120   for (int i= z.hslicemin(); i <= z.hslicemax(); i++)
00121   {
00122     istr >> z[i];
00123   }
00124   return istr;
00125 }