associative_container_veneer Class Template Reference
[Collections Library]

#include <stlsoft/collections/associative_container_veneer.hpp>

Inheritance diagram for associative_container_veneer:

stl_collection_tag collection_tag

List of all members.


Detailed Description

template<typename T, typename FV, typename FK = noop_function< typename T::key_type>>
class stlsoft::associative_container_veneer< T, FV, FK >

Applies per-item functions to an associative container's items at its destruction.

Parameters:
T The sequence container type
FV The function class applied to the values of the container
FK The function class applied to the keys of the container. For translators that support default template arguments this defaults to noop_function<T::key_type>

Public Types

typedef T container_type
 The container type.
typedef FV value_destruction_function_type
 The function class applied to the container's values.
typedef FK key_destruction_function_type
 The function class applied to the container's keys.
typedef
associative_container_veneer
< T, FV, FK > 
class_type
 The current parameterisation of the type.
typedef
parent_class_type::key_compare 
key_compare
 The container's key_compare type.
typedef
parent_class_type::allocator_type 
allocator_type
 The container's allocator_type type.
typedef
parent_class_type::size_type 
size_type
 The container's size_type type.

Public Member Functions

 associative_container_veneer ()
 Default constructor.
 associative_container_veneer (class_type const &rhs)
 Copy constructor.
 associative_container_veneer (key_compare const &comp)
 Constructs with the given predicate.
 associative_container_veneer (key_compare const &comp, allocator_type const &a)
 Constructs with the given predicate and allocator.
template<typename I>
 associative_container_veneer (I i1, I i2)
 Constructs from a range.
template<typename I>
 associative_container_veneer (I i1, I i2, key_compare const &comp)
 Constructs from a range, with the given predicate.
template<typename I>
 associative_container_veneer (I i1, I i2, key_compare const &comp, allocator_type const &a)
 Constructs from a range, with the given predicate and allocator.
 ~associative_container_veneer () throw ()
 Destructor, within which all remaining entries are subject to the key and value destruction functions.
class_typeoperator= (class_type const &rhs)
 Copy assignment operator.

Protected Member Functions

void * operator new (size_t)
 Hidden in accordance with the constraints of the veneer concept.
void operator delete (void *)
 Hidden in accordance with the constraints of the veneer concept.

Member Typedef Documentation

typedef T container_type

The container type.

The function class applied to the container's values.

The function class applied to the container's keys.

The current parameterisation of the type.

typedef parent_class_type::key_compare key_compare

The container's key_compare type.

typedef parent_class_type::allocator_type allocator_type

The container's allocator_type type.

typedef parent_class_type::size_type size_type

The container's size_type type.


Constructor & Destructor Documentation

associative_container_veneer (  )  [inline]

Default constructor.

associative_container_veneer ( class_type const &  rhs  )  [inline]

Copy constructor.

associative_container_veneer ( key_compare const &  comp  )  [inline, explicit]

Constructs with the given predicate.

associative_container_veneer ( key_compare const &  comp,
allocator_type const &  a 
) [inline]

Constructs with the given predicate and allocator.

associative_container_veneer ( i1,
i2 
) [inline]

Constructs from a range.

associative_container_veneer ( i1,
i2,
key_compare const &  comp 
) [inline]

Constructs from a range, with the given predicate.

associative_container_veneer ( i1,
i2,
key_compare const &  comp,
allocator_type const &  a 
) [inline]

Constructs from a range, with the given predicate and allocator.

~associative_container_veneer (  )  throw () [inline]

Destructor, within which all remaining entries are subject to the key and value destruction functions.

References ss_typename_type_k.


Member Function Documentation

class_type& operator= ( class_type const &  rhs  )  [inline]

Copy assignment operator.

This method is provided in case the parameterising class provides the operator. If it does not, then the compiler will ignore it unless a call is made to it, in which case an error would have been reported anyway

void* operator new ( size_t   )  [inline, protected]

Hidden in accordance with the constraints of the veneer concept.

void operator delete ( void *   )  [inline, protected]

Hidden in accordance with the constraints of the veneer concept.


The documentation for this class was generated from the following file:

Generated on Thu Jun 10 08:58:39 2010 for STLSoft by  doxygen 1.5.6