LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
variant.hh
Go to the documentation of this file.
1 
15 #ifndef MISC_VARIANT_HH
16 # define MISC_VARIANT_HH
17 
18 # include <boost/variant.hpp>
19 
20 namespace misc
21 {
31  template <typename T0, typename T1>
32  class variant : public boost::variant<T0, T1>
33  {
34  public:
38  typedef boost::variant<T0, T1> super_type;
39 
42  variant();
43  template <typename U> variant(const U& rhs);
45 
46  template <typename U> self_type& operator=(const U&);
47 
53  operator T0&();
54  operator T1&();
56 
59  operator const T0&() const;
60  operator const T1&() const;
62  };
63 
64 } // namespace misc
65 
66 # include <misc/variant.hxx>
67 
68 #endif // !MISC_VARIANT_HH