C++ Template Metaprogramming
Solutions to the exercises throughout the book
Loading...
Searching...
No Matches
exercise-2-0.hpp File Reference

Solution to Exercise 2-0. More...

#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/add_reference.hpp>

Go to the source code of this file.

Classes

struct  exercise_2_0::no_boost::add_const_ref_impl< T, IsRef >
 The default implementation adds a const& to the template type. More...
 
struct  exercise_2_0::no_boost::add_const_ref_impl< T, true >
 Simply return the original type if we're already a reference type. More...
 
struct  exercise_2_0::no_boost::add_const_ref< T >
 This is a home-grown implementation to the problem. More...
 
struct  exercise_2_0::no_boost::add_const_ref< T & >
 Partial specialization for when T is already a reference. More...
 
struct  exercise_2_0::no_boost::add_const_ref< T const >
 (Paranoia) Strip off const on T const to avoid T const const&. Not required. More...
 
struct  exercise_2_0::with_boost::add_const_ref< T >
 Boost MPL implementation. More...
 
struct  exercise_2_0::add_const_ref< T >
 A unary metafunction that returns T if it is a reference type, and otherwise returns T const&. More...
 

Namespaces

namespace  exercise_2_0
 Encapsulate solution for Exercise 2-0.
 
namespace  exercise_2_0::no_boost
 Contains a set of solutions implemented without the aid of the Boost MPL.
 
namespace  exercise_2_0::with_boost
 Contains a set of solutions implemented with Boost MPL.
 

Detailed Description

Solution to Exercise 2-0.

Author
Matt Bisson

Definition in file exercise-2-0.hpp.