xref: /llvm-project/lldb/test/API/functionalities/data-formatter/parray/main.cpp (revision fdea9a4ec9b0d9585b8fe8a612686d9f44f40ddc)
1*99451b44SJordan Rupprecht #include <functional>
2*99451b44SJordan Rupprecht #include <stdlib.h>
3*99451b44SJordan Rupprecht 
4*99451b44SJordan Rupprecht template<typename ElemType>
alloc(size_t count,std::function<ElemType (size_t)> get)5*99451b44SJordan Rupprecht ElemType* alloc(size_t count, std::function<ElemType(size_t)> get)
6*99451b44SJordan Rupprecht {
7*99451b44SJordan Rupprecht   ElemType *elems = new ElemType[count];
8*99451b44SJordan Rupprecht   for(size_t i = 0; i < count; i++)
9*99451b44SJordan Rupprecht     elems[i] = get(i);
10*99451b44SJordan Rupprecht   return elems;
11*99451b44SJordan Rupprecht }
12*99451b44SJordan Rupprecht 
main(int argc,const char * argv[])13*99451b44SJordan Rupprecht int main (int argc, const char * argv[])
14*99451b44SJordan Rupprecht {
15*99451b44SJordan Rupprecht   int* data = alloc<int>(5, [] (size_t idx) -> int {
16*99451b44SJordan Rupprecht     return 2 * idx + 1;
17*99451b44SJordan Rupprecht   });
18*99451b44SJordan Rupprecht   return 0; // break here
19*99451b44SJordan Rupprecht }
20*99451b44SJordan Rupprecht 
21