13 #ifndef OGLPLUS_GLSL_STRING_1207111232_HPP
14 #define OGLPLUS_GLSL_STRING_1207111232_HPP
16 #include <oglplus/config/compiler.hpp>
24 #if !OGLPLUS_NO_INITIALIZER_LISTS
25 #include <initializer_list>
40 OGLPLUS_NOEXCEPT(
true)
45 template <std::
size_t N>
47 OGLPLUS_NOEXCEPT(
true)
54 , _len(GLint(str.
size()))
59 , _len(GLint(str.size()))
64 , _len(GLint(v.size()))
67 template <std::
size_t N>
70 , _len(GLint(a.size()))
73 GLsizei Count(
void)
const
74 OGLPLUS_NOEXCEPT(
true)
79 const GLchar*
const* Parts(
void)
const
80 OGLPLUS_NOEXCEPT(
true)
85 GLint
const * Lengths(
void)
const
86 OGLPLUS_NOEXCEPT(
true)
88 return (_len<0)?(
nullptr):(&_len);
98 const GLchar*
const* _strs;
103 GLSLStrings(GLsizei count,
const GLchar*
const * strs)
104 OGLPLUS_NOEXCEPT(
true)
110 GLSLStrings(GLsizei count,
const GLchar*
const* strs,
const GLint* lens)
111 OGLPLUS_NOEXCEPT(
true)
117 template <std::
size_t N>
119 OGLPLUS_NOEXCEPT(
true)
126 : _count(GLsizei(v.size()))
131 template <std::
size_t N>
133 : _count(GLsizei(a.size()))
138 #if !OGLPLUS_NO_INITIALIZER_LISTS
139 GLSLStrings(
const std::initializer_list<const GLchar*>& l)
140 : _count(GLsizei(l.size()))
146 GLsizei Count(
void)
const
147 OGLPLUS_NOEXCEPT(
true)
152 const GLchar*
const* Parts(
void)
const
153 OGLPLUS_NOEXCEPT(
true)
158 GLint
const * Lengths(
void)
const
159 OGLPLUS_NOEXCEPT(
true)
167 #endif // include guard
const_iterator begin(void) const
Returns iterator to the first character.
Definition: ref_tpl.hpp:170
String type definition and related functions.
std::size_t size(void) const
Return the size (length) string.
Definition: ref_tpl.hpp:149
Class for passing a set of strings as a Source to a Shader.
Definition: glsl_string.hpp:94
String const reference wrapper template.
Definition: ref_tpl.hpp:72
::std::basic_string< GLchar > String
String class.
Definition: def.hpp:36
Class for passing a single string as a Source to a Shader.
Definition: glsl_string.hpp:31