- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
int main()
{
using output1 = Eval<
Input<'H', 'e', 'l', 'l', 'o'>,
App<
',', '>', ',', '>', ',', '>', ',', '>', ',', '>',
'<', '.', '<', '.', '<', '.', '<', '.', '<', '.'
>
>;
std::cout << "Hello reverse (read/write): " << SpanToStringContinuous<output1>::value() << std::endl;
using output2 = Eval<
Input<>,
App<'+', '+', '+', '[', '-', ']'>
>;
std::cout << "Simple loop (empty output): " << SpanToStringContinuous<output2>::value() << std::endl;
// Source: Wikipedia
using output3 = Eval<
Input<>,
App<
'+', '+', '+', '+', '+', '+', '+', '+', '[', '>', '+', '+', '+',
'+', '[', '>', '+', '+', '>', '+', '+', '+', '>', '+', '+', '+',
'>', '+', '<', '<', '<', '<', '-', ']', '>', '+', '>', '+', '>',
'-', '>', '>', '+', '[', '<', ']', '<', '-', ']', '>', '>', '.',
'>', '-', '-', '-', '.', '+', '+', '+', '+', '+', '+', '+', '.',
'.', '+', '+', '+', '.', '>', '>', '.', '<', '-', '.', '<', '.',
'+', '+', '+', '.', '-', '-', '-', '-', '-', '-', '.', '-', '-',
'-', '-', '-', '-', '-', '-', '.', '>', '>', '+', '.', '>', '+',
'+', '.'
>
>;
std::cout << "Hello World (wiki): " << SpanToStringContinuous<output3>::value() << std::endl;
return EXIT_SUCCESS;
}