cppx-core
C_str_.hpp
Go to the documentation of this file.
1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi").
2 
27 #include <cppx-core/language/types/type-makers.hpp> // cppx::(P_, Const_, Unconst_)
28 
29 namespace cppx
30 {
31  // Enable_if_<is_a_cpp03_char_type_<Unconst_<Char>>>
32  template< class Char >
33  using C_str_ = P_<Const_<Char>>; // Effectively `Char const*`.
34 
35  template< class Char >
36  using Mutable_c_str_ = P_<Unconst_<Char>>; // Effectively `Unconst_<Char>*`.
37 
38  using C_str = C_str_<char>; // Effectively `char const*`.
39  using Wide_c_str = C_str_<wchar_t>; // Effectively `wchar_t const*`.
40  using Mutable_c_str = Mutable_c_str_<char>; // Effectively `char*`.
41  using Mutable_wide_c_str = Mutable_c_str_<wchar_t>; // Effectively `wchar_t*`.
42 
43 } // namespace cppx
Some_type * P_
Creates a raw pointer type.
Mutable_c_str_< char > Mutable_c_str
Definition: C_str_.hpp:40
P_< Const_< Char > > C_str_
Definition: C_str_.hpp:33
Mutable_c_str_< wchar_t > Mutable_wide_c_str
Definition: C_str_.hpp:41
Type_choice_, Unptr_, Unref_, Signed_, Unsigned_, Const_, Unconst_ and Array_of_.
P_< Unconst_< Char > > Mutable_c_str_
Definition: C_str_.hpp:36
C_str_< char > C_str
Definition: C_str_.hpp:38
C_str_< wchar_t > Wide_c_str
Definition: C_str_.hpp:39