libqi-api  release-2.5.3-2016-11-18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Functions
stringtypeinterface.hxx File Reference
#include <algorithm>
#include <qi/os.hpp>
#include <qi/type/detail/structtypeinterface.hxx>

Go to the source code of this file.

Classes

class  qi::StringTypeInterfaceImpl
 
class  qi::TypeImpl< std::string >
 
class  qi::TypeCStringImpl
 
class  qi::TypeImpl< char * >
 
class  qi::TypeImpl< char[I]>
 
class  qi::TypeEquivalentString< T, F >
 

Namespaces

 qi
 Deprecated in 2.5. Use int8_t from <cstdint>.
 

Macros

#define _QITYPE_DETAIL_TYPESTRING_HXX_
 
#define QI_EQUIVALENT_STRING_REGISTER(type, func)
 

Functions

template<class Func , class... Args>
auto qi::callWithInstance (Func &&f, Args &&...args) -> decltype(std::forward< Func >(f)(std::forward< Args >(args)...))
 
template<class Func , class Obj , class... Args>
auto qi::callWithInstance (Func &&f, Obj &&o, Args &&...args) -> decltype((std::forward< Obj >(o).*std::forward< Func >(f))(std::forward< Args >(args)...))
 
StringTypeInterface::ManagedRawString qi::makeManagedString (const std::string &s)
 
StringTypeInterface::ManagedRawString qi::makeManagedString (std::string &&s)
 
template<typename T , typename F >
StringTypeInterface * qi::makeTypeEquivalentString (T *, F f)
 

Macro Definition Documentation

#define _QITYPE_DETAIL_TYPESTRING_HXX_

Definition at line 8 of file stringtypeinterface.hxx.

#define QI_EQUIVALENT_STRING_REGISTER (   type,
  func 
)
Value:
static bool BOOST_PP_CAT(__qi_registration, __COUNTER__) \
= qi::registerType(typeid(type), qi::makeTypeEquivalentString((type*)0, func))
StringTypeInterface * makeTypeEquivalentString(T *, F f)
bool registerType(const std::type_info &typeId, TypeInterface *type)
Runtime Type factory setter.

Register type type in the type system as string kind, using constructor for setter, and function func for getter

Definition at line 179 of file stringtypeinterface.hxx.