├── doc
├── html
│ ├── .gitignore
│ ├── r_a.png
│ ├── r_concat1.png
│ ├── r_concat2.png
│ ├── r_concat3.png
│ ├── r_concat4.png
│ ├── r_concat5.png
│ ├── transform.png
│ └── abc_syntax_tree.png
└── pdf
│ └── slides.pdf
├── .gitignore
├── lab
├── mpllibs
│ ├── boost.hpp
│ ├── metamonad
│ │ ├── list.hpp
│ │ ├── state.hpp
│ │ ├── reader.hpp
│ │ ├── writer.hpp
│ │ ├── limit_do_size.hpp
│ │ ├── limit_case_size.hpp
│ │ ├── limit_data_size.hpp
│ │ ├── limit_compose_size.hpp
│ │ ├── _.hpp
│ │ ├── v1
│ │ │ ├── typeclass.hpp
│ │ │ ├── fwd
│ │ │ │ ├── _.hpp
│ │ │ │ ├── box_tag.hpp
│ │ │ │ ├── var_tag.hpp
│ │ │ │ ├── list_tag.hpp
│ │ │ │ ├── pair_tag.hpp
│ │ │ │ ├── tag_tag.hpp
│ │ │ │ ├── state_tag.hpp
│ │ │ │ ├── box.hpp
│ │ │ │ ├── reader_tag.hpp
│ │ │ │ ├── syntax_tag.hpp
│ │ │ │ ├── eval.hpp
│ │ │ │ ├── var.hpp
│ │ │ │ ├── exception_tag.hpp
│ │ │ │ ├── first.hpp
│ │ │ │ ├── unbox.hpp
│ │ │ │ ├── lazy.hpp
│ │ │ │ ├── returns.hpp
│ │ │ │ ├── second.hpp
│ │ │ │ ├── set.hpp
│ │ │ │ ├── syntax.hpp
│ │ │ │ ├── tmp_tag.hpp
│ │ │ │ ├── concat.hpp
│ │ │ │ ├── fail.hpp
│ │ │ │ ├── if_.hpp
│ │ │ │ ├── let.hpp
│ │ │ │ ├── do_return.hpp
│ │ │ │ ├── guard.hpp
│ │ │ │ ├── has_value.hpp
│ │ │ │ ├── invalid_typeclass.hpp
│ │ │ │ ├── match_c.hpp
│ │ │ │ ├── bind.hpp
│ │ │ │ ├── eval_guard.hpp
│ │ │ │ ├── make_syntax.hpp
│ │ │ │ ├── match.hpp
│ │ │ │ ├── monad_plus.hpp
│ │ │ │ ├── writer_tag.hpp
│ │ │ │ ├── bind_.hpp
│ │ │ │ ├── eval_syntax.hpp
│ │ │ │ ├── is_exception.hpp
│ │ │ │ ├── letrec.hpp
│ │ │ │ ├── matches_c.hpp
│ │ │ │ ├── mconcat.hpp
│ │ │ │ ├── mplus.hpp
│ │ │ │ ├── multi_let.hpp
│ │ │ │ ├── return_.hpp
│ │ │ │ ├── catch_.hpp
│ │ │ │ ├── catch_all.hpp
│ │ │ │ ├── concat_map.hpp
│ │ │ │ ├── has_get_value.hpp
│ │ │ │ ├── letrec_c.hpp
│ │ │ │ ├── mappend.hpp
│ │ │ │ ├── multi_let_c.hpp
│ │ │ │ ├── already_lazy.hpp
│ │ │ │ ├── bad_match.hpp
│ │ │ │ ├── catch_c.hpp
│ │ │ │ ├── fail_with_type.hpp
│ │ │ │ ├── invalid_typeclass_tag.hpp
│ │ │ │ ├── match_let.hpp
│ │ │ │ ├── overloading_error_tag.hpp
│ │ │ │ ├── typeclass_expectations.hpp
│ │ │ │ ├── algebraic_data_type_tag.hpp
│ │ │ │ ├── already_monadic.hpp
│ │ │ │ ├── lazy_argument.hpp
│ │ │ │ ├── no_case_matched.hpp
│ │ │ │ ├── value_to_stream.hpp
│ │ │ │ ├── catch_just.hpp
│ │ │ │ ├── eval_letrec.hpp
│ │ │ │ ├── eval_multi_let.hpp
│ │ │ │ ├── lazy_protect_args.hpp
│ │ │ │ ├── make_monadic.hpp
│ │ │ │ ├── match_let_c.hpp
│ │ │ │ ├── eval_letrec_c.hpp
│ │ │ │ ├── eval_multi_let_c.hpp
│ │ │ │ ├── eval_match_let.hpp
│ │ │ │ ├── make_monadic_c.hpp
│ │ │ │ ├── eval_match_let_c.hpp
│ │ │ │ ├── mempty.hpp
│ │ │ │ ├── matches.hpp
│ │ │ │ ├── exception.hpp
│ │ │ │ ├── monad.hpp
│ │ │ │ ├── monoid.hpp
│ │ │ │ ├── maybe.hpp
│ │ │ │ └── is_tag.hpp
│ │ │ ├── impl
│ │ │ │ ├── no.hpp
│ │ │ │ ├── build_seq.hpp
│ │ │ │ ├── is_same_no_arg.hpp
│ │ │ │ ├── maybe.hpp
│ │ │ │ ├── yes.hpp
│ │ │ │ └── no_tag_for_tmp_value.hpp
│ │ │ ├── _.hpp
│ │ │ ├── box_tag.hpp
│ │ │ ├── tag_tag.hpp
│ │ │ └── var_tag.hpp
│ │ ├── box.hpp
│ │ ├── if_.hpp
│ │ ├── let.hpp
│ │ ├── set.hpp
│ │ ├── var.hpp
│ │ ├── bind.hpp
│ │ ├── eval.hpp
│ │ ├── fail.hpp
│ │ ├── lazy.hpp
│ │ ├── pair.hpp
│ │ ├── apply.hpp
│ │ ├── bind_.hpp
│ │ ├── catch_.hpp
│ │ ├── first.hpp
│ │ ├── guard.hpp
│ │ ├── let_c.hpp
│ │ ├── limit_compose_arg_size.hpp
│ │ ├── monad.hpp
│ │ ├── mplus.hpp
│ │ ├── mzero.hpp
│ │ ├── unbox.hpp
│ │ ├── concat.hpp
│ │ ├── is_tag.hpp
│ │ ├── letrec.hpp
│ │ ├── limit_instantiate_arity.hpp
│ │ ├── limit_metafunction_arity.hpp
│ │ ├── mempty.hpp
│ │ ├── monoid.hpp
│ │ ├── second.hpp
│ │ ├── box_tag.hpp
│ │ ├── catch_c.hpp
│ │ ├── compose.hpp
│ │ ├── data.hpp
│ │ ├── is_same.hpp
│ │ ├── mappend.hpp
│ │ ├── matches.hpp
│ │ ├── mconcat.hpp
│ │ ├── return_.hpp
│ │ ├── returns.hpp
│ │ ├── tag_tag.hpp
│ │ ├── tmp_tag.hpp
│ │ ├── var_tag.hpp
│ │ ├── eval_let.hpp
│ │ ├── letrec_c.hpp
│ │ ├── list_tag.hpp
│ │ ├── pair_tag.hpp
│ │ ├── bad_match.hpp
│ │ ├── catch_all.hpp
│ │ ├── do_return.hpp
│ │ ├── has_value.hpp
│ │ ├── match_let.hpp
│ │ ├── matches_c.hpp
│ │ ├── multi_let.hpp
│ │ ├── state_tag.hpp
│ │ ├── tmp_value.hpp
│ │ ├── typeclass.hpp
│ │ ├── catch_just.hpp
│ │ ├── concat_map.hpp
│ │ ├── eval_guard.hpp
│ │ ├── eval_let_c.hpp
│ │ ├── make_syntax.hpp
│ │ ├── monad_plus.hpp
│ │ ├── reader_tag.hpp
│ │ ├── syntax_tag.hpp
│ │ ├── writer_tag.hpp
│ │ ├── eval_letrec.hpp
│ │ ├── eval_syntax.hpp
│ │ ├── make_monadic.hpp
│ │ ├── match_let_c.hpp
│ │ ├── multi_let_c.hpp
│ │ ├── already_lazy.hpp
│ │ ├── is_exception.hpp
│ │ ├── eval_letrec_c.hpp
│ │ ├── exception_tag.hpp
│ │ ├── has_get_value.hpp
│ │ ├── lazy_argument.hpp
│ │ ├── make_monadic_c.hpp
│ │ ├── already_monadic.hpp
│ │ ├── eval_match_let.hpp
│ │ ├── eval_multi_let.hpp
│ │ ├── fail_with_type.hpp
│ │ ├── lambda.hpp
│ │ ├── make_tmp_value.hpp
│ │ ├── no_case_matched.hpp
│ │ ├── syntax.hpp
│ │ ├── value_to_stream.hpp
│ │ ├── calculated_value.hpp
│ │ ├── eval_match_let_c.hpp
│ │ ├── eval_multi_let_c.hpp
│ │ ├── lambda_c.hpp
│ │ ├── maybe.hpp
│ │ ├── helper_metafunction.hpp
│ │ ├── invalid_typeclass.hpp
│ │ ├── lazy_protect_args.hpp
│ │ ├── either.hpp
│ │ ├── exception.hpp
│ │ ├── metafunction.hpp
│ │ ├── do_.hpp
│ │ ├── invalid_typeclass_tag.hpp
│ │ ├── name.hpp
│ │ ├── overloading_error_tag.hpp
│ │ ├── do_c.hpp
│ │ ├── match.hpp
│ │ ├── try_.hpp
│ │ ├── typeclass_expectations.hpp
│ │ ├── algebraic_data_type_tag.hpp
│ │ ├── try_c.hpp
│ │ ├── match_c.hpp
│ │ ├── typeclass_expect.hpp
│ │ └── lazy_metafunction.hpp
│ ├── metaparse
│ │ ├── parser_monad.hpp
│ │ ├── limit_one_of_size.hpp
│ │ ├── limit_string_size.hpp
│ │ ├── limit_sequence_size.hpp
│ │ ├── any.hpp
│ │ ├── if_.hpp
│ │ ├── int_.hpp
│ │ ├── any1.hpp
│ │ ├── fail.hpp
│ │ ├── foldr.hpp
│ │ ├── lit.hpp
│ │ ├── digit.hpp
│ │ ├── empty.hpp
│ │ ├── foldl.hpp
│ │ ├── grammar.hpp
│ │ ├── start.hpp
│ │ ├── token.hpp
│ │ ├── always.hpp
│ │ ├── except.hpp
│ │ ├── foldl1.hpp
│ │ ├── foldlp.hpp
│ │ ├── foldr1.hpp
│ │ ├── foldrp.hpp
│ │ ├── letter.hpp
│ │ ├── lit_c.hpp
│ │ ├── nth_of.hpp
│ │ ├── one_of.hpp
│ │ ├── space.hpp
│ │ ├── spaces.hpp
│ │ ├── get_col.hpp
│ │ ├── iterate.hpp
│ │ ├── keyword.hpp
│ │ ├── last_of.hpp
│ │ ├── return_.hpp
│ │ ├── alphanum.hpp
│ │ ├── always_c.hpp
│ │ ├── first_of.hpp
│ │ ├── get_line.hpp
│ │ ├── is_error.hpp
│ │ ├── nth_of_c.hpp
│ │ ├── one_of_c.hpp
│ │ ├── sequence.hpp
│ │ ├── v1
│ │ │ ├── impl
│ │ │ │ └── no_char.hpp
│ │ │ ├── fwd
│ │ │ │ ├── build_parser.hpp
│ │ │ │ ├── source_position.hpp
│ │ │ │ ├── get_line.hpp
│ │ │ │ └── get_result.hpp
│ │ │ ├── string_tag.hpp
│ │ │ ├── parser_tag.hpp
│ │ │ └── spaces.hpp
│ │ ├── digit_val.hpp
│ │ ├── fail_tag.hpp
│ │ ├── iterate_c.hpp
│ │ ├── limit_one_char_except_size.hpp
│ │ ├── middle_of.hpp
│ │ ├── next_char.hpp
│ │ ├── next_line.hpp
│ │ ├── one_char.hpp
│ │ ├── transform.hpp
│ │ ├── accept_tag.hpp
│ │ ├── any_one_of.hpp
│ │ ├── get_result.hpp
│ │ ├── look_ahead.hpp
│ │ ├── parser_tag.hpp
│ │ ├── string_tag.hpp
│ │ ├── accept_when.hpp
│ │ ├── any_one_of1.hpp
│ │ ├── build_parser.hpp
│ │ ├── entire_input.hpp
│ │ ├── get_position.hpp
│ │ ├── get_prev_char.hpp
│ │ ├── get_remaining.hpp
│ │ ├── unless_error.hpp
│ │ ├── one_char_except.hpp
│ │ ├── source_position.hpp
│ │ ├── one_char_except_c.hpp
│ │ ├── define_error.hpp
│ │ ├── source_position_tag.hpp
│ │ ├── change_error_message.hpp
│ │ ├── debug_parsing_error.hpp
│ │ ├── util
│ │ │ ├── in_range.hpp
│ │ │ ├── is_letter.hpp
│ │ │ ├── is_digit.hpp
│ │ │ ├── digit_to_int.hpp
│ │ │ ├── int_to_digit.hpp
│ │ │ ├── is_whitespace.hpp
│ │ │ ├── digit_to_int_c.hpp
│ │ │ ├── int_to_digit_c.hpp
│ │ │ ├── is_lcase_letter.hpp
│ │ │ ├── is_ucase_letter.hpp
│ │ │ └── is_whitespace_c.hpp
│ │ └── error
│ │ │ ├── digit_expected.hpp
│ │ │ └── letter_expected.hpp
│ └── safe_printf
│ │ ├── printf_max_argument.hpp
│ │ ├── expected_types.hpp
│ │ ├── printf.hpp
│ │ ├── valid_arguments.hpp
│ │ ├── error.hpp
│ │ └── v1
│ │ └── fwd
│ │ ├── expected_types.hpp
│ │ ├── error.hpp
│ │ └── valid_arguments.hpp
├── lab5.hpp
├── lab4.hpp
└── regex_test.hpp
├── .travis.yml
└── solution
└── lab4.hpp
/doc/html/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 |
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | lab/*.o
3 | lab/*.d
4 | lab/lab?
5 |
--------------------------------------------------------------------------------
/doc/html/r_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_a.png
--------------------------------------------------------------------------------
/doc/pdf/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/pdf/slides.pdf
--------------------------------------------------------------------------------
/doc/html/r_concat1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_concat1.png
--------------------------------------------------------------------------------
/doc/html/r_concat2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_concat2.png
--------------------------------------------------------------------------------
/doc/html/r_concat3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_concat3.png
--------------------------------------------------------------------------------
/doc/html/r_concat4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_concat4.png
--------------------------------------------------------------------------------
/doc/html/r_concat5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/r_concat5.png
--------------------------------------------------------------------------------
/doc/html/transform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/transform.png
--------------------------------------------------------------------------------
/doc/html/abc_syntax_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sabel83/metaparse_tutorial/master/doc/html/abc_syntax_tree.png
--------------------------------------------------------------------------------
/lab/mpllibs/boost.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_BOOST_HPP
2 | #define MPLLIBS_BOOST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_BOOST_NAMESPACE
10 | # define MPLLIBS_BOOST_NAMESPACE boost
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: cpp
2 | compiler:
3 | - gcc
4 | before_install:
5 | - sudo apt-get install libboost1.48-dev libboost-test1.48-dev
6 | script:
7 | # Test that the TOC of the description is up to date
8 | - doc/tools/gen_toc -i README.md -o - -t github | diff README.md -
9 | # Test the lab environment
10 | - cd lab
11 | - make
12 | # Test the solutions
13 | - make clean
14 | - make remove_comments
15 | - cp ../solution/* .
16 | - make
17 |
--------------------------------------------------------------------------------
/lab/lab5.hpp:
--------------------------------------------------------------------------------
1 | #ifndef LAB5_HPP
2 | #define LAB5_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 | #include
12 |
13 | struct beginning_and_end;
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/list.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIST_HPP
2 | #define MPLLIBS_METAMONAD_LIST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/state.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_STATE_HPP
2 | #define MPLLIBS_METAMONAD_STATE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/reader.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_READER_HPP
2 | #define MPLLIBS_METAMONAD_READER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/writer.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_WRITER_HPP
2 | #define MPLLIBS_METAMONAD_WRITER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/lab4.hpp:
--------------------------------------------------------------------------------
1 | #ifndef LAB4_HPP
2 | #define LAB4_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 | #include
12 |
13 | template
14 | struct beginning_and_end;
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_do_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_DO_SIZE_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_DO_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_DO_SIZE
10 | # define MPLLIBS_LIMIT_DO_SIZE 8
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_case_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_CASE_SIZE_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_CASE_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_CASE_SIZE
10 | # define MPLLIBS_LIMIT_CASE_SIZE 8
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_data_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_DATA_SIZE_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_DATA_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_DATA_SIZE
10 | # define MPLLIBS_LIMIT_DATA_SIZE 10
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/parser_monad.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_PARSER_MONAD_HPP
2 | #define MPLLIBS_METAPARSE_PARSER_MONAD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/limit_one_of_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIMIT_ONE_OF_SIZE_HPP
2 | #define MPLLIBS_METAPARSE_LIMIT_ONE_OF_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_ONE_OF_SIZE
10 | # define MPLLIBS_LIMIT_ONE_OF_SIZE 20
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/limit_string_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIMIT_STRING_SIZE_HPP
2 | #define MPLLIBS_METAPARSE_LIMIT_STRING_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_STRING_SIZE
10 | # define MPLLIBS_LIMIT_STRING_SIZE 32
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_compose_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_COMPOSE_SIZE_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_COMPOSE_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_COMPOSE_SIZE
10 | # define MPLLIBS_LIMIT_COMPOSE_SIZE 10
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/limit_sequence_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIMIT_SEQUENCE_SIZE_HPP
2 | #define MPLLIBS_METAPARSE_LIMIT_SEQUENCE_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_SEQUENCE_SIZE
10 | # define MPLLIBS_LIMIT_SEQUENCE_SIZE 5
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/regex_test.hpp:
--------------------------------------------------------------------------------
1 | #ifndef REGEX_TEST_HPP
2 | #define REGEX_TEST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | bool all_tests(
13 | const boost::xpressive::sregex& re_,
14 | const std::string& sre_
15 | );
16 |
17 | #endif
18 |
19 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD___HPP
2 | #define MPLLIBS_METAMONAD___HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/typeclass.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_TYPECLASS_HPP
2 | #define MPLLIBS_METAMONAD_V1_TYPECLASS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2011.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | #endif
13 |
14 |
--------------------------------------------------------------------------------
/lab/mpllibs/safe_printf/printf_max_argument.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_SAFE_PRINTF_PRINTF_MAX_ARGUMENT_HPP
2 | #define MPLLIBS_SAFE_PRINTF_PRINTF_MAX_ARGUMENT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_PRINTF_MAX_ARGUMENT
10 | # define MPLLIBS_PRINTF_MAX_ARGUMENT 10
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/box.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_BOX_HPP
2 | #define MPLLIBS_METAMONAD_BOX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::box;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/if_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_IF__HPP
2 | #define MPLLIBS_METAMONAD_IF__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::if_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LET_HPP
2 | #define MPLLIBS_METAMONAD_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/set.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_SET_HPP
2 | #define MPLLIBS_METAMONAD_SET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::set;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/var.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_VAR_HPP
2 | #define MPLLIBS_METAMONAD_VAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::var;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/any.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ANY_HPP
2 | #define MPLLIBS_METAPARSE_ANY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::any;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/if_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_IF__HPP
2 | #define MPLLIBS_METAPARSE_IF__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::if_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/int_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_INT_HPP
2 | #define MPLLIBS_METAPARSE_INT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::int_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/bind.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_BIND_HPP
2 | #define MPLLIBS_METAMONAD_BIND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::bind;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/fail.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_FAIL_HPP
2 | #define MPLLIBS_METAMONAD_FAIL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::fail;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/lazy.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LAZY_HPP
2 | #define MPLLIBS_METAMONAD_LAZY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::lazy;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/pair.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_PAIR_HPP
2 | #define MPLLIBS_METAMONAD_PAIR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::pair;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD___HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD___HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct _;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/any1.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ANY1_HPP
2 | #define MPLLIBS_METAPARSE_ANY1_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::any1;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/fail.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FAIL_HPP
2 | #define MPLLIBS_METAPARSE_FAIL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::fail;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldr.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDR_HPP
2 | #define MPLLIBS_METAPARSE_FOLDR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldr;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/lit.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIT_HPP
2 | #define MPLLIBS_METAPARSE_LIT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::lit;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/apply.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_APPLY_HPP
2 | #define MPLLIBS_METAMONAD_APPLY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::apply;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/bind_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_BIND__HPP
2 | #define MPLLIBS_METAMONAD_BIND__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::bind_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/catch_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CATCH_HPP
2 | #define MPLLIBS_METAMONAD_CATCH_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::catch_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/first.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_FIRST_HPP
2 | #define MPLLIBS_METAMONAD_FIRST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::first;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/guard.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_GUARD_HPP
2 | #define MPLLIBS_METAMONAD_GUARD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::guard;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_compose_arg_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_COMPOSE_ARG_SIZE_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_COMPOSE_ARG_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_COMPOSE_ARG_SIZE
10 | # define MPLLIBS_LIMIT_COMPOSE_ARG_SIZE 3
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/monad.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MONAD_HPP
2 | #define MPLLIBS_METAMONAD_MONAD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::monad;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/mplus.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MPLUS_HPP
2 | #define MPLLIBS_METAMONAD_MPLUS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::mplus;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/mzero.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MZERO_HPP
2 | #define MPLLIBS_METAMONAD_MZERO_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::mzero;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/unbox.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_UNBOX_HPP
2 | #define MPLLIBS_METAMONAD_UNBOX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::unbox;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/digit.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_DIGIT_HPP
2 | #define MPLLIBS_METAPARSE_DIGIT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::digit;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/empty.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_EMPTY_HPP
2 | #define MPLLIBS_METAPARSE_EMPTY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::empty;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldl.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDL_HPP
2 | #define MPLLIBS_METAPARSE_FOLDL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldl;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/grammar.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GRAMMAR_HPP
2 | #define MPLLIBS_METAPARSE_GRAMMAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::grammar;
16 | }
17 | }
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/start.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_START_HPP
2 | #define MPLLIBS_METAPARSE_START_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::start;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/token.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_TOKEN_HPP
2 | #define MPLLIBS_METAPARSE_TOKEN_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::token;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/concat.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CONCAT_HPP
2 | #define MPLLIBS_METAMONAD_CONCAT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::concat;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/is_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_IS_TAG_HPP
2 | #define MPLLIBS_METAMONAD_IS_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::is_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/letrec.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LETREC_HPP
2 | #define MPLLIBS_METAMONAD_LETREC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::letrec;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_instantiate_arity.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_INSTANTIATE_ARITY_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_INSTANTIATE_ARITY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_INSTANTIATE_ARITY
10 | # define MPLLIBS_LIMIT_INSTANTIATE_ARITY 32
11 | #endif
12 |
13 | #endif
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/limit_metafunction_arity.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIMIT_METAFUNCTION_ARITY_HPP
2 | #define MPLLIBS_METAMONAD_LIMIT_METAFUNCTION_ARITY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_METAFUNCTION_ARITY
10 | # define MPLLIBS_LIMIT_METAFUNCTION_ARITY 21
11 | #endif
12 |
13 | #endif
14 |
15 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/mempty.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MEMPTY_HPP
2 | #define MPLLIBS_METAMONAD_MEMPTY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::mempty;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/monoid.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MONOID_HPP
2 | #define MPLLIBS_METAMONAD_MONOID_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::monoid;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/second.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_SECOND_HPP
2 | #define MPLLIBS_METAMONAD_SECOND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::second;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/always.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ALWAYS_HPP
2 | #define MPLLIBS_METAPARSE_ALWAYS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::always;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/except.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_EXCEPT_HPP
2 | #define MPLLIBS_METAPARSE_EXCEPT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::except;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldl1.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDL1_HPP
2 | #define MPLLIBS_METAPARSE_FOLDL1_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldl1;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldlp.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDLP_HPP
2 | #define MPLLIBS_METAPARSE_FOLDLP_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldlp;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldr1.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDR1_HPP
2 | #define MPLLIBS_METAPARSE_FOLDR1_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldr1;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/foldrp.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FOLDRP_HPP
2 | #define MPLLIBS_METAPARSE_FOLDRP_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::foldrp;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/letter.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LETTER_HPP
2 | #define MPLLIBS_METAPARSE_LETTER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::letter;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/lit_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIT_C_HPP
2 | #define MPLLIBS_METAPARSE_LIT_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::lit_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/nth_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_NTH_OF_HPP
2 | #define MPLLIBS_METAPARSE_NTH_OF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::nth_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/one_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ONE_OF_HPP
2 | #define MPLLIBS_METAPARSE_ONE_OF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::one_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/space.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_SPACE_HPP
2 | #define MPLLIBS_METAPARSE_SPACE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::space;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/spaces.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_SPACES_HPP
2 | #define MPLLIBS_METAPARSE_SPACES_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::spaces;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/box_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_BOX_TAG_HPP
2 | #define MPLLIBS_METAMONAD_BOX_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::box_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/catch_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CATCH_C_HPP
2 | #define MPLLIBS_METAMONAD_CATCH_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::catch_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/compose.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_COMPOSE_HPP
2 | #define MPLLIBS_METAMONAD_COMPOSE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::compose;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/data.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_DATA_HPP
2 | #define MPLLIBS_METAMONAD_DATA_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | #ifdef MPLLIBS_DATA
12 | # error MPLLIBS_DATA already defined
13 | #endif
14 | #define MPLLIBS_DATA MPLLIBS_V1_DATA
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/is_same.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_IS_SAME_HPP
2 | #define MPLLIBS_METAMONAD_IS_SAME_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::is_same;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/mappend.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAPPEND_HPP
2 | #define MPLLIBS_METAMONAD_MAPPEND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::mappend;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/matches.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MATCHES_HPP
2 | #define MPLLIBS_METAMONAD_MATCHES_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::matches;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/mconcat.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MCONCAT_HPP
2 | #define MPLLIBS_METAMONAD_MCONCAT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::mconcat;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/return_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_RETURN__HPP
2 | #define MPLLIBS_METAMONAD_RETURN__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::return_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/returns.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_RETURNS_HPP
2 | #define MPLLIBS_METAMONAD_RETURNS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::returns;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/tag_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_TAG_TAG_HPP
2 | #define MPLLIBS_METAMONAD_TAG_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::tag_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/tmp_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_TMP_TAG_HPP
2 | #define MPLLIBS_METAMONAD_TMP_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::tmp_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/var_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_VAR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_VAR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::var_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_col.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_COL_HPP
2 | #define MPLLIBS_METAPARSE_GET_COL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_col;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/iterate.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ITERATE_HPP
2 | #define MPLLIBS_METAPARSE_ITERATE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::iterate;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/keyword.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_KEYWORD_HPP
2 | #define MPLLIBS_METAPARSE_KEYWORD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::keyword;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/last_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LAST_OF_HPP
2 | #define MPLLIBS_METAPARSE_LAST_OF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::last_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/return_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_RETURN__HPP
2 | #define MPLLIBS_METAPARSE_RETURN__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::return_;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_LET_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/letrec_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LETREC_C_HPP
2 | #define MPLLIBS_METAMONAD_LETREC_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::letrec_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/list_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LIST_TAG_HPP
2 | #define MPLLIBS_METAMONAD_LIST_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::list_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/pair_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_PAIR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_PAIR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::pair_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/box_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_BOX_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_BOX_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct box_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/var_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_VAR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_VAR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct var_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/alphanum.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ALPHANUM_HPP
2 | #define MPLLIBS_METAPARSE_ALPHANUM_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::alphanum;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/always_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ALWAYS_C_HPP
2 | #define MPLLIBS_METAPARSE_ALWAYS_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::always_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/first_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FIRST_OF_HPP
2 | #define MPLLIBS_METAPARSE_FIRST_OF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::first_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_line.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_LINE_HPP
2 | #define MPLLIBS_METAPARSE_GET_LINE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_line;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/is_error.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_IS_ERROR_HPP
2 | #define MPLLIBS_METAPARSE_IS_ERROR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::is_error;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/nth_of_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_NTH_OF_C_HPP
2 | #define MPLLIBS_METAPARSE_NTH_OF_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::nth_of_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/one_of_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ONE_OF_C_HPP
2 | #define MPLLIBS_METAPARSE_ONE_OF_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::one_of_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/sequence.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_SEQUENCE_HPP
2 | #define MPLLIBS_METAPARSE_SEQUENCE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::sequence;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/v1/impl/no_char.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_V1_IMPL_NO_CHAR_HPP
2 | #define MPLLIBS_METAPARSE_V1_IMPL_NO_CHAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | #ifdef MPLLIBS_NO_CHAR
12 | # error MPLLIBS_NO_CHAR already defined
13 | #endif
14 | #define MPLLIBS_NO_CHAR EOF
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/bad_match.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_BAD_MATCH_HPP
2 | #define MPLLIBS_METAMONAD_BAD_MATCH_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::bad_match;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/catch_all.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CATCH_ALL_HPP
2 | #define MPLLIBS_METAMONAD_CATCH_ALL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::catch_all;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/do_return.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_DO_RETURN_HPP
2 | #define MPLLIBS_METAMONAD_DO_RETURN_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::do_return;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/has_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_HAS_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_HAS_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::has_value;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/match_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MATCH_LET_HPP
2 | #define MPLLIBS_METAMONAD_MATCH_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::match_let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/matches_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MATCHES_C_HPP
2 | #define MPLLIBS_METAMONAD_MATCHES_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::matches_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/multi_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MULTI_LET_HPP
2 | #define MPLLIBS_METAMONAD_MULTI_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::multi_let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/state_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_STATE_TAG_HPP
2 | #define MPLLIBS_METAMONAD_STATE_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::state_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/tmp_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_TMP_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_TMP_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::tmp_value;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/typeclass.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_TYPECLASS_HPP
2 | #define MPLLIBS_METAMONAD_TYPECLASS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 | #include
12 |
13 |
14 | #endif
15 |
16 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/list_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LIST_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LIST_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct list_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/pair_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_PAIR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_PAIR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct pair_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/tag_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_TAG_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_TAG_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct tag_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/digit_val.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_DIGIT_VAL_HPP
2 | #define MPLLIBS_METAPARSE_DIGIT_VAL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::digit_val;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/fail_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_FAIL_TAG_HPP
2 | #define MPLLIBS_METAPARSE_FAIL_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::fail_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/iterate_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ITERATE_C_HPP
2 | #define MPLLIBS_METAPARSE_ITERATE_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::iterate_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/limit_one_char_except_size.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LIMIT_ONE_CHAR_EXCEPT_SIZE_HPP
2 | #define MPLLIBS_METAPARSE_LIMIT_ONE_CHAR_EXCEPT_SIZE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #ifndef MPLLIBS_LIMIT_ONE_CHAR_EXCEPT_SIZE
10 | # define MPLLIBS_LIMIT_ONE_CHAR_EXCEPT_SIZE 10
11 | #endif
12 |
13 | #endif
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/middle_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_KEEP_MIDDLE_HPP
2 | #define MPLLIBS_METAPARSE_KEEP_MIDDLE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::middle_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/next_char.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_NEXT_CHAR_HPP
2 | #define MPLLIBS_METAPARSE_NEXT_CHAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::next_char;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/next_line.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_NEXT_LINE_HPP
2 | #define MPLLIBS_METAPARSE_NEXT_LINE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::next_line;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/one_char.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ONE_CHAR_HPP
2 | #define MPLLIBS_METAPARSE_ONE_CHAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::one_char;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/transform.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_TRANSFORM_HPP
2 | #define MPLLIBS_METAPARSE_TRANSFORM_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::transform;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/catch_just.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CATCH_JUST_HPP
2 | #define MPLLIBS_METAMONAD_CATCH_JUST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::catch_just;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/concat_map.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CONCAT_MAP_HPP
2 | #define MPLLIBS_METAMONAD_CONCAT_MAP_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::concat_map;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_guard.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_GUARD_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_GUARD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_guard;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/make_syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAKE_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_MAKE_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::make_syntax;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/monad_plus.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MONAD_PLUS_HPP
2 | #define MPLLIBS_METAMONAD_MONAD_PLUS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::monad_plus;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/reader_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_READER_TAG_HPP
2 | #define MPLLIBS_METAMONAD_READER_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::reader_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/syntax_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_SYNTAX_TAG_HPP
2 | #define MPLLIBS_METAMONAD_SYNTAX_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::syntax_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/state_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_STATE_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_STATE_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct state_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/writer_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_WRITER_TAG_HPP
2 | #define MPLLIBS_METAMONAD_WRITER_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::writer_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/accept_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ACCEPT_TAG_HPP
2 | #define MPLLIBS_METAPARSE_ACCEPT_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::accept_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/any_one_of.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ANY_ONE_OF_HPP
2 | #define MPLLIBS_METAPARSE_ANY_ONE_OF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::any_one_of;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_result.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_RESULT_HPP
2 | #define MPLLIBS_METAPARSE_GET_RESULT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_result;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/look_ahead.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_LOOK_AHEAD_HPP
2 | #define MPLLIBS_METAPARSE_LOOK_AHEAD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::look_ahead;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/parser_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_PARSER_TAG_HPP
2 | #define MPLLIBS_METAPARSE_PARSER_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::parser_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/string_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_STRING_TAG_HPP
2 | #define MPLLIBS_METAPARSE_STRING_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::string_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_letrec.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_LETREC_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_LETREC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_letrec;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_syntax;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/make_monadic.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAKE_MONADIC_HPP
2 | #define MPLLIBS_METAMONAD_MAKE_MONADIC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::make_monadic;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/match_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MATCH_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_MATCH_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::match_let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/multi_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MULTI_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_MULTI_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::multi_let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/box.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_BOX_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_BOX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct box;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/reader_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_READER_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_READER_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct reader_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/syntax_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_SYNTAX_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_SYNTAX_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct syntax_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/accept_when.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ACCEPT_WHEN_HPP
2 | #define MPLLIBS_METAPARSE_ACCEPT_WHEN_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::accept_when;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/any_one_of1.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ANY_ONE_OF1_HPP
2 | #define MPLLIBS_METAPARSE_ANY_ONE_OF1_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::any_one_of1;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/already_lazy.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_ALREADY_LAZY_HPP
2 | #define MPLLIBS_METAMONAD_ALREADY_LAZY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::already_lazy;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/is_exception.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_IS_EXCEPTION_HPP
2 | #define MPLLIBS_METAMONAD_IS_EXCEPTION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::is_exception;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/eval.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_EVAL_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_EVAL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct eval;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/var.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_VAR_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_VAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct var;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/build_parser.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_BUILD_PARSER_HPP
2 | #define MPLLIBS_METAPARSE_BUILD_PARSER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::build_parser;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/entire_input.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ENTIRE_INPUT_HPP
2 | #define MPLLIBS_METAPARSE_ENTIRE_INPUT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::entire_input;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_position.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_POSITION_HPP
2 | #define MPLLIBS_METAPARSE_GET_POSITION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_position;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_letrec_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_LETREC_C_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_LETREC_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_letrec_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/exception_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EXCEPTION_TAG_HPP
2 | #define MPLLIBS_METAMONAD_EXCEPTION_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::exception_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/has_get_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_HAS_GET_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_HAS_GET_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::has_get_value;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/lazy_argument.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LAZY_ARGUMENT_HPP
2 | #define MPLLIBS_METAMONAD_LAZY_ARGUMENT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::lazy_argument;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/make_monadic_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAKE_MONADIC_C_HPP
2 | #define MPLLIBS_METAMONAD_MAKE_MONADIC_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::make_monadic_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/exception_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_EXCEPTION_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_EXCEPTION_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct exception_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/first.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_FIRST_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_FIRST_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct first;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/unbox.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_UNBOX_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_UNBOX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct unbox;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_prev_char.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_PREV_CHAR_HPP
2 | #define MPLLIBS_METAPARSE_GET_PREV_CHAR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_prev_char;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/get_remaining.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_GET_REMAINING_HPP
2 | #define MPLLIBS_METAPARSE_GET_REMAINING_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::get_remaining;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/already_monadic.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_ALREADY_MONADIC_HPP
2 | #define MPLLIBS_METAMONAD_ALREADY_MONADIC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::already_monadic;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_match_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_MATCH_LET_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_MATCH_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_match_let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_multi_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_MULTI_LET_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_MULTI_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_multi_let;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/fail_with_type.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_FAIL_WITH_TYPE_HPP
2 | #define MPLLIBS_METAMONAD_FAIL_WITH_TYPE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::fail_with_type;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/lambda.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LAMBDA_HPP
2 | #define MPLLIBS_METAMONAD_LAMBDA_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | namespace mpllibs
13 | {
14 | namespace metamonad
15 | {
16 | using v1::lambda;
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/make_tmp_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAKE_TMP_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_MAKE_TMP_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::make_tmp_value;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/lazy.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LAZY_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LAZY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct lazy;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/returns.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_RETURNS_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_RETURNS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct returns;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/second.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_SECOND_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_SECOND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct second;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/set.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_SET_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_SET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct set;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct syntax;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/tmp_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_TMP_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_TMP_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct tmp_tag;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/unless_error.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_UTIL_UNLESS_ERROR_HPP
2 | #define MPLLIBS_METAPARSE_UTIL_UNLESS_ERROR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::unless_error;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/no_case_matched.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_NO_CASE_MATCHED_HPP
2 | #define MPLLIBS_METAMONAD_NO_CASE_MATCHED_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::no_case_matched;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | namespace mpllibs
13 | {
14 | namespace metamonad
15 | {
16 | using v1::syntax;
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/concat.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_CONCAT_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_CONCAT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct concat;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/fail.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_FAIL_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_FAIL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct fail;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/if_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_IF__HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_IF__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct if_;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LET_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct let;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/value_to_stream.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_VALUE_TO_STREAM_HPP
2 | #define MPLLIBS_METAMONAD_VALUE_TO_STREAM_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::value_to_stream;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/one_char_except.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ONE_CHAR_EXCEPT_HPP
2 | #define MPLLIBS_METAPARSE_ONE_CHAR_EXCEPT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::one_char_except;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/source_position.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_SOURCE_POSITION_HPP
2 | #define MPLLIBS_METAPARSE_SOURCE_POSITION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::source_position;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/calculated_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_CALCULATED_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_CALCULATED_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::calculated_value;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_match_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_MATCH_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_MATCH_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_match_let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/eval_multi_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EVAL_MULTI_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_EVAL_MULTI_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::eval_multi_let_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/lambda_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LAMBDA_C_HPP
2 | #define MPLLIBS_METAMONAD_LAMBDA_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | namespace mpllibs
13 | {
14 | namespace metamonad
15 | {
16 | using v1::lambda_c;
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/maybe.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MAYBE_HPP
2 | #define MPLLIBS_METAMONAD_MAYBE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::maybe_tag;
16 | using v1::just;
17 | using v1::nothing;
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/do_return.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_DO_RETURN_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_DO_RETURN_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct do_return;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/guard.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_GUARD_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_GUARD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct guard;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/has_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_HAS_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_HAS_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct has_value;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/invalid_typeclass.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_INVALID_TYPECLASS_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_INVALID_TYPECLASS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct invalid_typeclass;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/match_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MATCH_C_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MATCH_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct match_c;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/safe_printf/expected_types.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_SAFE_PRINTF_EXPECTED_TYPES_HPP
2 | #define MPLLIBS_SAFE_PRINTF_EXPECTED_TYPES_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace safe_printf
14 | {
15 | using v1::expected_types;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/helper_metafunction.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_HELPER_METAFUNCTION_HPP
2 | #define MPLLIBS_METAMONAD_HELPER_METAFUNCTION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | #ifndef MPLLIBS_HELPER_METAFUNCTION
12 | # define MPLLIBS_HELPER_METAFUNCTION(name) BOOST_PP_CAT(name, __impl)
13 | #endif
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/invalid_typeclass.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_INVALID_TYPECLASS_HPP
2 | #define MPLLIBS_METAMONAD_INVALID_TYPECLASS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::invalid_typeclass;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/lazy_protect_args.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_LAZY_PROTECT_ARGS_HPP
2 | #define MPLLIBS_METAMONAD_LAZY_PROTECT_ARGS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::lazy_protect_args;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/bind.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_BIND_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_BIND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct bind;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/eval_guard.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_EVAL_GUARD_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_EVAL_GUARD_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct eval_guard;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/make_syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MAKE_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MAKE_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct make_syntax;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/match.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MATCH_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MATCH_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct match;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/monad_plus.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MONAD_PLUS_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MONAD_PLUS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct monad_plus;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/writer_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_WRITER_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_WRITER_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct writer_tag;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/impl/no.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_IMPL_NO_HPP
2 | #define MPLLIBS_METAMONAD_V1_IMPL_NO_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | namespace impl
16 | {
17 | typedef char no;
18 | }
19 | }
20 | }
21 | }
22 |
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/one_char_except_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_ONE_CHAR_EXCEPT_C_HPP
2 | #define MPLLIBS_METAPARSE_ONE_CHAR_EXCEPT_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::one_char_except_c;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/either.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EITHER_HPP
2 | #define MPLLIBS_METAMONAD_EITHER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::left;
16 | using v1::right;
17 |
18 | using v1::either_tag;
19 | }
20 | }
21 |
22 | #endif
23 |
24 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/bind_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_BIND__HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_BIND__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct bind_;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/eval_syntax.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_EVAL_SYNTAX_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_EVAL_SYNTAX_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct eval_syntax;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/is_exception.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_IS_EXCEPTION_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_IS_EXCEPTION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct is_exception;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/letrec.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LETREC_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LETREC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct letrec;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/matches_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MATCHES_C_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MATCHES_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct matches_c;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/mconcat.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MCONCAT_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MCONCAT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct mconcat;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/mplus.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MPLUS_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MPLUS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct mplus;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/multi_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MULTI_LET_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MULTI_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct multi_let;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/return_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_RETURN__HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_RETURN__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct return_;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/v1/fwd/build_parser.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_V1_FWD_BUILD_PARSER_HPP
2 | #define MPLLIBS_METAPARSE_V1_FWD_BUILD_PARSER_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metaparse
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct build_parser;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/exception.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_EXCEPTION_HPP
2 | #define MPLLIBS_METAMONAD_EXCEPTION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 |
12 | namespace mpllibs
13 | {
14 | namespace metamonad
15 | {
16 | using v1::exception;
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/catch_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_CATCH__HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_CATCH__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct catch_;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/catch_all.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_CATCH_ALL_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_CATCH_ALL_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct catch_all;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/concat_map.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_CONCAT_MAP_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_CONCAT_MAP_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct concat_map;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/has_get_value.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_HAS_GET_VALUE_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_HAS_GET_VALUE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct has_get_value;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/letrec_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LETREC_C_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LETREC_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct letrec_c;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/mappend.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MAPPEND_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MAPPEND_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct mappend;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/multi_let_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MULTI_LET_C_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MULTI_LET_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct multi_let_c;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/define_error.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_DEFINE_ERROR_HPP
2 | #define MPLLIBS_METAPARSE_DEFINE_ERROR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | #ifdef MPLLIBS_DEFINE_ERROR
12 | # error MPLLIBS_DEFINE_ERROR already defined
13 | #endif
14 | #define MPLLIBS_DEFINE_ERROR MPLLIBS_DEFINE_V1_ERROR
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/source_position_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_SOURCE_POSITION_TAG_HPP
2 | #define MPLLIBS_METAPARSE_SOURCE_POSITION_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::source_position_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/safe_printf/printf.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_SAFE_PRINTF_PRINTF_HPP
2 | #define MPLLIBS_SAFE_PRINTF_PRINTF_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace safe_printf
14 | {
15 | using v1::printf;
16 | using v1::fprintf;
17 | using v1::sprintf;
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/metafunction.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_METAFUNCTION_HPP
2 | #define MPLLIBS_METAMONAD_METAFUNCTION_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | #ifdef MPLLIBS_METAFUNCTION
12 | # error MPLLIBS_METAFUNCTION already defined
13 | #endif
14 | #define MPLLIBS_METAFUNCTION MPLLIBS_V1_METAFUNCTION
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/already_lazy.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_ALREADY_LAZY_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_ALREADY_LAZY_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct already_lazy;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/bad_match.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_BAD_MATCH_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_BAD_MATCH_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct bad_match;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/catch_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_CATCH_C_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_CATCH_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct catch_c;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/fail_with_type.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_FAIL_WITH_TYPE_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_FAIL_WITH_TYPE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | void fail_with_type();
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/invalid_typeclass_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_INVALID_TYPECLASS_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_INVALID_TYPECLASS_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct invalid_typeclass_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/match_let.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_MATCH_LET_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_MATCH_LET_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct match_let;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/overloading_error_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_OVERLOADING_ERROR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_OVERLOADING_ERROR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct overloading_error_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/typeclass_expectations.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_TYPECLASS_EXPECTATIONS_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_TYPECLASS_EXPECTATIONS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct typeclass_expectations;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/change_error_message.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_CHANGE_ERROR_MESSAGE_HPP
2 | #define MPLLIBS_METAPARSE_CHANGE_ERROR_MESSAGE_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::change_error_message;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/debug_parsing_error.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_DEBUG_PARSING_ERROR_HPP
2 | #define MPLLIBS_METAPARSE_DEBUG_PARSING_ERROR_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metaparse
14 | {
15 | using v1::debug_parsing_error;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/safe_printf/valid_arguments.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_SAFE_PRINTF_VERIFY_PRINTF_ARGUMENTS_HPP
2 | #define MPLLIBS_SAFE_PRINTF_VERIFY_PRINTF_ARGUMENTS_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace safe_printf
14 | {
15 | using v1::valid_arguments;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/do_.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_DO__HPP
2 | #define MPLLIBS_METAMONAD_DO__HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 | #include
12 |
13 | namespace mpllibs
14 | {
15 | namespace metamonad
16 | {
17 | using v1::do_;
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/invalid_typeclass_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_INVALID_TYPECLASS_TAG_HPP
2 | #define MPLLIBS_METAMONAD_INVALID_TYPECLASS_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::invalid_typeclass_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/name.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_NAME_HPP
2 | #define MPLLIBS_METAMONAD_NAME_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | namespace name
16 | {
17 | using namespace v1::name;
18 | }
19 | using namespace name;
20 | }
21 | }
22 |
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/overloading_error_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_OVERLOADING_ERROR_TAG_HPP
2 | #define MPLLIBS_METAMONAD_OVERLOADING_ERROR_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 |
11 | namespace mpllibs
12 | {
13 | namespace metamonad
14 | {
15 | using v1::overloading_error_tag;
16 | }
17 | }
18 |
19 | #endif
20 |
21 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/algebraic_data_type_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_ALGEBRAIC_DATA_TYPE_TAG_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_ALGEBRAIC_DATA_TYPE_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | struct algebraic_data_type_tag;
16 | }
17 | }
18 | }
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/already_monadic.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_ALREADY_MONADIC_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_ALREADY_MONADIC_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct already_monadic;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/lazy_argument.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_LAZY_ARGUMENT_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_LAZY_ARGUMENT_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct lazy_argument;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/no_case_matched.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_NO_CASE_MATCHED_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_NO_CASE_MATCHED_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct no_case_matched;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/v1/fwd/value_to_stream.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_V1_FWD_VALUE_TO_STREAM_HPP
2 | #define MPLLIBS_METAMONAD_V1_FWD_VALUE_TO_STREAM_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metamonad
12 | {
13 | namespace v1
14 | {
15 | template
16 | struct value_to_stream;
17 | }
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metaparse/v1/string_tag.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAPARSE_V1_STRING_TAG_HPP
2 | #define MPLLIBS_METAPARSE_V1_STRING_TAG_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | namespace mpllibs
10 | {
11 | namespace metaparse
12 | {
13 | namespace v1
14 | {
15 | struct string_tag
16 | {
17 | typedef string_tag type;
18 | };
19 | }
20 | }
21 | }
22 |
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/do_c.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_DO_C_HPP
2 | #define MPLLIBS_METAMONAD_DO_C_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include
11 | #include
12 |
13 | namespace mpllibs
14 | {
15 | namespace metamonad
16 | {
17 | using v1::do_c;
18 | }
19 | }
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/lab/mpllibs/metamonad/match.hpp:
--------------------------------------------------------------------------------
1 | #ifndef MPLLIBS_METAMONAD_MATCH_HPP
2 | #define MPLLIBS_METAMONAD_MATCH_HPP
3 |
4 | // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013.
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include
10 | #include