Quick Links: |
#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 > *) |
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.
See Component bslalg_scalarprimitives
anonymous enum |
These constants are used in the overloads below, when the last argument is of type bsl::integral_constant<int, N> *
, indicating that TARGET_TYPE
has the traits for which the enumerator equal to N
is named.
TARGET_TYPE * bslalg::ScalarPrimitives_Imp::unconst | ( | const TARGET_TYPE * | pointer | ) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
Referenced by bslalg::ScalarPrimitives::defaultConstruct(), and defaultConstruct().
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > * | ||||
) | [inline, static] |
References defaultConstruct().
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bsl::integral_constant< int, e_HAS_TRIVIAL_DEFAULT_CTOR_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::defaultConstruct | ( | TARGET_TYPE * | address, | |
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
Referenced by bslalg::ScalarPrimitives::copyConstruct().
void bslalg::ScalarPrimitives_Imp::copyConstruct | ( | TARGET_TYPE * | address, | |
const TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::copyConstruct | ( | TARGET_TYPE * | address, | |
const TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > * | ||||
) | [inline, static] |
References BSLS_UTIL_ADDRESSOF.
void bslalg::ScalarPrimitives_Imp::copyConstruct | ( | TARGET_TYPE * | address, | |
const TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::copyConstruct | ( | TARGET_TYPE * | address, | |
const TARGET_TYPE & | original, | |||
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > * | ||||
) | [inline, static] |
References BSLS_UTIL_ADDRESSOF.
void bslalg::ScalarPrimitives_Imp::copyConstruct | ( | TARGET_TYPE * | address, | |
const TARGET_TYPE & | original, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > * | ||||
) | [inline, static] |
References bsl::allocator_arg, and bslmf::MovableRefUtil::move().
Referenced by destructiveMove(), and bslalg::ScalarPrimitives::moveConstruct().
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > * | ||||
) | [inline, static] |
References bslmf::MovableRefUtil::move().
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > * | ||||
) | [inline, static] |
References BSLS_UTIL_ADDRESSOF.
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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
.
References bslmf::MovableRefUtil::move().
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > * | ||||
) | [inline, static] |
References BSLS_UTIL_ADDRESSOF.
void bslalg::ScalarPrimitives_Imp::moveConstruct | ( | TARGET_TYPE * | address, | |
TARGET_TYPE & | original, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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
.
References bslmf::MovableRefUtil::move().
void bslalg::ScalarPrimitives_Imp::destructiveMove | ( | TARGET_TYPE * | address, | |
TARGET_TYPE * | original, | |||
ALLOCATOR * | allocator, | |||
bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > * | ||||
) | [inline, static] |
Referenced by bslalg::ScalarPrimitives::destructiveMove().
void bslalg::ScalarPrimitives_Imp::destructiveMove | ( | TARGET_TYPE * | address, | |
TARGET_TYPE * | original, | |||
ALLOCATOR * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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.
References moveConstruct().
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
const ARG1 & | a1, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_BITWISE_COPYABLE_TRAITS > * | ||||
) | [inline, static] |
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
.
References BSLMF_ASSERT(), and BSLS_UTIL_ADDRESSOF.
Referenced by bslalg::ScalarPrimitives::construct().
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
const ARG1 & | a1, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_ALLOCATOR_ARG_T_TRAITS > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
References bsl::allocator_arg.
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 > * | ||||
) | [inline, static] |
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.
References bsl::allocator_arg.
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
const ARG1 & | a1, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_USES_BSLMA_ALLOCATOR_TRAITS > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
const ARG1 & | a1, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
void bslalg::ScalarPrimitives_Imp::construct | ( | TARGET_TYPE * | address, | |
const ARG1 & | a1, | |||
const ARG2 & | a2, | |||
bslma::Allocator * | allocator, | |||
bsl::integral_constant< int, e_NIL_TRAITS > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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 > * | ||||
) | [inline, static] |
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.
void bslalg::ScalarPrimitives_Imp::swap | ( | LHS_TYPE & | lhs, | |
RHS_TYPE & | rhs, | |||
bsl::integral_constant< int, e_BITWISE_MOVEABLE_TRAITS > * | ||||
) | [static] |
References BSLS_UTIL_ADDRESSOF.
Referenced by bslalg::ScalarPrimitives::swap().
void bslalg::ScalarPrimitives_Imp::swap | ( | LHS_TYPE & | lhs, | |
RHS_TYPE & | rhs, | |||
bsl::integral_constant< int, e_NIL_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.