10#ifndef HPP_ALIB_COMPATIBILITY_STD_BOXING
11#define HPP_ALIB_COMPATIBILITY_STD_BOXING
13#if !defined(HPP_ALIB) && !defined(ALIB_DOX)
19#if !defined(HPP_ALIB_COMPATIBILITY_STD_CHARACTERS)
23#if !defined(HPP_ALIB_BOXING_BOXING)
27#if !defined(_GLIBCXX_FUNCTIONAL) && !defined(_FUNCTIONAL_)
32namespace alib {
namespace boxing {
42namespace compatibility {
72template<
typename TElement,
size_t N>
116DOX_MARKER([DOX_ALIB_BOXING_CUSTOM_VECTOR])
117template<
typename TElement>
130 target.
Write( value.data(),
static_cast<integer>( value.size() ) );
139DOX_MARKER([DOX_ALIB_BOXING_CUSTOM_VECTOR])
153namespace compatibility {
namespace std {
164DOX_MARKER([DOX_ALIB_BOXING_SAMPLE_ARR_UNBOX_VECTOR_IMPLEMENTATION])
165template<
typename TElement>
168 target.reserve( target.size() +
static_cast<size_t>( box.
UnboxLength() ) );
172DOX_MARKER([DOX_ALIB_BOXING_SAMPLE_ARR_UNBOX_VECTOR_IMPLEMENTATION])
207 #if ALIB_STRINGS && ALIB_BOXING
214 #if ALIB_SIZEOF_WCHAR_T == 4
integer UnboxLength() const
TElementType & UnboxElement(integer idx) const
#define ALIB_ASSERT_MODULE(modulename)
#define ATMP_VOID_IF(Cond)
void BootstrapStdStringBoxing()
void CopyToVector(::std::vector< TElement > &target, const Box &box)
lang::integer integer
Type alias in namespace alib.
static void Read(const Placeholder &src)
static void Write(Placeholder &target, const std::array< TElement, N > &value)
static void Read(const Placeholder &src)
static void Write(Placeholder &target, const std::vector< TElement > &value)
void Write(const TMapped &value)