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 {
136 #if defined(ALIB_DOX)
157 template<
typename TComparable>
163 template<
typename TComparable>
168 template<
typename TComparable>
175#define ALIB_BOXING_DEFINE_FEQUALS_FOR_COMPARABLE_TYPE( TComparable ) \
176alib::boxing::BootstrapRegister< FEquals, \
177 alib::boxing::TMappedTo<TComparable >>(FEquals::ComparableTypes<TComparable>); \
258 #if defined(ALIB_DOX)
280 template<
typename TComparable>
293#define ALIB_BOXING_DEFINE_FISLESS_FOR_COMPARABLE_TYPE( TComparable ) \
294alib::boxing::BootstrapRegister< FIsLess, \
295 alib::boxing::TMappedTo<TComparable >>(FIsLess::ComparableTypes<TComparable>); \
299}
namespace monomem {
class MonoAllocator; }
namespace boxing {
426template<
typename TChar>
438 #if defined(ALIB_DOX)
469 template<
typename TAppendable>
496 template<
typename TAppendable>
502#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE(TAppendable) \
503alib::boxing::BootstrapRegister<FAppend<character>, alib::boxing::TMappedTo<TAppendable>>\
504 (alib::boxing::FAppend<character>::Appendable<TAppendable>); \
506#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_N(TAppendable) \
507alib::boxing::BootstrapRegister<FAppend<nchar >, alib::boxing::TMappedTo<TAppendable>>\
508 (alib::boxing::FAppend<nchar >::Appendable<TAppendable>); \
510#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_W(TAppendable) \
511alib::boxing::BootstrapRegister<FAppend<wchar >, alib::boxing::TMappedTo<TAppendable>>\
512 (alib::boxing::FAppend<wchar >::Appendable<TAppendable>); \
514#define ALIB_BOXING_BOOTSTRAP_REGISTER_FAPPEND_FOR_APPENDABLE_TYPE_X(TAppendable) \
515alib::boxing::BootstrapRegister<FAppend<xchar >, alib::boxing::TMappedTo<TAppendable>>\
516 (alib::boxing::FAppend<xchar >::Appendable<TAppendable>); \
#define ATMP_VOID_IF(Cond)
#define ATMP_T_IF(T, Cond)
monomem::MonoAllocator MonoAllocator
Type alias in namespace alib.
static void WrappedAppendable(const Box &self, strings::TAString< TChar > &target)
static void Appendable(const Box &self, strings::TAString< TChar > &target)
void(*)(const Box &self, strings::TAString< TChar > &target) Signature
void(*)(boxing::Box &self, monomem::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