void Test1_1() { const int size(20); MyArray<int, size> array; array.fill(4); for (size_t i = 0; i < array.size(); i++) { cout << " In array at element: " << i << " is value: " << array[i] << endl; array[i] = i; cout << " In array at element: " << i << " is value: " << array[i] << endl; } auto* ptr = array.begin(); while (ptr != array.end()) { cout << "value: " << (*ptr) << endl; *ptr = 5; ptr++; } }
CellMatrix::CellMatrix(const MyArray& data):pimpl(new defaultCellMatrixImpl(data.size(),1)) { for(size_t i(0); i < data.size(); ++i) { (*pimpl)(i,0) = data[i]; } }
// The Loop Convert Transform doesn't detect free functions begin()/end() and // so fails to transform these cases which it should. void f() { MyArray Arr; for (unsigned I = 0, E = Arr.size(); I < E; ++I) { } MyContainer<int> C; for (int *I = begin(C), *E = end(C); I != E; ++I) { } }
// The Loop Convert Transform doesn't detect free functions begin()/end() and // so fails to transform these cases which it should. void f() { MyArray Arr; for (unsigned i = 0, e = Arr.size(); i < e; ++i) {} // CHECK: for (auto & elem : Arr) {} MyContainer<int> C; for (int *I = begin(C), *E = end(C); I != E; ++I) {} // CHECK: for (auto & elem : C) {} }
// The Loop Convert Transform doesn't detect free functions begin()/end() and // so fails to transform these cases which it should. void f() { MyArray Arr; for (unsigned i = 0, e = Arr.size(); i < e; ++i) { } MyContainer<int> C; for (int *I = begin(C), *E = end(C); I != E; ++I) { } }
void Test2_2() { MyArray <string*, 10> my; my[5] = new std::string("Hello"); // Assuming that my is a MyArray of string pointers cout << "Looking for 'Hello '? " << (myfind(my.begin(), my.end(),string("Hello")) != my.end() ? "found" : "sry no") << endl; }
void Test1_2() { const int size(20); MyArray<double, size> my; my.fill(0); my[3] = 3; // Assuming that 'my' has been appropriately allocated based on MyArray. cout << "Looking for '3'? " << (myfind(my.begin(), my.end(), 3) !=my.end() ? "found" : "sry no") << endl; }
void Test2_1() { MyArray <string*, 10> myStrings; // Array based on 'int' myStrings[0] = new string("Test at 0"); myStrings[2] = new string("Test at 2"); auto* ptr = myStrings.begin(); while (ptr != myStrings.end()) { if (nullptr != *ptr) cout << "value: " << (*(*ptr)).c_str() << endl; ptr++; } }
static void Foo_2(MyArray & array, MyArray const & constArray) { // Get a reference to an array element // and modify its referenced value. array.Get(5) = 42; // OK! (Calls: int & MyArray::Get(int)) // constArray.Get(5) = 42; // Error! (Calls: int const & MyArray::Get(int) const) }
int main(){ MyArray<Emp> emps; Emp emp={"zhangsan",23}; Emp emp2={"zhouxingxing",50}; emps.push_back(emp ); emps.push_back(emp2); cout<<*emps.begin()<<endl; cout<<emps.begin()->name<<endl; cout<<*++emps.begin()<<endl; cout<<(++emps.begin())->name<<endl; /*MyArray<int> datas; datas.push_back(199); datas.push_back(300); MyArray<int>::iterator it; it=datas.begin(); cout<<*it<<endl;*/ }
void Test1_4() { MyArray <int, 10> myInt; // Array based on 'int' MyArray <double, 5 > myDouble; // Array based on 'double' myInt.fill(5); myDouble = myInt; // From an intuitive perspective this should work ,since ints can implicitly be converted to doubles. MyArray <int, 10> myInt2(myDouble); auto* ptr = myInt2.begin(); while (ptr != myInt2.end()) { cout << "value: " << (*ptr) << endl; *ptr = 5; ptr++; } }
void Test3_1() { const int size(5); MyArray<int, size> my; my.fill(3); auto p = myAccumalation(my); cout << "the accumalation is: " << p << endl; vector<int> myvector; for (size_t i = 0; i < 5; i++) { myvector.push_back(3); } auto i = myAccumalation(myvector); cout << "the accumalation is: " << i << endl; }
int main( ) { // Part C. // 1) declare a MyArray object called arr // 2) use your Add method to add the numbers: 1.2, 3.4, 5.6, 7.8 // 3) call the print method to print the array MyArray arr; arr.add(1.2); arr.add(3.4); arr.add(5.6); arr.add(7.8); arr.print(); system( "pause"); return 0; }
MyArray Stats(const MyArray& data ) { double total=0.0; double totalsq=0.0; if (data.size() < 2) THROW_XLW("At least data points are needed"); for (unsigned long i=0; i < data.size(); i++) { total+=data[i]; totalsq+=data[i]*data[i]; } MyArray values(2); values[0] = total/data.size(); values[1] = totalsq/data.size() - values[0] *values[0] ; return values; }
CellMatrix Schedule_GetData(MG_XLObjectPtr& aSched, const string& aData) { MG_Schedule& vSched = dynamic_cast<MG_Schedule&>(*aSched); MyArray vArray; if (aData == "ResetDate") { const vector<MG_Date>& vDts = vSched.GetResetDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } else if (aData == "StartDate") { const vector<MG_Date>& vDts = vSched.GetIntStartDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } else if (aData == "EndDate") { const vector<MG_Date>& vDts = vSched.GetIntEndDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } else if (aData == "PayDate") { const vector<MG_Date>& vDts = vSched.GetPayDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } else if (aData == "InterestDays") { const vector<unsigned int>& vDays = vSched.GetIntDays(); vArray.resize(vDays.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = vDays[i]; } else if (aData == "InterestTerms") vArray = vSched.GetIntTerms(); else if (aData == "FwdStartDate") { const vector<MG_Date>& vDts = vSched.GetFwdRateStartDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } else if (aData == "FwdEndDate") { const vector<MG_Date>& vDts = vSched.GetFwdRateEndDates(); vArray.resize(vDts.size()); for(size_t i=0; i<vArray.size(); ++i) vArray[i] = FromJulianDayToXLDate(vDts[i].GetJulianDay()); } CellMatrix vInfos(vArray); return vInfos; }
xlw::CellMatrix::CellMatrix(const MyArray& data) : Cells(data.size()), Rows(data.size()), Columns(1) { for (size_t i=0; i < data.size(); ++i) Cells[i].push_back(CellValue(data[i])); }
int main() { MyArray<int, 4, 434> arr; arr.display(); }