Skip to content

A light wrapper around the C pthread_create function to support variable number of arguments.

Notifications You must be signed in to change notification settings

JamesKuang/PThreadCreateVarArg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

PThreadCreateVarArg

A light wrapper around the C pthread_create function to support variable number of arguments.

User calls pthread_var_arg directly. Sample usage:

#include "PThreadCreateVarArg.hpp"
#include <iostream>

struct A {
	void method1(int a, double b, int *c) {
		std::cout << "method1: " << a << ", " << b << ", " << *c << std::endl;
	}

	void method2(const char *c, std::string s) {
		std::cout << "method2: " << c << ", " << s << std::endl;
	}

	void method3() {
		std::cout << "method3: no arguments" << std::endl;
	}
};

int main() {
	A a;

	int i = 3;
	pthread_t tid = incyc::pthread_var_arg(&a, &A::method1, 1337, 3.14, &i);
	pthread_join(tid, nullptr);

	const char *c = "this is a char";
	pthread_t tid2 = incyc::pthread_var_arg(&a, &A::method2, c, std::string("hello string"));
	pthread_join(tid2, nullptr);

	pthread_t tid3 = incyc::pthread_var_arg(&a, &A::method3);
	pthread_join(tid3, nullptr);
}

About

A light wrapper around the C pthread_create function to support variable number of arguments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages