STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... ATLSTL - Template Software for the Active Template Library COMSTL - The Standard Template Library meets the Component Object Model .netSTL - Standard Template Library meets the Microsoft.NET Common Language Runtime InetSTL - The Standard Template Library meets WinInet MFCSTL - Template Software for the Microsoft Foundation Classes UNIXSTL - Template Software for the UNIX Operating System WinSTL - where the Standard Template Library meets the Win32 API

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

associative_container_veneer Class Template Reference

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

#include <stlsoft_associative_container_veneer.h>

List of all members.

Public Types

typedef T container_type
 The container type.

typedef FV value_destruction_function_type
 The function object type applied to the container's values.

typedef FK key_destruction_function_type
 The function object type 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 Methods

 associative_container_veneer ()
 Default constructor.

 associative_container_veneer (class_type const &rhs)
 Copy constructor.

 associative_container_veneer (const key_compare &comp)
 Constructs with the given predicate.

 associative_container_veneer (const key_compare &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 ()
 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 Methods

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.


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 object type applied to the values of the container
FK  The function object type applied to the keys of the container. For translators that support default template arguments this defaults to noop_function<T::key_type>


Member Typedef Documentation

typedef parent_class_type::allocator_type allocator_type
 

The container's allocator_type type.

typedef associative_container_veneer<T, FV, FK> class_type
 

The current parameterisation of the type.

typedef T container_type
 

The container type.

typedef parent_class_type::key_compare key_compare
 

The container's key_compare type.

typedef FK key_destruction_function_type
 

The function object type applied to the container's keys.

typedef parent_class_type::size_type size_type
 

The container's size_type type.

typedef FV value_destruction_function_type
 

The function object type applied to the container's values.


Constructor & Destructor Documentation

associative_container_veneer   [inline]
 

Default constructor.

associative_container_veneer class_type const &    rhs [inline]
 

Copy constructor.

associative_container_veneer const key_compare   comp [inline, explicit]
 

Constructs with the given predicate.

associative_container_veneer const key_compare   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   [inline]
 

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


Member Function Documentation

void operator delete void *    [inline, protected]
 

Hidden in accordance with the constraints of the veneer concept.

void* operator new size_t    [inline, protected]
 

Hidden in accordance with the constraints of the veneer concept.

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


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

STLSoft Libraries documentation © Synesis Software Pty Ltd, 2001-2004