lite::iterator_transformer< transform_type_, input_iterator_type_, input_size_type_ > Struct Template Reference
[Array Internals (Advanced)]

This can be used to apply a transform object of type transform_type_ to a pair of iterator object and size object respectively of types input_size_type_ and input_size_type_. More...

#include <array.hpp>

List of all members.

Static Public Member Functions

static void transform (const input_iterator_type &org, iterator_type &res)
 Apply the transform to the iterator object org and store the result in res.
static void transform (const transform_type_ &trans, const input_iterator_type &org, iterator_type &res)
 Apply the transform object trans to the iterator object org and store the result in res.
static void transform (const transform_type_ &trans, const input_iterator_type &org, const input_size_type_ &sz, iterator_type &res)
 Apply the transform object trans to the iterator object org that is used together with size object sz and store the result in res.

Public Attributes

typedef iterator_type
 The type of the resulting iterator object after applying the transform.

Detailed Description

template<typename transform_type_, typename input_iterator_type_, typename input_size_type_>
struct lite::iterator_transformer< transform_type_, input_iterator_type_, input_size_type_ >

This can be used to apply a transform object of type transform_type_ to a pair of iterator object and size object respectively of types input_size_type_ and input_size_type_.

See Defining New Transforms for more information and examples.


Member Function Documentation

template<typename transform_type_ , typename input_iterator_type_ , typename input_size_type_ >
static void lite::iterator_transformer< transform_type_, input_iterator_type_, input_size_type_ >::transform ( const transform_type_ &  trans,
const input_iterator_type &  org,
iterator_type res 
) [static]

Apply the transform object trans to the iterator object org and store the result in res.

Remarks:
This overload of the transform() function is optional. Not all transforms provide this overload. It is recommended that you provide this overloaded version if a size object is not required (e.g. like all the predefined transforms).
template<typename transform_type_ , typename input_iterator_type_ , typename input_size_type_ >
static void lite::iterator_transformer< transform_type_, input_iterator_type_, input_size_type_ >::transform ( const input_iterator_type &  org,
iterator_type res 
) [static]

Apply the transform to the iterator object org and store the result in res.

Remarks:
This overload of the transform() function is optional. Not all transforms provide this overload. It is recommended that you provide this overloaded version if an actual transform object does not carry any information required for applying the transform and also a size object is not required (e.g. like lite::transpose).

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Defines

Generated on Fri Nov 6 02:03:21 2009 for Lite by  doxygen 1.6.0