Am liebsten wäre mir wenn aus einer liste wie in meinem beispiel die funktionscalls generiert werden und das am besten zur compile-zeit.
Ich habe auch schon versucht direkt pointer auf c-strings zu übergeben. Das geht nur leider nicht da die Adressen der String-Pointer zur compile-zeit noch nicht bekannt sind.
Code: Alles auswählen
#include <iostream>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/string.hpp>
#include <boost/mpl/for_each.hpp>
using namespace std;
using namespace boost;
typedef mpl::vector<mpl::string<'toll','er l','ang','er s','trin','g'>,
mpl::string<'noch',' bes','sere','r st','ring' >,
mpl::string<'ganz',' tol','ler ','stri','ng' >
> l;
struct work {
template<typename T>
inline void operator()(T) const
{
std::cout << mpl::c_str<T>::value << std::endl;
}
};
inline void print(const char* pString){
std::cout << pString << std::endl;
}
void func1(){
mpl::for_each<l>(work());
}
void func2(){
print("toller langer string");
print("noch besserer string");
print("ganz toller string");
}
int main()
{
func1();
func2();
return 0;
}
MFG Ingrater