#include "dcmtk/ofstd/ofutil.h"
  
Tools for in-place construction of objects, e.g. certain OFvariant alternatives.    
| 
 | 
| typedef unspecified | OFin_place_t | 
|  | A type for tagging an in-place constructor as such. More... | 
|  | 
| template<typename T> | 
| typedef unspecified | OFin_place_type_t(T) | 
|  | A type for tagging an in-place constructor for a certain type as such. More... | 
|  | 
| template<size_t I> | 
| typedef unspecified | OFin_place_index_t(I) | 
|  | A type for tagging an in-place constructor based on a certain index as such. More... | 
|  | 
   typedef unspecified OFin_place_t 
    
A type for tagging an in-place constructor as such.
 
Usage Example:template<typename T>
class Wrapper
{
public:
  
  Wrapper( const T& t );
 
  
  
  
  template<typename... Arguments>
  Wrapper( OFin_place_t, Arguments... arguments );
 
private:
  
};
    
  template<typename T>
  typedef unspecified OFin_place_type_t(T) 
    
A type for tagging an in-place constructor for a certain type as such. 
 
- Template Parameters
- T the type this in-pace constructor handles, i.e. the type that will be constructed. 
- Note
- Pre C++11 compilers do not support alias templates, therefore, OFin_place_type_t is implemented using preprocessor macros internally. This is why you need to use curved brackets instead of angled ones.
Usage Example:template<typename A,typename B>
class Union
{
public:
  
  Union( const A& a );
 
  
  Union( const B& b );
 
  
  
  
  template<typename... Arguments>
  Union( OFin_place_type_t(A), Arguments... arguments );
 
  
  
  
  template<typename... Arguments>
  Union( OFin_place_type_t(B), Arguments... arguments );
 
private:
  
};
    
  template<size_t I>
  typedef unspecified OFin_place_index_t(I) 
    
A type for tagging an in-place constructor for a certain index as such.
 
- Template Parameters
- I the index this in-pace constructor handles, i.e. the zero based index of the type that will be constructed.  
- Note
- Pre C++11 compilers do not support alias templates, therefore, OFin_place_index_t is implemented using preprocessor macros internally. This is why you need to use curved brackets instead of angled ones.
Usage Example:template<typename A,typename B>
class Union
{
public:
  
  Union( const A& a );
 
  
  Union( const B& b );
 
  
  
  
  
  template<typename... Arguments>
  Union( OFin_place_index_t(0), Arguments... arguments );
 
  
  
  
  
  template<typename... Arguments>
  Union( OFin_place_index_t(1), Arguments... arguments );
 
private:
  
};
    
   
A constant of type 
OFin_place_t that may be used for in-place construction.
 
Usage Example:
 template<typename T>
class Wrapper; 
Wrapper<OFString>( "Hello World" );
Wrapper<OFString>( OFin_place, "Hello World" );
Wrapper<OFString>( OFin_place, "Hello World", 5 );
    
   
A constant of type 
OFin_place_type_t(T) that may be used for in-place construction.
 
- Template Parameters
- T the type for selecting an in-pace constructor, i.e. the type that will be constructed. 
Usage Example:template<typename A,typename B>
class Union; 
Union<int,OFString>( 
OFString( 
"Hello World" ) );
Union<int,OFString>( OFin_place<OFString>, "Hello World", 5 );
Union<int,OFString>( OFin_place<int>, "Hello World" );
a simple string class that implements a subset of std::string.
Definition ofstring.h:76
    
   
A constant of type 
OFin_place_index_t(I) that may be used for in-place construction.
 
- Template Parameters
- I the index for selecting an in-pace constructor, i.e. the zero based index of the type that will be constructed.  
Usage Example:template<typename A,typename B>
class Union; 
Union<int,int>( 3 );
Union<int,int>( OFin_place<0>, 3 );
Union<int,int>( OFin_place<1>, 3 );