IOSS 2.0
Loading...
Searching...
No Matches
Ioss_Glob.h File Reference
#include <exception>
#include <iostream>
#include <memory>
#include <stddef.h>
#include <string>
#include <tuple>
#include <vector>
#include "ioss_export.h"
Include dependency graph for Ioss_Glob.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Ioss::glob::Error
 
class  Ioss::glob::State< charT >
 
class  Ioss::glob::StateFail< charT >
 
class  Ioss::glob::StateMatch< charT >
 
class  Ioss::glob::Automata< charT >
 
class  Ioss::glob::StateChar< charT >
 
class  Ioss::glob::StateAny< charT >
 
class  Ioss::glob::StateStar< charT >
 
class  Ioss::glob::SetItem< charT >
 
class  Ioss::glob::SetItemChar< charT >
 
class  Ioss::glob::SetItemRange< charT >
 
class  Ioss::glob::StateSet< charT >
 
class  Ioss::glob::StateGroup< charT >
 
class  Ioss::glob::Token< charT >
 
class  Ioss::glob::Lexer< charT >
 
class  Ioss::glob::AstNode< charT >
 
class  Ioss::glob::AstVisitor< charT >
 
class  Ioss::glob::CharNode< charT >
 
class  Ioss::glob::RangeNode< charT >
 
class  Ioss::glob::SetItemsNode< charT >
 
class  Ioss::glob::PositiveSetNode< charT >
 
class  Ioss::glob::NegativeSetNode< charT >
 
class  Ioss::glob::StarNode< charT >
 
class  Ioss::glob::AnyNode< charT >
 
class  Ioss::glob::GroupNode< charT >
 
class  Ioss::glob::ConcatNode< charT >
 
class  Ioss::glob::UnionNode< charT >
 
class  Ioss::glob::GlobNode< charT >
 
class  Ioss::glob::Parser< charT >
 
class  Ioss::glob::AstConsumer< charT >
 
class  Ioss::glob::ExtendedGlob< charT >
 
class  Ioss::glob::SimpleGlob< charT >
 
class  Ioss::glob::BasicGlob< charT, globT >
 
class  Ioss::glob::MatchResults< charT >
 

Namespaces

namespace  Ioss
 The main namespace for the Ioss library.
 
namespace  Ioss::glob
 

Macros

#define TOKEN(X, Y)   X,
 
#define TOKEN(X, Y)   #X,
 
#define GLOB_AST_NODE_LIST(V)
 
#define DECLARE_TYPE_CLASS(type)   template <class charT> class type;
 
#define DECLARE_VIRTUAL_FUNC(type)    virtual void Visit##type(type<charT> * /*node*/) {}
 

Typedefs

template<class charT >
using Ioss::glob::String = std::basic_string<charT>
 
template<class charT >
using Ioss::glob::AstNodePtr = std::unique_ptr<AstNode<charT>>
 
template<class charT >
using Ioss::glob::extended_glob = ExtendedGlob<charT>
 
template<class charT >
using Ioss::glob::no_extended_glob = SimpleGlob<charT>
 
template<class charT , class globT = extended_glob<charT>>
using Ioss::glob::basic_glob = BasicGlob<charT, globT>
 
using Ioss::glob::glob = basic_glob<char, extended_glob<char>>
 
using Ioss::glob::wglob = basic_glob<wchar_t, extended_glob<wchar_t>>
 
using Ioss::glob::cmatch = MatchResults<char>
 
using Ioss::glob::wmatch = MatchResults<wchar_t>
 

Enumerations

enum class  Ioss::glob::StateType {
  Ioss::glob::MATCH , Ioss::glob::FAIL , Ioss::glob::CHAR , Ioss::glob::QUESTION ,
  Ioss::glob::MULT , Ioss::glob::SET , Ioss::glob::GROUP , Ioss::glob::UNION
}
 
enum class  Ioss::glob::TokenKind { Ioss::glob::UNKNOWN = 0 , Ioss::glob::CHAR , Ioss::glob::TOKEN }
 

Functions

template<class T , class U = T>
Ioss::glob::exchange (T &obj, U &&new_value)
 
template<class charT >
std::ostream & Ioss::glob::operator<< (std::ostream &stream, const Token< charT > &token)
 
template<class charT , class globT = extended_glob<charT>>
bool Ioss::glob::glob_match (const String< charT > &str, BasicGlob< charT, globT > &glob)
 
template<class charT , class globT = extended_glob<charT>>
bool Ioss::glob::glob_match (const charT *str, BasicGlob< charT, globT > &glob)
 
template<class charT , class globT = extended_glob<charT>>
bool Ioss::glob::glob_match (const String< charT > &str, MatchResults< charT > &res, BasicGlob< charT, globT > &glob)
 
template<class charT , class globT = extended_glob<charT>>
bool Ioss::glob::glob_match (const charT *str, MatchResults< charT > &res, BasicGlob< charT, globT > &glob)
 

Variables

static const char * Ioss::glob::token_name_str []
 

Macro Definition Documentation

◆ DECLARE_TYPE_CLASS

#define DECLARE_TYPE_CLASS ( type)    template <class charT> class type;

◆ DECLARE_VIRTUAL_FUNC

#define DECLARE_VIRTUAL_FUNC ( type)     virtual void Visit##type(type<charT> * /*node*/) {}

◆ GLOB_AST_NODE_LIST

#define GLOB_AST_NODE_LIST ( V)
Value:
V(CharNode) \
V(RangeNode) \
V(SetItemsNode) \
V(PositiveSetNode) \
V(NegativeSetNode) \
V(StarNode) \
V(AnyNode) \
V(GroupNode) \
V(ConcatNode) \
V(UnionNode) \
V(GlobNode)

◆ TOKEN [1/2]

#define TOKEN ( X,
Y )   X,

◆ TOKEN [2/2]

#define TOKEN ( X,
Y )   #X,