MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
maybe.hpp
Go to the documentation of this file.
1 
12 #ifndef BOOST_MPL11_FWD_MAYBE_HPP
13 #define BOOST_MPL11_FWD_MAYBE_HPP
14 
16 #include <boost/mpl11/fwd/bool.hpp>
18 
19 
20 namespace boost { namespace mpl11 {
40  struct Maybe;
41 
43  template <typename x>
44  struct just;
45 
48 
57  template <typename def, typename f, typename m>
58  struct maybe;
59 
61  template <typename m>
63 
65  template <typename m>
67 
70  template <typename def, typename m>
72 
73  namespace maybe_detail { template <typename ...> struct err_from_just; }
74 
82  template <typename m>
84  maybe<maybe_detail::err_from_just<>, lift<id>, m>);
86 }} // end namespace boost::mpl11
87 
88 #endif // !BOOST_MPL11_FWD_MAYBE_HPP
Creates an empty optional value.
Definition: maybe.hpp:47
Forward declares the Functional module.
Returns whether a Maybe is a nothing.
Definition: maybe.hpp:66
Lifts a metafunction.
Definition: functional.hpp:155
Forwards to boost/mpl11/fwd/integer.hpp.
Manages configurable options of the library and defines utility macros.
Returns whether a Maybe is a just.
Definition: maybe.hpp:62
Creates an optional value containing x.
Definition: maybe.hpp:44
Applies a metafunction class to a Maybe, with a fallback result.
Definition: maybe.hpp:58
Returns a constant metafunction class returning x regardless of the arguments it is invoked with...
Definition: functional.hpp:28
Extracts the value out of a just, and triggers a hard compile-time error if the argument is nothing...
Definition: maybe.hpp:84
#define BOOST_MPL11_IF_DOXYGEN(...)
Macro expanding to its argument(s) when generating the documentation with Doxygen and to nothing othe...
Definition: config.hpp:45
If m is nothing, returns def.
Definition: maybe.hpp:71
#define BOOST_MPL11_DOXYGEN_ALIAS(NAME,...)
Macro expanding to a struct when generating the documentation and to an alias otherwise.
Definition: config.hpp:56
Alias to bool_; provided for convenience.
Definition: integer.hpp:82
Alias to bool_; provided for convenience.
Definition: integer.hpp:79