|
VMS Help CXXLSTD, Iterators, value_type *Conan The Librarian |
Standard C++ Library
Copyright 1996, Rogue Wave Software, Inc.
NAME
value_type - Determine the type of value an iterator points to.
This function is now obsolete. It is retained in order to
provide backward compatibility and support compilers that do not
provide partial specialization.
SYNOPSIS
#include <iterator>
template <class T, class Distance>
inline T* value_type (const input_iterator<T, Distance>&)
template <class T, class Distance>
inline T* value_type (const forward_iterator<T, Distance>&)
template <class T, class Distance>
inline T* value_type (const bidirectional_iterator<T, Distance>&)
template <class T, class Distance>
inline T* value_type (const random_access_iterator<T, Distance>&)
template <class T>
inline T* value_type (const T*)
DESCRIPTION
The value_type function template returns a pointer to a default
value of the type pointed to by an iterator. Five overloaded
versions of this function template handle the four basic
iterator types and simple arrays. Each of the first four take
an iterator of a specific type, and return the value used to
instantiate the iterator. The fifth version takes and returns a T*
in order to handle the case when an iterator is a simple pointer.
This family of function templates can be used to extract a value
type from an iterator and subsequently use that type to create
a local variable. Typically the value_type functions are used
like this:
template <class Iterator>
void foo(Iterator first, Iterator last)
{
__foo(begin,end,value_type(first));
}
template <class Iterator, class T>
void __foo(Iterator first, Iterator last, T*>
{
T temp = *first;
_
}
The auxiliary function __foo extracts a usable value type from the
iterator and then puts the type to work.
SEE ALSO
Other iterator primitives: distance_type, iterator_category,
distance, advance
STANDARDS CONFORMANCE
ANSI X3J16/ISO WG21 Joint C++ Committee
|
|