int main(int argc, char* argv[])
{
	if (argc != 2)
	{
		std::cout << "USAGE: <Interfaces|Callbacks>" << std::endl;
		return EXIT_SUCCESS;
	}

	auto c = std::make_shared<int>(3);
	const int ciclesB = 1000000 * 5;
	const int ciclesC = 1000000 * 5;

	if (std::string("interfaces") == argv[1])
	{
		auto listener = std::make_shared<ConcreteListener>();
		auto generator = std::make_shared<AsyncGenerator>(listener);

		Timer.start();

		for (int i = 0; i < ciclesB; ++i)
		{
			generator->makeB(1);
		}
		for (int i = 0; i < ciclesC; ++i)
		{
			generator->makeC(c);
		}
		generator->makeB(0);

		Mutex.lock();
	}
	else if (std::string("callbacks") == argv[1])
	{
		auto generator = std::make_shared<CallbackGenerator>(ReceiverB, ReceiverC);

		Timer.start();

		for (int i = 0; i < ciclesB; ++i)
		{
			generator->makeB(1);
		}
		for (int i = 0; i < ciclesC; ++i)
		{
			generator->makeC(c);
		}
		generator->makeB(0);

		Mutex.lock();
	}

	std::cout << "ElapsedTime: " << boost::timer::format(ElapsedTime) << std::endl;
	std::cin.get();
	return EXIT_SUCCESS;
}
Exemple #2
0
int main()
{
    C c;
    
    C x = makeC() + c;
    std::cout << x.i << std::endl;
}
Exemple #3
0
int main()
{
    C c;
    
    makeC() += c;
    std::cout << x.i << std::endl;
}
const volVectorField& fvMesh::C() const
{
    if (!CPtr_)
    {
        makeC();
    }

    return *CPtr_;
}
const Foam::volVectorField& Foam::fvMesh::C() const
{
    if (!CPtr_)
    {
        makeC();
    }

    return *CPtr_;
}
void newProg(char *module, char *description)
/* newProg - make a new C source skeleton. */
{
char fileName[512];
char dirName[512];
char fileOnly[128];

safef(dirName, sizeof(dirName), "%s", module);
makeDir(dirName);
splitPath(dirName, NULL, fileOnly, NULL);
safef(fileName, sizeof(fileName), "%s/%s.c", dirName, fileOnly);
makeC(fileOnly, description, fileName);

/* makefile is now constructed properly with ../.. paths */
setCurrentDir(dirName);
makeMakefile(fileOnly, "makefile");
}
void autoXml(char *dtdxFile, char *outRoot)
/* autoXml - Generate structures code and parser for XML file from DTD-like spec. */
{
struct dtdElement *elList = NULL;
struct hash *elHash = NULL;
char hName[512], cName[512];
char outDir[256];

splitPath(outRoot, outDir, prefix, NULL);
if (cgiVarExists("prefix"))
    strcpy(prefix, cgiString("prefix"));
if (outDir[0] != 0)
    makeDir(outDir);
dtdParse(dtdxFile, prefix, textField, &elList, &elHash);
printf("Parsed %d elements in %s\n", slCount(elList), dtdxFile);
sprintf(hName, "%s.h", outRoot);
makeH(elList, hName);
sprintf(cName, "%s.c", outRoot);
makeC(elList, cName, hName);
printf("Generated code in %s\n", cName);
}