carl  24.04
Computer ARithmetic Library
mpl_utils.h File Reference

This file provides two helpers to mangle with type sequences using boost::mpl. More...

#include <type_traits>
#include <boost/mpl/less.hpp>
#include <boost/mpl/pop_front.hpp>
#include <boost/mpl/sort.hpp>
#include <boost/mpl/unique.hpp>
#include <boost/mpl/vector.hpp>
Include dependency graph for mpl_utils.h:

Go to the source code of this file.

Data Structures

struct  carl::mpl_unique< T >
 
struct  carl::mpl_concatenate_impl< S, Front, Tail >
 
struct  carl::mpl_concatenate_impl< 1, Front, Tail... >
 
struct  carl::mpl_concatenate< T >
 
struct  carl::mpl_variant_of_impl< bool, Vector, Unpacked >
 
struct  carl::mpl_variant_of_impl< true, Vector, Unpacked... >
 
struct  carl::mpl_variant_of< Vector >
 

Namespaces

 carl
 carl is the main namespace for the library.
 

Detailed Description

This file provides two helpers to mangle with type sequences using boost::mpl.

mpl_unique makes a mpl::vector<> almost unique. (If two types have the same size, this may fail) mpl_concatenate concatenates an arbitrary number of mpl::vector<> types. mpl_variant_of constructs a variant from a mpl::vector<> making the types unique.

Definition in file mpl_utils.h.