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  

conversion_veneer Class Template Reference

This class allows policy-based control of the four conversions: pointer, non-mutable pointer, reference, non-mutable reference. More...

#include <stlsoft_conversion_veneer.h>

List of all members.

Public Types

typedef T parent_class_type
 The parent class type.

typedef C conversion_type
 The conversion type.

typedef V value_type
 The value type.

typedef P::pointer_conversion pointer_conversion_type
 The pointer conversion type.

typedef R::reference_conversion reference_conversion_type
 The reference conversion type.

typedef PC::pointer_const_conversion pointer_const_conversion_type
 The pointer-to-const conversion type.

typedef RC::reference_const_conversion reference_const_conversion_type
 The reference-to-const conversion type.

typedef conversion_veneer<
T, C, V, P, R, PC, RC > 
class_type
 The current parameterisation of the type.


Public Methods

 conversion_veneer ()
 The default constructor.

 conversion_veneer (class_type const &rhs)
 The copy constructor.

 conversion_veneer (value_type const &rhs)
 Initialise from a value.

template<typename N1>  conversion_veneer (N1 &n1)
 Single parameter constructor.

template<typename N1>  conversion_veneer (N1 *n1)
 Single parameter constructor.

template<typename N1, typename N2>  conversion_veneer (N1 n1, N2 n2)
 Two parameter constructor.

template<typename N1, typename N2, typename N3>  conversion_veneer (N1 n1, N2 n2, N3 n3)
 Three parameter constructor.

template<typename N1, typename N2, typename N3, typename N4>  conversion_veneer (N1 n1, N2 n2, N3 n3, N4 n4)
 Four parameter constructor.

template<typename N1, typename N2, typename N3, typename N4, typename N5>  conversion_veneer (N1 n1, N2 n2, N3 n3, N4 n4, N5 n5)
 Five parameter constructor.

template<typename N1, typename N2, typename N3, typename N4, typename N5, typename N6>  conversion_veneer (N1 n1, N2 n2, N3 n3, N4 n4, N5 n5, N6 n6)
 Six parameter constructor.

template<typename N1, typename N2, typename N3, typename N4, typename N5, typename N6, typename N7>  conversion_veneer (N1 n1, N2 n2, N3 n3, N4 n4, N5 n5, N6 n6, N7 n7)
 Seven parameter constructor.

template<typename N1, typename N2, typename N3, typename N4, typename N5, typename N6, typename N7, typename N8>  conversion_veneer (N1 n1, N2 n2, N3 n3, N4 n4, N5 n5, N6 n6, N7 n7, N8 n8)
 Eight parameter constructor.

class_typeoperator= (class_type const &rhs)
 Copy assignment operator.

class_typeoperator= (value_type const &rhs)
 Copy from a value.

template<typename T1> class_typeoperator= (T1 rhs)
 Copy from a value.

 operator conversion_type & ()
 Implicit conversion to a reference to the conversion_type.

 operator conversion_type const & () const
 Implicit conversion to a reference-to-const to the conversion_type.

conversion_typeoperator & ()
 Address-of operator, returning a pointer to the conversion type.

conversion_type const * operator & () const
 Address-of operator, returning a pointer-to-const to the conversion type.


Detailed Description

template<typename T, typename C, typename V = T, typename P = invalid_conversion<T, C>, typename R = invalid_conversion<T, C>, typename PC = P, typename RC = R>
class stlsoft::conversion_veneer< T, C, V, P, R, PC, RC >

This class allows policy-based control of the four conversions: pointer, non-mutable pointer, reference, non-mutable reference.

Parameters:
T  The type that will be subjected to the veneer
C  The type that T will be converted to
V  The value type. On translators that support default template arguments this defaults to T.
P  The type that controls the pointer conversion
R  The type that controls the reference conversion
PC  The type that controls the pointer-to-const conversion
RC  The type that controls the reference-to-const conversion


Member Typedef Documentation

typedef conversion_veneer<T, C, V, P, R, PC, RC> class_type
 

The current parameterisation of the type.

typedef C conversion_type
 

The conversion type.

typedef T parent_class_type
 

The parent class type.

typedef PC::pointer_const_conversion pointer_const_conversion_type
 

The pointer-to-const conversion type.

typedef P::pointer_conversion pointer_conversion_type
 

The pointer conversion type.

typedef RC::reference_const_conversion reference_const_conversion_type
 

The reference-to-const conversion type.

typedef R::reference_conversion reference_conversion_type
 

The reference conversion type.

typedef V value_type
 

The value type.


Constructor & Destructor Documentation

conversion_veneer   [inline]
 

The default constructor.

conversion_veneer class_type const &    rhs [inline]
 

The copy constructor.

conversion_veneer value_type const &    rhs [inline]
 

Initialise from a value.

conversion_veneer N1 &    n1 [inline, explicit]
 

Single parameter constructor.

conversion_veneer N1 *    n1 [inline, explicit]
 

Single parameter constructor.

conversion_veneer N1    n1,
N2    n2
[inline]
 

Two parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3
[inline]
 

Three parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3,
N4    n4
[inline]
 

Four parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3,
N4    n4,
N5    n5
[inline]
 

Five parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3,
N4    n4,
N5    n5,
N6    n6
[inline]
 

Six parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3,
N4    n4,
N5    n5,
N6    n6,
N7    n7
[inline]
 

Seven parameter constructor.

conversion_veneer N1    n1,
N2    n2,
N3    n3,
N4    n4,
N5    n5,
N6    n6,
N7    n7,
N8    n8
[inline]
 

Eight parameter constructor.


Member Function Documentation

conversion_type const* operator &   const [inline]
 

Address-of operator, returning a pointer-to-const to the conversion type.

conversion_type* operator &   [inline]
 

Address-of operator, returning a pointer to the conversion type.

operator conversion_type &   [inline]
 

Implicit conversion to a reference to the conversion_type.

operator conversion_type const &   const [inline]
 

Implicit conversion to a reference-to-const to the conversion_type.

class_type& operator= T1    rhs [inline]
 

Copy from a value.

class_type& operator= value_type const &    rhs [inline]
 

Copy from a value.

class_type& operator= class_type const &    rhs [inline]
 

Copy assignment operator.


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

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