BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslalg::ScalarPrimitives_Imp Struct Reference

#include <bslalg_scalarprimitives.h>

Public Types

enum  {
  e_USES_ALLOCATOR_ARG_T_TRAITS = 5 , e_USES_BSLMA_ALLOCATOR_TRAITS = 4 , e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS = 3 , e_BITWISE_COPYABLE_TRAITS = 2 ,
  e_BITWISE_MOVEABLE_TRAITS = 1 , e_NIL_TRAITS = 0
}
 

Static Public Member Functions

template<class TARGET_TYPE >
static TARGET_TYPE * unconst (const TARGET_TYPE *pointer)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void defaultConstruct (TARGET_TYPE *address, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *)
 
template<class TARGET_TYPE >
static void copyConstruct (TARGET_TYPE *address, const TARGET_TYPE &original, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *)
 
template<class TARGET_TYPE >
static void moveConstruct (TARGET_TYPE *address, TARGET_TYPE &original, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ALLOCATOR >
static void destructiveMove (TARGET_TYPE *address, TARGET_TYPE *original, ALLOCATOR *allocator, bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > *)
 
template<class TARGET_TYPE , class ALLOCATOR >
static void destructiveMove (TARGET_TYPE *address, TARGET_TYPE *original, ALLOCATOR *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, bslma::Allocator *allocator, bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *)
 
template<class TARGET_TYPE >
static void construct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, const ARG14 &a14, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *)
 
template<class TARGET_TYPE >
static void construct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, const ARG14 &a14, bslma::Allocator *allocator, bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *)
 
template<class TARGET_TYPE >
static void construct (TARGET_TYPE *address, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
static void construct (TARGET_TYPE *address, const ARG1 &a1, const ARG2 &a2, const ARG3 &a3, const ARG4 &a4, const ARG5 &a5, const ARG6 &a6, const ARG7 &a7, const ARG8 &a8, const ARG9 &a9, const ARG10 &a10, const ARG11 &a11, const ARG12 &a12, const ARG13 &a13, const ARG14 &a14, bslma::Allocator *allocator, bsl::integral_constant< int, e_NIL_TRAITS > *)
 
template<class LHS_TYPE , class RHS_TYPE >
static void swap (LHS_TYPE &lhs, RHS_TYPE &rhs, bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > *)
 
template<class LHS_TYPE , class RHS_TYPE >
static void swap (LHS_TYPE &lhs, RHS_TYPE &rhs, bsl::integral_constant< int, e_NIL_TRAITS > *)
 

Detailed Description

This struct provides a namespace for a suite of utility functions that operate on arrays of elements of a parameterized type TARGET_TYPE. These utility functions are only for the purpose of implementing those in the ScalarPrimitives utility, and should not be used outside this component.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
e_USES_ALLOCATOR_ARG_T_TRAITS 
e_USES_BSLMA_ALLOCATOR_TRAITS 
e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS 
e_BITWISE_COPYABLE_TRAITS 
e_BITWISE_MOVEABLE_TRAITS 
e_NIL_TRAITS 

Member Function Documentation

◆ construct() [1/46]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

Build an object of the parameterized TARGET_TYPE in the uninitialized memory at the specified address, passing the specified a1 up to a14 arguments of the corresponding parameterized ARG1 up to ARG14 types to the TARGET_TYPE constructor with the signature TARGET_TYPE(ARG1 const&, ...). The specified allocator is not passed through to the TARGET_TYPE constructor. The last argument is for overloading resolution only and is ignored.

◆ construct() [2/46]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

Build an object of the parameterized TARGET_TYPE in the uninitialized memory at the specified address, passing the specified a1 up to a14 arguments of the corresponding parameterized ARG1 up to ARG14 types to the TARGET_TYPE constructor with the signature 'TARGET_TYPE(bsl::allocator_arg_t, bslma::Allocator *, const ARG1&, ...)', and pass the specified allocator as the second argument. The last argument is for overloading resolution only and its value is ignored.

◆ construct() [3/46]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

Build an object of the parameterized TARGET_TYPE in the uninitialized memory at the specified address, passing the specified a1 up to a14 arguments of the corresponding parameterized ARG1 up to ARG14 types to the TARGET_TYPE constructor with the signature TARGET_TYPE(ARG1 const&, ..., bslma::Allocator *), and pass the specified allocator in the last position. The last argument is for overloading resolution only and its value is ignored.

◆ construct() [4/46]

template<class TARGET_TYPE , class ARG1 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
bslma::Allocator allocator,
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *   
)
inlinestatic

Build an object from the specified a1 in the uninitialized memory at the specified address. The specified allocator is ignored. Use the parameterized TARGET_TYPE constructor with the signature TARGET_TYPE(ARG1 const&) or bitwise copy for non-fundamental types. The traits argument is for overloading resolution only and is ignored. Note that this function is called only when ARG1 is the same as TARGET_TYPE.

◆ construct() [5/46]

template<class TARGET_TYPE , class ARG1 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [6/46]

template<class TARGET_TYPE , class ARG1 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [7/46]

template<class TARGET_TYPE , class ARG1 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [8/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [9/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [10/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [11/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [12/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [13/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [14/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [15/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [16/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [17/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [18/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [19/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [20/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [21/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [22/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [23/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [24/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [25/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [26/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [27/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [28/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [29/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [30/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [31/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [32/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [33/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [34/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [35/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [36/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [37/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [38/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [39/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [40/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [41/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [42/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [43/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ construct() [44/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
const ARG14 &  a14,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ construct() [45/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
const ARG14 &  a14,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

◆ construct() [46/46]

template<class TARGET_TYPE , class ARG1 , class ARG2 , class ARG3 , class ARG4 , class ARG5 , class ARG6 , class ARG7 , class ARG8 , class ARG9 , class ARG10 , class ARG11 , class ARG12 , class ARG13 , class ARG14 >
void bslalg::ScalarPrimitives_Imp::construct ( TARGET_TYPE *  address,
const ARG1 &  a1,
const ARG2 &  a2,
const ARG3 &  a3,
const ARG4 &  a4,
const ARG5 &  a5,
const ARG6 &  a6,
const ARG7 &  a7,
const ARG8 &  a8,
const ARG9 &  a9,
const ARG10 &  a10,
const ARG11 &  a11,
const ARG12 &  a12,
const ARG13 &  a13,
const ARG14 &  a14,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ copyConstruct() [1/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *   
)
inlinestatic

Build in the uninitialized memory at the specified address an object of the parameterized TARGET_TYPE that is a copy of the specified original object of the same TARGET_TYPE. Use the copy constructor of the TARGET_TYPE, or a bit-wise copy if TARGET_TYPE is a bit-wise copyable type. The last argument is for traits overloading resolution only and its value is ignored. Note that a bit-wise copy is appropriate only if TARGET_TYPE does not take allocators.

◆ copyConstruct() [2/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ copyConstruct() [3/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *   
)
inlinestatic

◆ copyConstruct() [4/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ copyConstruct() [5/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

Build in the uninitialized memory at the specified address an object of the parameterized TARGET_TYPE that is a copy of the specified original object of the same TARGET_TYPE, using the specified allocator to supply memory. Use the copy constructor of the TARGET_TYPE, or a bit-wise copy if TARGET_TYPE is a bit-wise copyable type. The last argument is for traits overloading resolution only and its value is ignored. Note that a bit-wise copy is appropriate only if TARGET_TYPE does not take allocators.

◆ copyConstruct() [6/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::copyConstruct ( TARGET_TYPE *  address,
const TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ defaultConstruct() [1/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > *   
)
inlinestatic

Build a TARGET_TYPE object in a default state in the uninitialized memory at the specified address. Use the default constructor of the parameterized TARGET_TYPE, or memset to 0 if TARGET_TYPE has a trivial default constructor. The last argument is for traits overloading resolution only and its value is ignored.

◆ defaultConstruct() [2/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ defaultConstruct() [3/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > *   
)
inlinestatic

◆ defaultConstruct() [4/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ defaultConstruct() [5/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

Build a TARGET_TYPE object in a default state in the uninitialized memory at the specified address, using the specified allocator to supply memory if TARGET_TYPE uses bslma allocators. Use the default constructor of the parameterized TARGET_TYPE, or memset to 0 if TARGET_TYPE has a trivial default constructor. The last argument is for traits overloading resolution only and its value is ignored.

◆ defaultConstruct() [6/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::defaultConstruct ( TARGET_TYPE *  address,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ destructiveMove() [1/2]

template<class TARGET_TYPE , class ALLOCATOR >
void bslalg::ScalarPrimitives_Imp::destructiveMove ( TARGET_TYPE *  address,
TARGET_TYPE *  original,
ALLOCATOR *  allocator,
bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > *   
)
inlinestatic

Build a copy of the specified original in the uninitialized memory at the specified address. Use the copy constructor of the parameterized TARGET_TYPE (or a bit-wise copy if TARGET_TYPE is bit-wise moveable). If TARGET_TYPE is not bit-wise moveable, also destroy the original. The last argument is for traits overloading resolution only and its value is ignored. Note that the specified allocator is not used.

◆ destructiveMove() [2/2]

template<class TARGET_TYPE , class ALLOCATOR >
void bslalg::ScalarPrimitives_Imp::destructiveMove ( TARGET_TYPE *  address,
TARGET_TYPE *  original,
ALLOCATOR *  allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ moveConstruct() [1/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *   
)
inlinestatic

Build in the uninitialized memory at the specified address an object of the parameterized TARGET_TYPE that is a move of the specified original object of the same TARGET_TYPE. Use the move constructor of the TARGET_TYPE, or a bit-wise copy if TARGET_TYPE is a bit-wise copyable type (bit-wise copyable, NOT bit-wise moveable, which relates to destructive bit-wise move). The last argument is for traits overloading resolution only and its value is ignored. In C++03 mode, moveConstruct has the same effect as copyConstruct.

◆ moveConstruct() [2/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ moveConstruct() [3/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > *   
)
inlinestatic

◆ moveConstruct() [4/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
inlinestatic

◆ moveConstruct() [5/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > *   
)
inlinestatic

Build in the uninitialized memory at the specified address an object of the parameterized TARGET_TYPE that is a move of the specified original object of the same TARGET_TYPE, using the specified allocator to supply memory. Use the move constructor of the TARGET_TYPE, or a bit-wise copy if TARGET_TYPE is a bit-wise copyable type (not a bit-wise moveable type, which indicates a destructive bit-wise move). The last argument is for traits overloading resolution only and its value is ignored. Note that a bit-wise copy is used only if TARGET_TYPE does not take allocators. In C++03 mode, moveConstruct has the same effect as copyConstruct.

◆ moveConstruct() [6/6]

template<class TARGET_TYPE >
void bslalg::ScalarPrimitives_Imp::moveConstruct ( TARGET_TYPE *  address,
TARGET_TYPE &  original,
bslma::Allocator allocator,
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > *   
)
inlinestatic

◆ swap() [1/2]

template<class LHS_TYPE , class RHS_TYPE >
void bslalg::ScalarPrimitives_Imp::swap ( LHS_TYPE &  lhs,
RHS_TYPE &  rhs,
bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > *   
)
static

Swap the contents of the specified lhs object of the parameterized LHS_TYPE with the specified rhs object of the parameterized RHS_TYPE. Use a three-way bit-wise copy (with a temporary uninitialized buffer), if LHS_TYPE and RHS_TYPE are the same bit-wise moveable type, and a three-way assignment with a temporary if not. The last argument is for overloading resolution only and is ignored.

◆ swap() [2/2]

template<class LHS_TYPE , class RHS_TYPE >
void bslalg::ScalarPrimitives_Imp::swap ( LHS_TYPE &  lhs,
RHS_TYPE &  rhs,
bsl::integral_constant< int, e_NIL_TRAITS > *   
)
static

◆ unconst()

template<class TARGET_TYPE >
TARGET_TYPE * bslalg::ScalarPrimitives_Imp::unconst ( const TARGET_TYPE *  pointer)
inlinestatic

Return the const-unqualified value of the specified pointer. This function resolves into a const_cast and therefore has no runtime cost, it exists only for template argument deduction.


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