GLSL Struct 1.4.0
glslstruct
Loading...
Searching...
No Matches
glslstruct::utils::base_parser_patterns Struct Reference

all parser patterns in one struct More...

#include <base_parser.hpp>

Collaboration diagram for glslstruct::utils::base_parser_patterns:
[legend]

Static Public Attributes

static const auto scalarsPattern = pcre2cpp::regex(R"(^\s*+(?<scalar>(?>bool|double|float|u?int))\s*+$)")
 pattern to get scalar data
static const auto vecPattern = pcre2cpp::regex(R"(^\s*+(?>(?<scalar>[idbuf])?vec(?<length>[2-4]))\s*+$)")
 pattern to get vec data
static const auto matPattern
 pattern to get mat data
static const auto variablePattern
 pattern to get variable data
static const auto multiVariablesPattern
 pattern to get multiple variables
static const auto structPattern
 pattern to get struct data
static const auto multiStructsPattern
 pattern to get multiple structs

Detailed Description

all parser patterns in one struct

Member Data Documentation

◆ matPattern

const auto glslstruct::utils::base_parser_patterns::matPattern
inlinestatic
Initial value:
=
pcre2cpp::regex(R"(^\s*+(?>(?<scalar>[idbuf])?mat(?<cols>[2-4])(?>(?:x(?<rows>[2-4]))?))\s*+$)")

pattern to get mat data

◆ multiStructsPattern

const auto glslstruct::utils::base_parser_patterns::multiStructsPattern
inlinestatic
Initial value:
= pcre2cpp::regex(
R"(\s*+(?<struct>(?>struct|layout\s*+\‍([^)]*+\)\s*+(?>uniform|(?:\w++\s++)?buffer))\s++(?>(?:[a-zA-Z_]\w*+))\s*+\{(?>[^}]*+)\}\s*+(?>(?:\w*+\s*+));\s*+))",
pcre2cpp::compile_options_bits::Multiline
)

pattern to get multiple structs

◆ multiVariablesPattern

const auto glslstruct::utils::base_parser_patterns::multiVariablesPattern
inlinestatic
Initial value:
= pcre2cpp::regex(
R"((?>(?<=^|;))\s*+(?<var>[a-zA-Z_]\w*+\s++[a-zA-Z_]\w*+(?>(?:\s*+\‍[\s*+\d*+\s*+\‍])*+))\s*+(?:;|$))",
pcre2cpp::compile_options_bits::Multiline
)

pattern to get multiple variables

◆ scalarsPattern

const auto glslstruct::utils::base_parser_patterns::scalarsPattern = pcre2cpp::regex(R"(^\s*+(?<scalar>(?>bool|double|float|u?int))\s*+$)")
inlinestatic

pattern to get scalar data

◆ structPattern

const auto glslstruct::utils::base_parser_patterns::structPattern
inlinestatic
Initial value:
=
pcre2cpp::regex(R"(^\s*+(?>(?>struct)\s++(?>(?<name>[a-zA-Z_]\w*+))\s*+(?>\{(?<body>[^}]*+)\})\s*+;)\s*+$)")

pattern to get struct data

◆ variablePattern

const auto glslstruct::utils::base_parser_patterns::variablePattern
inlinestatic
Initial value:
= pcre2cpp::regex(
R"(^\s*+(?>(?<type>[a-zA-Z_]\w*+))\s++(?>(?<name>[a-zA-Z_]\w*+))\s*+(?>(?<array>\‍[\s*+(?<count>\d+)?\s*+\‍]))?\s*+(?>;?)\s*+$)"
)

pattern to get variable data

◆ vecPattern

const auto glslstruct::utils::base_parser_patterns::vecPattern = pcre2cpp::regex(R"(^\s*+(?>(?<scalar>[idbuf])?vec(?<length>[2-4]))\s*+$)")
inlinestatic

pattern to get vec data