Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
duck-detector-test.cpp
Go to the documentation of this file.
1/*
2 DuckDetector(Test) - detecting properties of a type at compile time
3
4 Copyright (C)
5 2010, Hermann Vosseler <Ichthyostega@web.de>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12* *****************************************************************/
13
20#include "lib/test/run.hpp"
22#include "lib/format-cout.hpp"
23#include "lib/util.hpp"
24
25
26namespace lib {
27namespace meta{
28namespace test{
29
30
31 namespace { // some test ducks....
32
33
35 {
36 class Core;
37
38 PropperGander& honk (long,long);
39 };
40
41
43 {
44 void honk(float);
45 };
46
47
48 }//(End) with test ducks
49
50#define SHOW_CHECK(_EXPR_) cout << STRINGIFY(_EXPR_) << "\t : " << (_EXPR_::value? "Yes":"No") << endl;
51
52
53
54 /*******************************************************************************/
82
83
86
87
88
89}}} // namespace lib::meta::test
META_DETECT_FUNCTION(PropperGander &, honk,(long, long))
Metaprogramming helpers to check for specific properties of a type in question.
#define SHOW_CHECK(_EXPR_)
Automatically use custom string conversion in C++ stream output.
enable_if_c< Cond::value, T >::type enable_if
SFINAE helper to control the visibility of specialisations and overloads.
Definition meta/util.hpp:87
Implementation namespace for support and library code.
Test runner and basic definitions for tests.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
Definition run.hpp:116
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...