blob: 0e4d18a96869d1968c792bf8a5d39512430392be [file] [log] [blame]
///
/// A simple template helper to create Function Type Arguments
///
/// $Id: VectorListHelper.h,v 1.1 2008-10-13 02:12:30 mai4 Exp $
///
#ifndef _VECTOR_LIST_HELPER_H_
#define _VECTOR_LIST_HELPER_H_
#include <vector>
namespace llvm
{
struct Type;
template <class T>
struct args {
typedef T t_arg;
typedef std::vector<t_arg> t_list;
static t_list list() {
return t_list();
};
static t_list list(t_arg ty1) {
const t_arg arr[] = {ty1};
return t_list(arr, arr + sizeof(arr) / sizeof(t_arg));
};
static t_list list(t_arg ty1, t_arg ty2) {
const t_arg arr[] = {ty1, ty2};
return t_list(arr, arr + sizeof(arr) / sizeof(t_arg));
};
static t_list list(t_arg ty1, t_arg ty2, t_arg ty3) {
const t_arg arr[] = {ty1, ty2, ty3};
return t_list(arr, arr + sizeof(arr) / sizeof(t_arg));
};
private:
args();
};
}
#endif