ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Classes | Functions
aworx::lib::boxing::compatibility::std Namespace Reference

This namespace documents compatibility features of ALib Boxing and the standard C++ class library found in namespace std.

Classes

struct  equal_to< aworx::lib::boxing::Box >
 
struct  equal_to< aworx::lib::boxing::Enum >
 
struct  hash< aworx::lib::boxing::Box >
 
struct  hash< aworx::lib::boxing::Enum >
 
struct  less< aworx::lib::boxing::Box >
 
struct  less< aworx::lib::boxing::Enum >
 
struct  T_Boxer< std::array< TElement, N >, ATMP_VOID_IF(!characters::TT_IsChar< TElement >::value) >
 
struct  T_Boxer< std::vector< TElement >, ATMP_VOID_IF(!characters::TT_IsChar< TElement >::value) >
 

Functions

void BootstrapStdStringBoxing ()
 
template<typename TElement >
void CopyToVector (::std::vector< TElement > &target, const Box &box)
 

Function Documentation

◆ BootstrapStdStringBoxing()

void BootstrapStdStringBoxing ( )
inline

Initializes ALib Boxing in respect to std::string-types.

This method is not automatically invoked with ALibDistribution::Bootstrap, because support for boxing std::string-types is optional and provided with the inclusion of header alib/compatibility/std_boxing.hpp.

In general boxing of std::string-types works well without the one-time invocation of this function at the bootstrap of a process. This method registers box-function FAppend for std::string-types types when custom boxing is bypassed by wrapping the types in std::reference_wrapper<T>. The function is implemented with the help of FAppend::WrappedAppendable for wrapped std::string-types, each for character types nchar and wchar.

Note
If invoked after bootstrap and module ALib Memory is included in the ALib Distribution, mutex GlobalAllocatorLock has to be locked prior to an invocation.

Definition at line 197 of file std_boxing.hpp.

◆ CopyToVector()

void aworx::lib::boxing::compatibility::std::CopyToVector ( ::std::vector< TElement > &  target,
const Box box 
)
inline

Creates a deep copy of a boxed C++ array type by appending its contents to a given std::vector of corresponding element type.
Note that no type checks are performed on the given box.

Template Parameters
TElementThe element type.
Parameters
targetThe target vector to fill.
boxThe source box of type TElement[].

Definition at line 166 of file std_boxing.hpp.

Here is the call graph for this function: