Support Class Library
A set of tools providing classes and utility
Classes | Namespaces | Macros
CharTraits.h File Reference
#include <scl/macros.h>
#include <scl/tools/meta/exists.h>
#include <scl/tools/meta/is_same.h>
#include <scl/concepts/SemiRegular.h>
#include <scl/concepts/Invocable.h>

Go to the source code of this file.

Classes

struct  scl::concepts::CharTraits< T, CharT >
 CharTraits concept. More...
 

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::concepts
 A lightweight concept-like library for C++11.
 

Macros

#define SCL_ASSERT_TYPE(type)   static_asssert(META::exists<T::type>(), "CharTraits<T, CharT>: T::type should exist")
 
#define SCL_TYPE(type)   typename T::type
 
#define SCL_char   std::declval<CharT>()
 
#define SCL_rptr   std::declval<CharT*>()
 
#define SCL_ptr   std::declval<const CharT*>()
 
#define SCL_size   std::declval<std::size_t>()
 
#define SCL_int   std::declval<int>()
 

Macro Definition Documentation

◆ SCL_ASSERT_TYPE

#define SCL_ASSERT_TYPE (   type)    static_asssert(META::exists<T::type>(), "CharTraits<T, CharT>: T::type should exist")

Definition at line 9 of file CharTraits.h.

◆ SCL_char

#define SCL_char   std::declval<CharT>()

Definition at line 11 of file CharTraits.h.

◆ SCL_int

#define SCL_int   std::declval<int>()

Definition at line 15 of file CharTraits.h.

◆ SCL_ptr

#define SCL_ptr   std::declval<const CharT*>()

Definition at line 13 of file CharTraits.h.

◆ SCL_rptr

#define SCL_rptr   std::declval<CharT*>()

Definition at line 12 of file CharTraits.h.

◆ SCL_size

#define SCL_size   std::declval<std::size_t>()

Definition at line 14 of file CharTraits.h.

◆ SCL_TYPE

#define SCL_TYPE (   type)    typename T::type

Definition at line 10 of file CharTraits.h.