Adobe Systems, Inc.

type_vector.hpp File Reference

A collection of MPL-style type random access containers. More...

#include "../../core/gil_config.hpp"
#include <boost/mpl/at.hpp>
#include <boost/mpl/divides.hpp>
#include <boost/mpl/find.hpp>
#include <boost/mpl/front.hpp>
#include <boost/mpl/modulus.hpp>
#include <boost/mpl/order.hpp>
#include <boost/mpl/pop_front.hpp>
#include <boost/mpl/pop_back.hpp>
#include <boost/mpl/set.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/sizeof.hpp>
#include <boost/mpl/times.hpp>
#include <boost/mpl/transform.hpp>
#include <boost/mpl/vector.hpp>

Go to the source code of this file.


Namespaces

namespace  boost
namespace  boost::mpl
namespace  boost::mpl::detail

Classes

struct  boost::mpl::detail::_select_subvector< VEC_OF_VECS, N, B_SIZE >
struct  boost::mpl::detail::_select_subvector< VEC_OF_VECS, N, 0 >
struct  boost::mpl::advance< concat_vector_iterator< VEC1, VEC2, K >, DISTANCE >
 Advances a concat-vector iterator. More...
struct  boost::mpl::advance< cross_iterator< VEC_OF_VECS, TYPE_GEN, K >, DISTANCE >
 Advances a cross-vector iterator. More...
struct  boost::mpl::at< concat_vector< VEC1, VEC2 >, K >
 Returns the K-th element of a concat vector. More...
struct  boost::mpl::at< cross_vector< VEC_OF_VECS, TYPE_GEN >, K >
 Returns the K-th element of a cross vector. More...
struct  boost::mpl::at_c< mapping_vector< SRC_TYPES, DST_TYPES >, K >
struct  boost::mpl::back< concat_vector< VEC1, VEC2 > >
 Returns the last element of a concat vector. More...
struct  boost::mpl::back< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Returns the last element of a cross vector. More...
struct  boost::mpl::begin< concat_vector< VEC1, VEC2 > >
 Returns an iterator to the first element of a concat vector. More...
struct  boost::mpl::begin< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Returns an iterator to the first element of a cross vector. More...
struct  boost::mpl::concat_vector< VEC1, VEC2 >
 Represents the virtual concatenation of two MPL random access sequences

INPUT: VEC1, VEC2 - two MPL random access sequences. More...

struct  boost::mpl::concat_vector_iterator< VEC1, VEC2, K >
 Iterator of cross_vector. More...
struct  boost::mpl::copy_to_vector< SRC >
struct  boost::mpl::copy_to_vector< set<> >
struct  boost::mpl::detail::copy_to_vector_impl< S_FIRST, N_LEFT >
struct  boost::mpl::detail::copy_to_vector_impl< S_FIRST, 1 >
struct  boost::mpl::cross_iterator< VEC_OF_VECS, TYPE_GEN, K >
 Iterator of cross_vector. More...
struct  boost::mpl::cross_vector< VEC_OF_VECS, TYPE_GEN >
 Represents the virtual cross-product of the types generated from VEC_OF_VECS.

INPUT: VEC_OF_VECS - a vector of vector types. For example [ [A1,A2,A3], [B1,B2], [C1,C2,C3,C4] ] Each element must be a non-empty mpl vector TYPE_GEN - a metafunction that generates a type from a vector of types, each of which can be selected from the corresponding vector in VEC_OF_VECS. For example, [A1, B2, C4]. More...

struct  boost::mpl::deref< concat_vector_iterator< VEC1, VEC2, K > >
 Dereferences a concat-vector iterator. More...
struct  boost::mpl::deref< cross_iterator< VEC_OF_VECS, TYPE_GEN, K > >
 Dereferences a cross-vector iterator

Creates a vector of the sizes of each type vector in VEC_OF_VECS, then uses it as a basis to represent the iterator's position K as a vector of indices. Extracts the corresponding type of each input vector and passes the element types to the type generation function, which returns the dereferenced type. More...

struct  boost::mpl::distance< concat_vector_iterator< VEC1, VEC2, K1 >, concat_vector_iterator< VEC1, VEC2, K2 > >
 Computes the distance between two concat-vector iterators. More...
struct  boost::mpl::distance< cross_iterator< V_OF_V, T_GEN, K1 >, cross_iterator< V_OF_V, T_GEN, K2 > >
 Computes the distance between two cross-vector iterator-s. More...
struct  boost::mpl::empty< concat_vector< VEC1, VEC2 > >
 Determines whether a concat vector is empty. More...
struct  boost::mpl::empty< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Determines whether a cross vector is empty. More...
struct  boost::mpl::end< concat_vector< VEC1, VEC2 > >
 Returns an iterator to the last element of a concat vector. More...
struct  boost::mpl::end< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Returns an iterator to the last element of a cross vector. More...
struct  boost::mpl::front< concat_vector< VEC1, VEC2 > >
 Returns the first element of a concat vector. More...
struct  boost::mpl::front< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Returns the first element of a cross vector. More...
struct  boost::mpl::mapping_vector< SRC_TYPES, DST_TYPES >
struct  boost::mpl::next< concat_vector_iterator< VEC1, VEC2, K > >
 Increments a concat-vector iterator. More...
struct  boost::mpl::next< cross_iterator< VEC_OF_VECS, TYPE_GEN, K > >
 Increments a cross-vector iterator. More...
struct  boost::mpl::prior< concat_vector_iterator< VEC1, VEC2, K > >
 Decrements a concat-vector iterator. More...
struct  boost::mpl::prior< cross_iterator< VEC_OF_VECS, TYPE_GEN, K > >
 Decrements a cross-vector iterator. More...
class  boost::mpl::detail::select_subvector_c< VEC_OF_VECS, N >
 Converts the basis of a number

Given a non-negative integer N, and a vector of vectors VEC_OF_VECS, returns a vector of size size<VEC_OF_VECS>, such that the i-th element of the returned vector is the j-th element of the i-th vector in VEC_OF_VECS, where the j-s comprise the representation of N as a number in which each digit has a different base - the size of the corresponding vector in VEC_OF_VECS. More...

struct  boost::mpl::size< concat_vector< VEC1, VEC2 > >
 Computes the size of a concat vector as the sum of the sizes of its input vectors. More...
struct  boost::mpl::size< cross_vector< VEC_OF_VECS, TYPE_GEN > >
 Computes the size of a cross vector as the product of the sizes of all vectors in VEC_OF_VECS. More...
struct  boost::mpl::size< mapping_vector< SRC_TYPES, DST_TYPES > >
struct  boost::mpl::transform< concat_vector< VEC1, VEC2 >, OP >
 Transforms the elements of a concat vector. More...
struct  boost::mpl::transform< cross_vector< VEC_OF_VECS, TYPE_GEN >, OPP >
 Transforms the elements of a cross vector. More...
struct  boost::mpl::transform< cross_vector< VEC_OF_VECS, TYPE_GEN >, OPP >::adapter
struct  boost::mpl::transform< cross_vector< VEC_OF_VECS, TYPE_GEN >, OPP >::adapter::apply< ELEMENTS >
struct  type_to_index< TYPES, T >
 Returns the index corresponding to a given type (or size if the type is not present). More...

Detailed Description

Author:
Lubomir Bourdev and Hailin Jin
Adobe Systems Incorporated

Definition in file type_vector.hpp.

Copyright © 2006 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google