Advertisement
Guest User

Parsing.h

a guest
Apr 19th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.98 KB | None | 0 0
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <iostream>
  5.  
  6.  
  7. namespace ulib
  8. {
  9.  
  10.     namespace parsing
  11.     {
  12.         using parsable = std::string;
  13.         using tag = std::string;
  14.         using parsable_vector = std::vector<parsable>;
  15.         using tag_vector = std::vector<tag>;
  16.  
  17.  
  18.         enum parse_mode
  19.         {
  20.             PREFIX,
  21.             INFIX,
  22.             SUFFIX,
  23.         };
  24.  
  25.  
  26.  
  27.  
  28.         const bool IsNullTerminated(const parsable&);
  29.  
  30.         const parsable Parse(const parse_mode&, const tag&, const parsable&);
  31.         const parsable_vector Parse(const parse_mode&, const tag&, const parsable_vector&);
  32.  
  33.  
  34.         const parsable_vector ParseTags(const parse_mode, const tag_vector&, const parsable&);
  35.         const parsable_vector ParseTags(const parse_mode, const tag_vector&, const parsable_vector&);
  36.  
  37.  
  38.         const parsable ParseInfix(const tag&, const parsable&);
  39.         const parsable ParseInfix(const tag&, const parsable_vector&);
  40.  
  41.         const parsable ParseFirstInfix(const tag&, const parsable&);
  42.         const parsable ParseFirstInfix(const tag&, const parsable_vector&);
  43.  
  44.         const parsable_vector ParseInfixes(const tag&, const parsable&);
  45.         const parsable_vector ParseInfixes(const tag&, const parsable_vector&);
  46.  
  47.  
  48.         const parsable ParseSuffix(const tag&, const parsable&);
  49.         const parsable ParseSuffix(const tag&, const parsable_vector&);
  50.  
  51.         const parsable ParseFirstSuffix(const tag&, const parsable&);
  52.         const parsable ParseFirstSuffix(const tag&, const parsable_vector&);
  53.  
  54.         const parsable_vector ParseSuffixes(const tag&, const parsable&);
  55.         const parsable_vector ParseSuffixes(const tag&, const parsable_vector&);
  56.  
  57.  
  58.         const parsable ParsePrefix(const tag&, const parsable&);
  59.         const parsable ParsePrefix(const tag&, const parsable_vector&);
  60.  
  61.         const parsable ParseFirstPrefix(const tag&, const parsable&);
  62.         const parsable ParseFirstPrefix(const tag&, const parsable_vector&);
  63.  
  64.         const parsable_vector ParsePrefixes(const tag&, const parsable&);
  65.         const parsable_vector ParsePrefixes(const tag&, const parsable_vector&);
  66.     }
  67.     using namespace parsing;
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement