charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: Nicolas Bock <nicolasbock AT gmail.com>
- To: charm AT cs.uiuc.edu
- Subject: [charm] Building a linked list of chares?
- Date: Wed, 5 Jun 2013 15:56:42 -0600
- List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
- List-id: CHARM parallel programming system <charm.cs.uiuc.edu>
Hi list,
this question may have an obvious answer, but my C++ skills are so rusty that it's not obvious to me right now...
I would like to build a linked list of chares. I envision something like the inlined code. However, I am getting a compiler error, saying that:
test.cc: In member function 'void LinkedListNode::append(int)':
test.cc:28:45: error: cannot convert 'CkChareID' to 'CProxy_LinkedListNode*' in assignment
I guess I am not understanding how chares are instantiated. What does the ckNew() method do? Do I have to throw in a new operator?
Thanks already,
nick
mainmodule linkedList
{
mainchare Main
{
entry Main (CkArgMsg *msg);
};
chare LinkedListNode
{
entry LinkedListNode ();
entry void set (const int ID);
entry void append (const int ID);
};
};
test.cc:
#include "linkedList.decl.h"
class LinkedListNode : public CBase_LinkedListNode
{
private:
int ID;
CProxy_LinkedListNode *next;
public:
LinkedListNode ()
{
ID = -1;
next = NULL;
}
void set (const int ID)
{
this->ID = ID;
}
void append (const int ID)
{
if(next != NULL) { next->append(ID); }
else
{
next = CProxy_LinkedListNode::ckNew();
next->set(ID);
}
}
};
class Main : public CBase_Main
{
private:
CProxy_LinkedListNode first;
public:
Main (CkArgMsg *msg)
{
first = CProxy_LinkedListNode::ckNew();
first.set(0);
for(int i = 1; i < 10; i++)
{
first.append(i);
}
}
};
#include "linkedList.def.h"
- [charm] Building a linked list of chares?, Nicolas Bock, 06/05/2013
- Re: [charm] Building a linked list of chares?, Eric Bohm, 06/05/2013
- Re: [charm] Building a linked list of chares?, Nicolas Bock, 06/06/2013
- Re: [charm] Building a linked list of chares?, Eric Bohm, 06/05/2013
Archive powered by MHonArc 2.6.16.