8#ifndef HPP_ALIB_BOXING_FUNCTIONS
9#define HPP_ALIB_BOXING_FUNCTIONS 1
11#if !defined(HPP_ALIB_BOXING_BOXING)
12# error "ALib sources with ending '.inl' must not be included from outside."
15namespace alib {
namespace boxing {
146 template<
typename TComparable>
152 template<
typename TComparable>
157 template<
typename TComparable>
164#define ALIB_BOXING_DEFINE_FEQUALS_FOR_COMPARABLE_TYPE( TComparable ) \
165alib::boxing::BootstrapRegister< FEquals, \
166 alib::boxing::TMappedTo<TComparable >>(FEquals::ComparableTypes<TComparable>); \
265 template<
typename TComparable>
278#define ALIB_BOXING_DEFINE_FISLESS_FOR_COMPARABLE_TYPE( TComparable ) \
279alib::boxing::BootstrapRegister< FIsLess, \
280 alib::boxing::TMappedTo<TComparable >>(FIsLess::ComparableTypes<TComparable>); \
284}
namespace monomem {
template<
typename TAllocator>
class TMonoAllocator;; }
408template<
typename TChar,
typename TAllocator>
447 template<
typename TAppendable>
472 template<
typename TAppendable>
478#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE(TAppendable) \
479alib::boxing::BootstrapRegister<FAppend<character, alib::lang::HeapAllocator>, alib::boxing::TMappedTo<TAppendable>> \
480 (alib::boxing::FAppend<character, alib::lang::HeapAllocator>::Appendable<TAppendable>);
482#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_N(TAppendable) \
483alib::boxing::BootstrapRegister<FAppend<nchar , alib::lang::HeapAllocator>, alib::boxing::TMappedTo<TAppendable>> \
484 (alib::boxing::FAppend<nchar , alib::lang::HeapAllocator>::Appendable<TAppendable>);
486#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_W(TAppendable) \
487alib::boxing::BootstrapRegister<FAppend<wchar , alib::lang::HeapAllocator>, alib::boxing::TMappedTo<TAppendable>> \
488 (alib::boxing::FAppend<wchar , alib::lang::HeapAllocator>::Appendable<TAppendable>);
490#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_X(TAppendable) \
491alib::boxing::BootstrapRegister<FAppend<xchar , alib::lang::HeapAllocator>, alib::boxing::TMappedTo<TAppendable>> \
492 (alib::boxing::FAppend<xchar , alib::lang::HeapAllocator>::Appendable<TAppendable>);
#define ATMP_VOID_IF(Cond)
#define ATMP_T_IF(T, Cond)
static void WrappedAppendable(const Box &self, strings::TAString< TChar, TAllocator > &target)
void(*)(const Box &self, strings::TAString< TChar, TAllocator > &target) Signature
static void Appendable(const Box &self, strings::TAString< TChar, TAllocator > &target)
void(*)(boxing::Box &self, MonoAllocator &allocator) Signature
bool(*)(const Box &self, const Box &rhs) Signature
static bool ComparableTypes(const Box &self, const Box &rhs)
size_t(*)(const Box &self) Signature
static size_t UsePlaceholderBytes(const Box &self)
bool(*)(const Box &self, const Box &rhs) Signature
static bool ComparableTypes(const Box &self, const Box &rhs)
static ALIB_API bool ConstantTrue(const Box &)
bool(*)(const Box &self) Signature
bool(*)(const Box &self) Signature